重温经典,推箱子游戏,你能闯到第几关?可自行添加关卡

Posted Linux猿

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了重温经典,推箱子游戏,你能闯到第几关?可自行添加关卡相关的知识,希望对你有一定的参考价值。

🎈 作者:Linux猿

🎈 简介:CSDN博客专家🏆,华为云享专家🏆,Linux、C/C++、云计算、物联网、面试、刷题、算法尽管咨询我,关注我,有问题私聊!

🎈 关注专栏:C/C++/Java课程设计100例 优质好文持续更新中……🚀🚀🚀

🎈 欢迎小伙伴们点赞👍、收藏⭐、留言💬


目录

 一、第一版功能

二、加强版功能

2.1 关卡增强

2.2 其它功能

三、自行添加关卡

四、后续更新


本文是推箱子游戏加强版,第一版本的实现请看这里【课程设计】 推箱子游戏(源码+详解),下面先来看下加强版的效果图!

图1 第一关

图2 第二关

图3 第三关

图4 第四关

 一、第一版功能

第一版实现的功能比较基础,主要包含程序主要架构,并且关卡仅有一关,关于第一版的详细功能和源码请点击:【课程设计】 推箱子游戏(源码+详解)

二、加强版功能

2.1 关卡增强

新版的关卡增加到了四关,每通过一关可以通向下一关,不能跳关,第一关的界面如下所示:

图5 第一关结束

每通过一关,可以选择进入下一关,输入 Y 即可。输入 N 则返回「」主界面,主界面如下所示。

图6 主界面

返回主界面后可以选择开始游戏或退出游戏。

主要函数如下所示。

void game();
void showMap();         //输出地图
void move(char ch);     //移动
void hideCursor();      //隐藏光标
void getCoord(int x, int y);//光标定位
void menu();            //选择界面
void readGameData();    //读取游戏数据
void sokoban();         //游戏主要流程

2.2 其它功能

在每一关的右侧,会有两个操作,一个是输入 r 重试本关,输入 m 返回主界面,所有关都通过后会自动返回主界面。

三、自行添加关卡

关卡的数据存储在 data.txt 文件中,可以根据规则自行增加关卡,主要规则如下:

11 11 6 6
11111111111
11111C11111
11111211111
11111211111
11111B11111
1C22BAB22C1
11111B11111
11111211111
11111211111
11111C11111
11111111111

上述数据是第一关的地图,其中数据表示如下:

1 表示墙,人和箱子都不能通过和移动;

2 表示空格,人和箱子均可通过;

B 表示箱子,人可以在箱子上下左右推动箱子,前提是箱子同方向上是空格;

A 表示人;

C 表示目标,需要将所有箱子都推到目标上,每个箱子占据一个目标,人和箱子可以通过目标。

知道规则后就可以自行添加关卡啦!

四、后续更新

推箱子当前这个版本已经比较完善了,当然,后续还会继续更新,这里先记录下可以更新的内容,如下所示。

(1)增加退一步操作,当然最好不能一直可以退回,可以限制退回次数;

(2)增加用户属性,保存数据,基于上次的数据继续闯关;

(3)增加更多的关卡,这个是苦力活!

大家如果有更多的想法,可以在评论区留言~

或者如果有更好的关卡,可以在评论区留言~

🍓 🍓🍓 需要源码可订阅专栏C/C++/Java课程设计100例后获取~ 🎉🎉🎉


🎈 感觉有帮助记得「一键三连支持下哦!有问题可在评论区留言💬,感谢大家的一路支持!🤞猿哥将持续输出「优质文章回馈大家!🤞🌹🌹🌹🌹🌹🌹🤞


以上是关于重温经典,推箱子游戏,你能闯到第几关?可自行添加关卡的主要内容,如果未能解决你的问题,请参考以下文章

Numpy 闯关 100 题,你能闯几关?

经典重温!HTML5 推箱子小游戏

关于Unity中的本地存储

消息队列经典十连问,你能扛到第几问?

MySQL夺命10问,你能坚持到第几问?

《鱿鱼游戏》我怕了,还是整点阳间的游戏吧,Python版“碰糖”来袭—你能过几关?