推箱子地图编辑器是一款针对同名游戏所推出的关卡编译工具。推箱子游戏是一款非常好玩的休闲益智类游戏,那么不少玩家想要自己DIY游戏关卡,现在小编就分享该地图编辑器,你可以发挥自己的想象力,去编译游戏地图关卡,赶紧试试吧!
【使用说明】
使用C语言实现 16*16推箱子 地图编辑器
编译环境: Windows VS2019
其他大部分编译环境,可通过查看下文的“注意事项”将代码更正为其他平台可正常编译运行版本
需求:
通过移动光标在对应位置输出方块实现编辑地图功能,编辑完成后按下z键将地图保存进txt中。
思路:
将屏幕上的光标坐标*2与地图数组下标对应起来,在屏幕上进行输出操作就是对对应数组下标进行赋值操作,编辑完成后按下z键即可将地图信息保存进文本文件中。
做法:
首先输出16*16的空地,getch函数即时接收键盘输入信息,wasd控制光标移动,输入1-5可放置不同的地图元素,z键将地图信息保存进文本文件并退出程序。
具体详细做法请查看代码。
使用到知识点:
循环、二维数组、写入文件
难点:
无
说明:
1 ■ 代表墙,2 ★ 代表目标,3 ● 代箱子,4 ♀ 代表人物,else □ 代表空地
地图大小为16*16。
数字代表的事物必须和游戏中相匹配,也可以通过更改程序来代表其他事物,以适配游戏程序。
使用编辑器之前应先将代码中的FLMOP宏所代表的文件路径更改正确。
注意:
由于编译器原因程序中_kbhit()和_getch()函数可能在其他编译器上编译会出现错误,解决办法是去掉函数前面的“_”。
同时,要将 文件打开函数fopen_s(&fp, FLPA, “r”);更改为fp = fopen(FLPA, “r”);
fcanf_s更改为fcanf scanf_s()更改为scanf
【作者说明】
这个是近期心血来潮就看书研究了下“推箱子”这个游戏。之所以会打算做一下推箱子,主要是测试下用文件来载入和保存地图的想法。还有一些地方没有完善的,因为已经达到了我想要的效果,所以没有继续做下去了。不过应该算是比较完整了的,有兴趣的可以自行完善下。另外,里面有个文档罗列了一些需要注意的东西,主要是针对没有完善的却使用了会碰到bug,虽然不是必要,但我觉得还是有必要写一下的。最后,就这样了。
【游戏玩法】
经典的推箱子是一个来自日本的古老游戏,目的是在训练你的逻辑思考能力。在一个狭小的仓库中,要求把木箱放到指定的位置,稍不小心就会出现箱子无法移动或者通道被堵住的情况,所以需要巧妙的利用有限的空间和通道,合理安排移动的次序和位置,才能顺利的完成任务。
经典的推箱子(又称仓库番,仓库管理员)游戏,目的是训练你的逻辑思考能力。本游戏界面更改后,主人公变成了叉车工,又称叉车工推箱子,使游戏更有趣味性。