一、 环境搭建
环境需求:
工作系统环境:windows /linux /macos
Python3.9.x
Anaconda
Pycharm 2021.3
二、Pycharm及Anaconda安装
在官网下载Pycharm对应的版本及Anaconda
三、使用Pycharm创建项目
1、打开pycharm,第一次创建项目,我们就选择create new project
2、按图上的顺序配置好,Location及Application name可以根据自己需要自定义,项目解析器笔者此处选择了系统环境路径。全部设置好之后创建项目。
3.创建好的项目长得是这个样子的,
在输入框输入print(hello)点击运行,这时候打印hello,项目就可以正常跑起来了
四、 游戏原理
经典的推箱子是一个来自日本的古老游戏,目的是在训练你的逻辑思考能力。在一个狭小的仓库中,要求把木箱放到指定的位置,稍不小心就会出现箱子无法移动或者通道被堵住的情况,所以需要巧妙的利用有限的空间和通道,合理安排移动的次序和位置,才能顺利的完成任务通关。
推箱子功能如下:游戏运行时载入相应的地图,屏幕中出现一个推箱子的工人,其他都是围墙,通过移动把相应的箱子推到目的地点,全部推完即算通过,选择相应的关卡也可以重新开始或者其他关卡。
控制方式:
↑↓←→键控制人物行动,可以选择相应的关卡重新开始本关。
五、 逐步实现
1.设计游戏地图
地图,想象成一个网格,每个格子就是工人每次移动的步长,首先,我们设计一个7x7的二维列表myArray,对于x,y的坐标可以按二维列表计算。
格子的状态子常量 Wall=0代表墙,Worker=1 代表人,Box=2 代表箱子,Passageway=3 代表路,Destination=4 代表目的地,WorkerIndDest=5 代表人的目的地,RedBox=6 代表放到目的地的箱子。
这里我把地图信息储存到了map.txt文件里,运用了pickle模块及读写操作,需要时直接从文件中读取下一关的数据即可,使用了imgs列表储存图像,按照图像代号的顺序存储
map.txt里的代码
gamearray=[
[[0,3,1,4,3,3,3,0],
[0,3,3,3,2,3,0,0],
[0,0,3,0,3,3,0,0],
[3,3,2,3,0,0,0,0],
[3,4,3,3,3,0,0,0],
[0,0,3,3,3,3,0,0],
[0,0,0,0,0,0,0,0]],
[[0,3,1,4,3,3,3,0],
[0,3,3,2,3,3,0,0],
[0,0,3,0,3,3,0,0],
[3,3,2,3,3,0,0,0],
[3,4,3,3,3,0,0,0],
[0,0,3,3,2,3,0,0],
[0,0,4,3,3,3,0,0]],
[[0,3,1,4,3,3,3,0],
[0,3,3,3,2,3,0,0],
[0,0,3,0,3,3,0,0],
[3,3,3,3,3,0,0,0],
[3,4,3,2,0,0,0,0],
[0,0,3,3,2,3,0,0],