C++实现推箱子小游戏(源代码)
没想到我竟然突破了200访问(2020.2.9)
大神勿笑 嘿嘿 (暗自欢喜中…)
>求关注,求点赞,求评论<
Thanks♪(・ω・)ノ
#include <stdio.h>
#include <conio.h>
#include<stdlib.h> int map[9][11] = {{0,1,1,1,1,1,1,1,1,1,0}, //0代表空地{0,1,0,0,0,1,0,0,0,1,0}, //1代表墙{0,1,0,4,4,4,4,4,0,1,0}, //3代表目的地{0,1,0,4,0,4,0,4,0,1,1}, //4代表箱子{0,1,0,0,0,0,0,0,4,0,1}, //5代表人 {1,1,0,1,1,1,1,0,4,0,1},{1,0,8,3,3,3,3,1,0,0,1}, //2 3 4 5 6 7 8 9 1 0{1,0,3,3,3,3,3,0,0,1,1},{1,1,1,1,1,1,1,1,1,1,0} };//绘制地图 //二维数组+switch()
void DrawMap()
{//遍历二维数组 //0 打印空格 //1 墙 //3 目的地 //什么结构?for (int i = 0; i < 9; i++){for (int j = 0; j < 11; j++){//if else switchswitch (map[i][j]){case 0:printf(" ");break;case 1:printf("■");break;case 3:printf("☆");break;case 4:printf("□");break;case 5:printf("♀"); //5人break;case 7: //4 + 3 箱子在目的地中printf("★");break;case 8: // 5 + 3 人在目的地当中 人?printf("♀");break;}}printf("\n");}
}void PlayGame()
{int r, c; //人的下标 //for (int i = 0; i < 9; i++){for (int j = 0; j < 11; j++){if (map[i][j] == 5||map[i][j]==8) //i j 人的下标?{r = i;c = j;}}}char ch; //字符变量ch = getch(); //键盘的输入保存到字符中// getch() getchar() 接收键盘字符// getch()直接接收 不显示回文 getchar()显示回文可以修改 enter键结束//根据不同的按键 改变不同的值. 分支.switch (ch){case 'W': //W A S D方向 72 80 75 77 虚拟键值 ascii windowVK_UP VK_TAB VK_RETUNEcase 'w':case 72:if (map[r - 1][c] == 0|| map[r - 1][c] == 3) {map[r - 1][c] += 5;map[r][c] -= 5;}else if (map[r - 1][c] == 4 || map[r - 1][c] == 7){if (map[r - 2][c] == 0 || map[r - 2][c] == 3){map[r - 2][c] += 4;map[r - 1][c] += 1;map[r][c] -= 5;}}break;case 'S': //enter按键的作用 确认 返回case 's':case 80:if (map[r + 1][c] == 0 || map[r + 1][c] == 3){map[r + 1][c] += 5;map[r][c] -= 5;}else if (map[r + 1][c] == 4 || map[r+ 1][c] == 7){if (map[r + 2][c] == 0 || map[r + 2][c] == 3){map[r + 2][c] += 4;map[r + 1][c] += 1;map[r][c] -= 5;}}break;case 'A':case 'a':case 75:if (map[r ][c - 1] == 0 || map[r ][c - 1] == 3){map[r ][c - 1] += 5;map[r][c] -= 5;}else if (map[r][c - 1] == 4 || map[r][c - 1] == 7){if (map[r ][c - 2] == 0 || map[r ][c - 2] == 3){map[r ][c - 2] += 4;map[r ][c - 1] += 1;map[r][c] -= 5;}}break;case 'D':case 'd':case 77:if (map[r][c + 1] == 0 || map[r][c + 1] == 3){map[r][c + 1] += 5;map[r][c] -= 5;}else if (map[r][c + 1] == 4 || map[r][c + 1] == 7){if (map[r][c + 2] == 0 || map[r][c + 2] == 3){map[r][c + 2] += 4;map[r][c + 1] += 1;map[r][c] -= 5;}}break;}
}//
int main() //主函数
{while (1){system("cls");DrawMap();PlayGame();}return 0;
}
这次比较短
这其实是我第六次发帖子哟!
你的一个赞,一个关注,一个评论就是对我这个中学生最大的鼓励
>求关注,求点赞,求评论<
Thanks♪(・ω・)ノ
C++实现推箱子小游戏(源代码)相关推荐
- python推箱子小游戏源代码_Python制作推箱子小游戏
开发工具 Python版本:3.6.4 相关模块: pygame模块: 以及一些Python自带的模块. 环境搭建 安装Python并添加到环境变量,pip安装需要的相关模块即可. 原理简介 游戏简介 ...
- 推箱子matlab源代码,C++实现推箱子小游戏源码
本文实例为大家分享了C++实现推箱子小游戏的具体代码,供大家参考,具体内容如下 功能尚为完善. // ConsoleApplication2.cpp : 定义控制台应用程序的入口点. // #incl ...
- Python【小游戏合集】之自己做一个简单又好玩的推箱子小游戏
导语:哈喽铁汁们~今日游戏之旅开始! 想领取完整源码跟python学习资料可私信我或点击这行字体 这期就是带大家使用当前主流且易用的Python语言做一个简单的推箱子小游戏 现在小编的快乐源泉就是玩自 ...
- c 语言推箱子vs,C语言推箱子小游戏教程
作者GitHub-Pages个人主页 本教程GitHub-Pages链接 本教程百度云下载地址 本教程编写于2016/11/22 Dawson Lee edited this page on Beij ...
- python写推箱子_python写的推箱子小游戏
原标题:python写的推箱子小游戏 导语 Python 功能强大,可以写爬虫.服务器.数据分析.AI--当然,也可以写游戏. 用python写了个推箱子小游戏,在这里分享给大家,让我们愉快地开始吧~ ...
- python写的推箱子小游戏
作者:白露未晞me 来源:Charles的皮卡丘 导语 Python 功能强大,可以写爬虫.服务器.数据分析.AI--当然,也可以写游戏. 用python写了个推箱子小游戏,在这里分享给大家,让我们愉 ...
- 控制台推箱子小游戏C语言
自己开发的C语言控制台推箱子小游戏,基于二维数组实现,功能不多但是游戏整体较为完整,因为技术有限,所以代码暂未优化且整体显得较为臃肿,整体架构简单,代码全自主设计编写,仅作交流学习,还望大佬多多指点. ...
- c++ 小游戏_C/C++编程笔记:C语言写推箱子小游戏,大一学习C语言练手项目
C语言,作为大多数人的第一门编程语言,重要性不言而喻,很多编程习惯,逻辑方式在此时就已经形成了.这个是我在大一学习 C语言 后写的推箱子小游戏,自己的逻辑能力得到了提升,在这里同大家分享这个推箱子小游 ...
- 简单的c语言推箱子程序,完整版本的推箱子小游戏,最简单的纯C语言打造
/*推箱子小游戏 1.定义绘制样式 用二维数组的方式 2.绘制图像 3.找出当前位置 4.逻辑判断,制造动作 根据数学xy轴的规律,这里使用ij 上移,行轴上升,行数减少 下移,行数下降,函数增加 左 ...
- c#推箱子小游戏代码_推箱子小游戏V1.0制作
小游戏实践 推箱子简易版 大家好,我是努力学习争取成为优秀的Game Producer的路人猿,今天来一起做一个推箱子的简易版本V1.0!下面跟我一起做吧~ 我们用到的软件如下: 编辑类 Visual ...
最新文章
- Android与H5交互
- 面试必过之消息中间件RabbitMQ面试总结大全!
- 学习笔记(十六)——MySQL(约束与关系)
- linux yum nothing,Centos6.9 yum安装htop报错解决过程
- JavaScript ES6对Proxy的原生支持的一个例子
- php工程导致系统蓝屏,经常蓝屏是什么原因
- *和**在Python中意味着什么?它与指针和地址有关吗?
- php实现多重继承,PHP5 多重继承DEMO方法
- Linux中常用的网络命令
- windows桌面的“我的电脑”“IE”等消失的解决方法
- wireshark常用选项与功能总结【10分钟成为抓包大师】
- LinkedList的线程安全解决办法
- 解决WPS文档不加载金格office360签章的问题
- maya导入abc动画_完美动力小课堂:abc格式应用--Realflow和Maya互导
- URL.createObjectURL()
- elasticsearch学习六:学习 全文搜索引擎 elasticsearch的语法,使用kibana进行模拟测试(持续更新学习)
- 基于.net的当下传统制造业MES系统的思考(一)
- 24点计算机游戏规则,24点游戏规则和解题方法
- [分享]RFID之我的M1离线卡爆破过程
- 京东书籍信息及评论内容爬取