推箱子---小游戏

一、 环境搭建 

环境需求:

工作系统环境:windows /linux /macos

Python3.9.x

Anaconda

Pycharm 2021.3

二、Pycharm及Anaconda安装

在官网下载Pycharm对应的版本及Anaconda

三、使用Pycharm创建项目

1、打开pycharm,第一次创建项目,我们就选择create new project

2、按图上的顺序配置好,LocationApplication 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
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
推箱子是一种经典的益智游戏,HTML5提供了丰富的功能和工具,可以用于设计和开发推箱子游戏。以下是一些关键步骤和技术,帮助您开始设计HTML5推箱子游戏: 1. 游戏场景设计:确定游戏界面大小和样式。使用HTML5的Canvas元素来绘制游戏场景,并使用CSS样式来美化界面。 2. 关卡设计:设计不同难度的关卡,包括地图布局、箱子位置、目标位置等。可以使用数组或JSON对象来表示关卡信息。 3. 状态管理:使用JavaScript来管理游戏的状态,包括玩家位置、箱子位置、目标位置等。通过监听用户输入事件,实现玩家移动和箱子推动的逻辑。 4. 碰撞检测:实现玩家和箱子与墙壁、其他物体之间的碰撞检测。可以使用碰撞框或像素级碰撞检测算法来判断物体是否重叠。 5. 动画效果:为了增加游戏的可玩性和视觉效果,可以使用CSS3或JavaScript动画库来实现平滑的移动和箱子推动效果。 6. 存档和关卡编辑器:实现游戏的存档功能,让玩家可以保存当前进度或分享给其他人。另外,开发一个关卡编辑器可以让玩家自定义和分享自己设计的关卡。 7. 移动设备适配:考虑到HTML5游戏可在移动设备上进行游玩,需要做好响应式设计和触摸事件处理,以提供良好的移动端体验。 这些是设计HTML5推箱子游戏的一些基本步骤和技术要点。当然,根据您的实际需求和创意,您还可以添加更多功能和特性,以打造出独特的推箱子游戏体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值