这是我自己用pygame写的坦克大战,网上找的图片素材,游戏逻辑代码都是自己一点点撸的,尽量复原原版玩法,可选择单双人模式,游戏里打死红色敌方坦克会掉落道具,但道具效果不是特别完整,比如铁帽子道具,也就是吃了后会有闪电环绕玩家坦克,这个吃了没有效果,不知道该怎么实现,然后铁锹道具,也就是让老家的围墙变成白铁块,但不会复原成普通砖块。其它的道具都是有效果的,但还略有小bug,就不追求完美了。

游戏一共有8关,敌人坦克只会在碰到墙壁或者碰到别的敌方坦克时才会转向,所以这里面完全没有什么ai可言,碰撞判定就费了很大劲才勉强能用。

说下游戏地图设计思路吧,经过观察nes模拟器的原版游戏后,发现游戏地图都是一个个小方块拼起来的,我就用excel表格模拟了一下,如图

fc坦克大战都有什么版本(重温儿时的回忆)(1)

用电子表格模拟地图

地图主要有四种元素,砖块,铁块,树丛和河流,这样把整个地图分隔成26*26的方格,就像象棋的棋盘一样,这样就可以把每个地图元素像棋子一样放入相应的位置,最终我用一个二维列表来表示每个地图的元素排布,这种表示方式稍微斗鸡眼一下,或者高度近视者可以看到模糊的地图样貌。

fc坦克大战都有什么版本(重温儿时的回忆)(2)

用二维列表描述地图信息

地图的元素数量是固定的26*26,0表示空白,可以通行的地方,砖块元素就用1234表示,这样每一关的地图只要修改对应位置的数值就可以了。对比一下原版的地图,完全一致

fc坦克大战都有什么版本(重温儿时的回忆)(3)

原版游戏第一关地图

fc坦克大战都有什么版本(重温儿时的回忆)(4)

自己编写的第一关地图

然后每一关的地图列表都存放进一个总列表里,这样以后要添加关卡,就直接添加一个新的地图信息列表,并添加进总列表里就可以了。

fc坦克大战都有什么版本(重温儿时的回忆)(5)

最后按键操作说明,双人模式需要用到数字小键盘,所以笔记本键盘的话只能玩单人模式了,要玩双人模式需要外界全键盘。

fc坦克大战都有什么版本(重温儿时的回忆)(6)

按键操作

这个小游戏是我几个月前就写好了的,现在分享给大家,我感觉我写的比网上大部分用python写的坦克大战都要完善,想要的可以私信我获取百度网盘链接。

,