目录

1.完整代码

2.运行成果


博主相信每个人都有想做游戏的冲动,那么本文将给出一个用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 playerint 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 placescanf("%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.运行成果

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

【超级干huo】用c语言制作游戏地图【可自定义】相关推荐

  1. 【超级干huo】链表和数组深度分析-(二分查找)

    链表和数组可以说是相互成就,相互弥补.本文将进一步深入比较二者的区别. 数组: 优点:①c直接支持  ②提供随机访问(随机访问:使用数组下标直接访问该数组中的任意元素) 缺点:①提前确定大小 ②插入和 ...

  2. 老司机教你用C语言制作简单实用的撩妹神器!

    你以为C语言就是提供一种编译.处理低级存储器.产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言吗?你以为C语言就只是以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌 ...

  3. 【从入门到入土系列】C语言制作小游戏-贪吃蛇:Copy+运行即可另附注释

    系列文章 本系列持续更新中,欢迎您的访问! 系列简介 本系列由唐文疏撰写,负责记录博主的学习生涯中的一点一滴.独乐乐不如众乐乐,故此分享给大家.欢迎大家一起讨论.学习和批评指点. 博主只是一个普普通通 ...

  4. c语言陷阱试题,超级经典计算机二级C语言陷阱考试题.doc

    超级经典计算机二级C语言陷阱考试题 超级经典计算机二级C语言陷阱考试题 若有定义:int a[2][3],则对a数组的第i行j列元素地址的正确引用为___d___. a)*(a[i]+j) b)(a+ ...

  5. R语言----制作数据分布图(直方图+概率密度曲线)

    R语言--制作group1和group2的分布图并输出tiff格式300dpi保存 制作分布图我选择的是制作直方图+概率密度曲线~ library(ggplot2) data<-read.csv ...

  6. 用c语言做一个五子棋程序,C语言制作简单五子棋游戏

    原标题:C语言制作简单五子棋游戏 C语言制作简单的五子棋游戏 学习C语言的人很多,但是用C语言很少,而用来为自己所用,来做游戏的人就更少了,很多人都是跟着学校学习,学校讲到哪就坐到哪,但是以后却还是不 ...

  7. 用易语言制作一款图文展示软件,点击按钮切换图片和文字说明,易语言按钮、图片框、编辑框的应用

    在如今这个商业社会,产品宣传至关重要,尤其是向目标客户发送产品相册,非常有利于促进更多商品的交易.用易语言制作一款图文同时展示的小软件,通过网络发送给客户,客户很方便了解产品详情,从而提升客户体验.此 ...

  8. 简单五子棋游戏c语言简单,C语言制作简单的五子棋游戏

    原标题:C语言制作简单的五子棋游戏 C语言制作简单的五子棋游戏 学习C语言的人很多,但是用C语言很少,而用来为自己所用,来做游戏的人就更少了,很多人都是跟着学校学习,学校讲到哪就坐到哪,但是以后却还是 ...

  9. c语言动态图形代码 叮当猫,C语言制作图形马赛克处理技术,网友:这小子不进腾讯可惜了!-Go语言中文社区...

    C语言制作图形马赛克处理技术,网友:这小子不进腾讯可惜了! 每个人都有讨厌的人,例如我就比较讨厌三个姓马的人,马云.马化腾和马赛克.马云骗女人的钱,马化腾骗孩子的钱,马赛克阻挡了人们的分享和交流 .那 ...

最新文章

  1. python求众数程序_python求众数问题实例
  2. spingboot使用redis连接池报错
  3. rest_framework10:base64补充/修改头像
  4. 定了!2022考研时间公布!
  5. maya刷权重时有个叉_运营小白如何注册一个高权重的抖音账号?
  6. android+动画悬浮窗口,悬浮窗能实现自定Animation动画效果吗?
  7. 常用Python文件
  8. 面试题--------3、string stringbuffer stringbuilder的区别
  9. 反编译DLL。并且修改DLL内容
  10. JS-JavaScript打开新页面的两种方式:当前页面打开和新页面打开
  11. 大数据?什么是大数据(大数据的概念)?大数据的价值?
  12. echarts 直方图加正态_在频数直方图上绘制正态分布曲线
  13. 业务部门战略规划与支撑部门战略规划
  14. 前端优化之二 图片优化——质量与性能的博弈
  15. MATLAB(1)MATLAB工作环境
  16. 用友NC系统与一卡通集成解决方案
  17. ESX VMware是什么
  18. 今天,我们求知若渴、虚心若愚(附技术PPT)
  19. C#实现向手机发送验证码短信
  20. SpringBoot配置过滤器和拦截器

热门文章

  1. vtk中画几何图形存储为vtk文件并在窗口显示
  2. 域名证书和SSL证书一样的吗?有什么区别呢
  3. 羊了怎么居家办公?免费不限速的远程控制软件RayLink一解燃眉之急!!
  4. 怎么将webm文件转换成MP4格式在手机上播放
  5. 4016: 辉夜的夜空明珠(moon)
  6. matlab(simulink)里怎么求一个波形的动态平均值
  7. 机器人动力学 - 机器人学中的惯性矩阵坐标转换及在SolidWorks中的测量
  8. mysql解析json_mysql解析简单json字符串
  9. 厉害!张近东钦点,80后郝嘉成苏宁北京300亿市场掌舵人
  10. 2018版ISTQB FL基础级大纲全解析