❤️推箱子游戏❤️(C语言版)
Posted Linux猿
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了❤️推箱子游戏❤️(C语言版)相关的知识,希望对你有一定的参考价值。
🎈 作者:Linux猿
🎈 简介:CSDN博客专家🏆,C/C++、面试、刷题、算法尽管咨询我,关注我,有问题私聊!
🎈 关注专栏:C/C++课程设计(优质好文持续更新中……)🚀
目录
推箱子游戏大家应该非常熟悉,非常经典的一款游戏,本文来详细讲解下推箱子游戏的制作过程,赶紧来看下吧!
首先,看下效果图:
一、界面设计
1.1 主界面
主界面如下所示:
主界面主要包括开始游戏和退出游戏。
1.2 游戏界面
游戏界面是通过读取文件中的数据,然后显示到终端界面,如下所示:
二、设计思路
包括的各个函数有:
void showMap(); //输出地图
void move(char ch); //移动
void hideCursor(); //隐藏光标
void getCoord(int x, int y);//光标定位
void menu(); //选择界面
void readGameData(); //读取游戏数据
void sokoban(); //游戏主要流程
包含的数据结构有:
struct Location {
int x, y;
}target[NUM*NUM];
char map[NUM][NUM];
其中,target[NUM*NUM] 用于存储目标位置的坐标,map[NUM][NUM]用于存储地图。
主流程如下所示:
//游戏主流程
void sokoban()
{
showMap(); //展示地图
hideCursor(); //隐藏光标
while (true) {
if(_kbhit()) {
char ch = _getch(); //获取用户输入
switch (ch) {
case 'w': //上
move(ch); break;
case 's': //下
move(ch); break;
case 'a': //左
move(ch); break;
case 'd': //右
move(ch); break;
}
}
Sleep(10);
}
}
设计思路如下:
1. 读取游戏地图数据;
2. 等待用户输入;
3. 根据用户输入移动人;
4. 判断是否移动成功;
5. 循环 2 ~ 4,一直到游戏成功;
三、总结
推箱子游戏的重点在于人的移动,人可以向上下左右四个方向移动,需要判断人的前面的物体。游戏界面设计主要是根据用户的输入移动人,每次移动后判断是否成功。
🎈 欢迎小伙伴们点赞👍、收藏⭐、留言💬
以上是关于❤️推箱子游戏❤️(C语言版)的主要内容,如果未能解决你的问题,请参考以下文章