项目: 推箱子游戏【c/c++】
很早之前写的一个推箱子的游戏
目录
- 最终效果
- 代码
最终效果
代码
#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++】相关推荐
- 基于java的推箱子游戏系统设计与实现(项目报告+答辩PPT+源代码+部署视频)
项目报告 基于Java的推箱子游戏设计与实现 社会在进步,人们生活质量也在日益提高.高强度的压力也接踵而来.社会中急需出现新的有效方式来缓解人们的压力.此次设计符合了社会需求,Java推箱子游戏可以让 ...
- EasyX实现推箱子游戏
文章目录 1 项目需求 2 模块划分 3 项目实现 3.1 地图初始化 3.2 热键控制 3.3 推箱子控制 3.4 游戏结束 1 项目需求 实现一款推箱子游戏,效果如下图所示,具体规则: 箱子只能推 ...
- 一文教你使用java开发一款推箱子游戏
导读:社会在进步,人们生活质量也在日益提高.高强度的压力也接踵而来.社会中急需出现新的有效方式来缓解人们的压力.此次设计符合了社会需求,Java推箱子游戏可以让人们在闲暇之余,体验游戏的乐趣.具有操作 ...
- 【猿码】java swing实现喜羊羊与灰太狼推箱子游戏附带视频开发教程可做为Java毕设大作业
大家好,今天给大家演示一下由Java swing实现的推箱子小游戏的一款项目,其图标用的是喜羊羊与灰太狼,所以又称喜羊羊与灰太狼版的推箱子游戏,该项目运行环境为普通的Java环境,jdk版本不限,下面 ...
- 喜羊羊与灰太狼java_java swing实现喜羊羊与灰太狼推箱子游戏附带视频开发教程...
<p style="font-family:" font-size:15px;text-indent:2em;color:#555555;background-color:# ...
- 小白的编程经验(二维数组推箱子游戏)
推箱子游戏和迷宫游戏有异曲同工之妙,不过在游戏玩法实现上略有不同,需要考虑的情况更多更复杂. 项目代码放在了码云(gitee)上,有兴趣的可以下载看看. https://gitee.com/YHF_2 ...
- 【STM32单片机】推箱子游戏设计
文章目录 一.主要功能 二.使用步骤 三.硬件资源 1.硬件准备 2.硬件连接 四.软件设计 1.软件结构 2.主要代码 五.实验现象 联系作者 一.主要功能 1.OLED显示游戏地图和关卡 2.按键 ...
- 【java毕业设计】基于java+swing+Eclipse的推箱子游戏设计与实现(毕业论文+程序源码)——推箱子游戏
基于java+swing+Eclipse的推箱子游戏设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于java+swing+Eclipse的推箱子游戏设计与实现,文章末尾附有本毕业设计的论文 ...
- 使用C++代码打造:史上最恶心的“推箱子”游戏,你敢再坑爹点吗?
根据J2ME版推箱子游戏改编,现改版为VC++版,功能上一模一样,不过现在可以在Windows上运行了,而非限制于手机.游戏界面看上去还不错. 项目截图: 代码截图: 推箱子游戲是一個來自日本的古老游 ...
最新文章
- Windows 安装 MongoDB 5.0.2版本
- 【C++】 C++标准模板库(三) Map
- php要输出为空值怎么写,thinkphp3.0基础模板引擎变量为空时输出默认值
- Linux文件去掉^M
- vue控制台报错Duplicate keys detected: 'xxxx'. This may cause an update error.解决方案
- 【思维】Congestion Charging Zone
- 她是如何从传统金融行业转行产品经理的?
- WORD 如何在方框里打勾?
- 案例-分页按钮(CSS3)
- [转载]一个本科生在世界五大顶尖咨询公司实习心得
- [XA]读书感想:个人对敏捷软件开发宣言的理解
- CUDA10.0网盘下载
- js导出excel格式错误的问题
- 我奋斗了18年还是不能和你坐在一起喝咖啡
- 解决win10微软应用商店打不开的问题
- P800 GPS 地图安装教程
- php7关闭缓存、禁用缓存
- 程序员接私活10个月接30单,纯赚40w!
- FX110网:鳄鱼线(Alligator)指标的操作应用
- python工程师都习惯用哪些开发工具呢