我的编程空间,编程开发者的网络收藏夹
学习永远不晚

c语言实现可自定义的游戏地图

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

c语言实现可自定义的游戏地图

本文实例为大家分享了c语言实现可自定义的游戏地图的具体代码,供大家参考,具体内容如下

博主相信每个人都有想做游戏的冲动,那么本文将给出一个用c语言制作的可自定义大小的游戏地图(包含player,撞墙设置)。废话不多说,直接给出全代码!

1.完整代码 

#include<stdio.h>
#include<windows.h>
#include<conio.h> 
 
//this is the add function 
int drawroom(int length,int height,int x,int y);
int transform(int tran);
 
//begin the function
int main()
{     
    
     int p=10;
     int q=10;
     printf("control player to move:up“8” down“2” left“4” right“6”\n");//control the player
     
     int y,x;
     int ret=1;
     int a,b;
     printf("请输入地图的大小,例如:10 10:\n");
     scanf("%d %d",&p,&q);
     printf("请输入玩家的位置:“例如:3 5”\n"); //get the first player place
     scanf("%d %d",&y,&x);
    drawroom(p,q,y,x);
    printf("\n");
   
    while(ret!=0){
        printf("\n");
        int i;
        i=0;
        int tran;
        tran=getch();
        i=transform(tran);
        
        if(i==8){
            drawroom(p,q,y-1,x);
            y=y-1;
        }
         else if(i==2){
            drawroom(p,q,y+1,x);
            y=y+1;
        }
          else if(i==4){
            drawroom(p,q,y,x-1);
            x=x-1;
        }
        else if(i==6){
            drawroom(p,q,y,x+1);
            x=x+1;
        }
        if(y==0 || x==0){
            ret=0;
            printf("\n\nyou touch the board!game over!!");
            break; 
        }
        if(y==p+1 || x==q+1){
            ret=0;
            printf("\n\nyou touch the board!game over!!");
            break;
        }
        
}
    
    
    getchar();
    system("pause");
    return 0;
}
 
int drawroom(int length,int height,int y,int x)
{   int ret=1;
    int size1=height+2;
    int size2=length+2;
    int a[size1][size2];
    int i,j;
    int count=1;
    
        for(i=0;i<size1;i++){
        for(j=0;j<size2;j++){
            a[i][j]=0;
        }
}
    a[0][0]=1;
    a[0][size2-1]=1;
    a[size1-1][0]=1;
    a[size1-1][size2-1]=1;
    for(j=1;j<size2-1;j++){
        a[0][j]=2;
    }    
    for(j=1;j<size2-1;j++){
        a[size1-1][j]=2;
    }
    for(i=1;i<size1-1;i++){
        a[i][0]=3;
    }
    for(i=1;i<size1-1;i++){
        a[i][size2-1]=3;
    }
    a[y][x]=4;
        for(i=0;i<size1;i++){
            printf("\n");
        for(j=0;j<size2;j++){
            if(a[i][j]==1){
                printf("+ ");
            }else if(a[i][j]==2){
                printf("- ");
            }else if(a[i][j]==3){
                
            printf("| ");
            }else if(a[i][j]==4){
                printf("@ ");
            }else{
                printf(". ");
              }
            }    
          }    
          printf("\n\n\n\n\n\n\n\n\n\n");
          return 0;
        }
 
int transform(int tran)
{
    int tot;
    if(tran==52)tot=4;
    if(tran==54)tot=6;
    if(tran==50)tot=2;
    if(tran==56)tot=8;
    return tot;
}

注:游戏说明:先自定义游戏地图的大小,然后自定义玩家生成在游戏棋盘中的哪个位置,最后通过数字键盘控制玩家的移动:下:2  上:8  左:4  右:6

2.运行成果

大家可以自己在游戏地图的基础上设置不同的玩家,甚至可以进行双人对战!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

c语言实现可自定义的游戏地图

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

C语言如何实现自定义扫雷游戏

这篇“C语言如何实现自定义扫雷游戏”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C语言如何实现自定义扫雷游戏”文章吧。实现过
2023-06-29

C语言如何实现拼图游戏

本篇内容介绍了“C语言如何实现拼图游戏”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!制作一款拼图小游戏#include
2023-06-08

基于C语言自制华容道游戏怎么实现

这篇文章主要介绍“基于C语言自制华容道游戏怎么实现”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“基于C语言自制华容道游戏怎么实现”文章能帮助大家解决问题。程序执行效果完整源代码// 程序:华容道//
2023-07-05

利用C语言实现一个可展开的扫雷小游戏

利用C语言实现一个可展开的扫雷小游戏?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。C语言是什么C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发,使用C语
2023-06-06

C语言实现三子棋游戏的方法

本篇内容介绍了“C语言实现三子棋游戏的方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!前言提示:是黑白棋的一种。三子棋是一种民间传统游戏,
2023-06-20

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录