很早之前写的一个推箱子的游戏

目录

  • 最终效果
  • 代码

最终效果

代码

#include<stdio.h>
#include<stdlib.h>
#include<graphics.h>
#include<Windows.h>
#include<conio.h>
int map[8][8]={1,1,1,1,1,1,1,1,
1,0,0,0,0,0,0,1,
1,3,1,1,0,1,3,1,
1,0,1,1,0,1,0,1,
1,0,0,4,0,0,4,1,
1,0,1,1,1,5,0,1,
1,0,0,0,0,0,0,1,
1,1,1,1,1,1,1,1
};
void printf_map(int map[][8])
{int i,j;for(i=0;i<8;i++){for(j=0;j<8;j++){switch(map[i][j]){case 0:printf("  ");//两个空格,代表路break;case 1:printf("■");//代表墙break;case 3:printf("☆");//目的地break;case 4:printf("★");//箱子break;case 5:case 8:printf("λ");//人break;case 7:printf("◎");//箱子推进了目的地break;}}printf("\n");}
}
//按键交互
void keydown()
{int i,j;//找到人的位置for(i=0;i<8;i++){for(j=0;j<8;j++){if(map[i][j]==5||map[i][j]==8){break;}}if(map[i][j]==5||map[i][j]==8){break;}}char userkey=_getch();switch(userkey){case'w':case'W':case 72://只是人走if(map[i-1][j]==0||map[i-1][j]==3){map[i-1][j]+=5;//移动到的位置加5map[i][j]-=5;//原来位置减5}//人推箱子走if(map[i-1][j]==4||map[i-1][j]==7){//箱子移动的条件if(map[i-2][j]==0||map[i-2][j]==3){map[i-2][j]+=4;//箱子来了map[i-1][j]+=1;//箱子走了,人来了map[i][j]-=5;//人走了}}break;case's':case'S':case 80://只是人走if(map[i+1][j]==0||map[i+1][j]==3){map[i+1][j]+=5;//移动到的位置加5map[i][j]-=5;//原来位置减5}//人推箱子走if(map[i+1][j]==4||map[i+1][j]==7){//箱子移动的条件if(map[i+2][j]==0||map[i+2][j]==3){map[i+2][j]+=4;//箱子来了map[i+1][j]+=1;//箱子走了,人来了map[i][j]-=5;//人走了}}break;case'a':case'A':case 75://只是人走if(map[i][j-1]==0||map[i][j-1]==3){map[i][j-1]+=5;//移动到的位置加5map[i][j]-=5;//原来位置减5}//人推箱子走if(map[i][j-1]==4||map[i][j-1]==7){//箱子移动的条件if(map[i][j-2]==0||map[i][j-2]==3){map[i][j-2]+=4;//箱子来了map[i][j-1]+=1;//箱子走了,人来了map[i][j]-=5;//人走了}}break;case'd':case'D':case 77://只是人走if(map[i][j+1]==0||map[i][j+1]==3){map[i][j+1]+=5;//移动到的位置加5map[i][j]-=5;//原来位置减5}//人推箱子走if(map[i][j+1]==4||map[i][j+1]==7){//箱子移动的条件if(map[i][j+2]==0||map[i][j+2]==3){map[i][j+2]+=4;//箱子来了map[i][j+1]+=1;//箱子走了,人来了map[i][j]-=5;//人走了}}break;}
}
int main(void)
{system("title 推箱子游戏中");while(1){printf_map(map);keydown();system("cls");}return 0;
}

项目: 推箱子游戏【c/c++】相关推荐

  1. 基于java的推箱子游戏系统设计与实现(项目报告+答辩PPT+源代码+部署视频)

    项目报告 基于Java的推箱子游戏设计与实现 社会在进步,人们生活质量也在日益提高.高强度的压力也接踵而来.社会中急需出现新的有效方式来缓解人们的压力.此次设计符合了社会需求,Java推箱子游戏可以让 ...

  2. EasyX实现推箱子游戏

    文章目录 1 项目需求 2 模块划分 3 项目实现 3.1 地图初始化 3.2 热键控制 3.3 推箱子控制 3.4 游戏结束 1 项目需求 实现一款推箱子游戏,效果如下图所示,具体规则: 箱子只能推 ...

  3. 一文教你使用java开发一款推箱子游戏

    导读:社会在进步,人们生活质量也在日益提高.高强度的压力也接踵而来.社会中急需出现新的有效方式来缓解人们的压力.此次设计符合了社会需求,Java推箱子游戏可以让人们在闲暇之余,体验游戏的乐趣.具有操作 ...

  4. 【猿码】java swing实现喜羊羊与灰太狼推箱子游戏附带视频开发教程可做为Java毕设大作业

    大家好,今天给大家演示一下由Java swing实现的推箱子小游戏的一款项目,其图标用的是喜羊羊与灰太狼,所以又称喜羊羊与灰太狼版的推箱子游戏,该项目运行环境为普通的Java环境,jdk版本不限,下面 ...

  5. 喜羊羊与灰太狼java_java swing实现喜羊羊与灰太狼推箱子游戏附带视频开发教程...

    <p style="font-family:" font-size:15px;text-indent:2em;color:#555555;background-color:# ...

  6. 小白的编程经验(二维数组推箱子游戏)

    推箱子游戏和迷宫游戏有异曲同工之妙,不过在游戏玩法实现上略有不同,需要考虑的情况更多更复杂. 项目代码放在了码云(gitee)上,有兴趣的可以下载看看. https://gitee.com/YHF_2 ...

  7. 【STM32单片机】推箱子游戏设计

    文章目录 一.主要功能 二.使用步骤 三.硬件资源 1.硬件准备 2.硬件连接 四.软件设计 1.软件结构 2.主要代码 五.实验现象 联系作者 一.主要功能 1.OLED显示游戏地图和关卡 2.按键 ...

  8. 【java毕业设计】基于java+swing+Eclipse的推箱子游戏设计与实现(毕业论文+程序源码)——推箱子游戏

    基于java+swing+Eclipse的推箱子游戏设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于java+swing+Eclipse的推箱子游戏设计与实现,文章末尾附有本毕业设计的论文 ...

  9. 使用C++代码打造:史上最恶心的“推箱子”游戏,你敢再坑爹点吗?

    根据J2ME版推箱子游戏改编,现改版为VC++版,功能上一模一样,不过现在可以在Windows上运行了,而非限制于手机.游戏界面看上去还不错. 项目截图: 代码截图: 推箱子游戲是一個來自日本的古老游 ...

最新文章

  1. Windows 安装 MongoDB 5.0.2版本
  2. 【C++】 C++标准模板库(三) Map
  3. php要输出为空值怎么写,thinkphp3.0基础模板引擎变量为空时输出默认值
  4. Linux文件去掉^M
  5. vue控制台报错Duplicate keys detected: 'xxxx'. This may cause an update error.解决方案
  6. 【思维】Congestion Charging Zone
  7. 她是如何从传统金融行业转行产品经理的?
  8. WORD 如何在方框里打勾?
  9. 案例-分页按钮(CSS3)
  10. [转载]一个本科生在世界五大顶尖咨询公司实习心得
  11. [XA]读书感想:个人对敏捷软件开发宣言的理解
  12. CUDA10.0网盘下载
  13. js导出excel格式错误的问题
  14. 我奋斗了18年还是不能和你坐在一起喝咖啡
  15. 解决win10微软应用商店打不开的问题
  16. P800 GPS 地图安装教程
  17. php7关闭缓存、禁用缓存
  18. 程序员接私活10个月接30单,纯赚40w!
  19. FX110网:鳄鱼线(Alligator)指标的操作应用
  20. python工程师都习惯用哪些开发工具呢

热门文章

  1. linux ubuntu 16.04下deb文件的安装以及一些问题的解决
  2. 关于你不知道的特征归一化/标准化
  3. 201571030335/201571030320《小学四则运算练习软件软件需求说明》结对项目报告
  4. test 2016-12-28
  5. android双击返回键退出程序的实现
  6. wcf 远程终结点已终止该序列 可靠会话出错
  7. (hibernate之三)session的delete方法
  8. ESP32 OTA 接口简略说明
  9. 逻辑分析仪抓取CAN总线波特率
  10. 实验探究 ioremap