求教java坦克大战遍历敌方坦克怎么用增强for循环实现?

12.完善子弹的发射功能

素材:(仔细看,不注意看不到,Hhhh)

# 创建窗口并加载窗口(借鉴官方文档) # 在窗口新增“坦克大战”小画布 # 将绘制文字的小画布粘贴到窗口中 # 将我方坦克加入到窗口中 # 根据坦克的开关状态调用坦克的移动方法 # 调用渲染子弹列表的方法 """将敌方坦克加入到窗口中""" """将子弹加入到窗口中""" """获取程序运行期间所有的鼠标和键盘事件""" # 对事件进行判断处理(1.点击鼠标关闭按钮 2.按下键盘上的某个按键) # 判断event.type是否为QUIT,如果是,直接调用程序结束方法 # 判断事件是否为键盘按键操作,如果是,继续判断按键是哪一个按键,并进行对应的处理 # 具体是哪个按键的处理 # 完成移动操作(调用坦克的移动方法) # 完成移动操作(调用坦克的移动方法) # 完成移动操作(调用坦克的移动方法) # 完成移动操作(调用坦克的移动方法) # 将子弹加入到子弹列表 # 松开的如果是方向键,才更改移动开关的状态 # 修改坦克的移动状态 } # 四个方向,四个图片 # 指定坦克初始化位置分别距x,y轴的位置 """展示坦克(将坦克绘制到窗口中,使用blit())""" # 重新设置坦克的图片 # 将坦克加载到窗口中 } # 四个方向,四个图片 # 指定坦克初始化位置分别距x,y轴的位置 # 新增步数属性,用来控制敌方坦克随机移动


13.实现子弹移动的功能

# 创建窗口并加载窗口(借鉴官方文档) # 在窗口新增“坦克大战”小画布 # 将绘制文字的小画布粘贴到窗口中 # 将我方坦克加入到窗口中 # 根据坦克的开关状态调用坦克的移动方法 # 调用渲染子弹列表的方法 """将敌方坦克加入到窗口中""" """将子弹加入到窗口中""" """获取程序运行期间所有的鼠标和键盘事件""" # 对事件进行判断处理(1.点击鼠标关闭按钮 2.按下键盘上的某个按键) # 判断event.type是否为QUIT,如果是,直接调用程序结束方法 # 判断事件是否为键盘按键操作,如果是,继续判断按键是哪一个按键,并进行对应的处理 # 具体是哪个按键的处理 # 完成移动操作(调用坦克的移动方法) # 完成移动操作(调用坦克的移动方法) # 完成移动操作(调用坦克的移动方法) # 完成移动操作(调用坦克的移动方法) # 将子弹加入到子弹列表 # 松开的如果是方向键,才更改移动开关的状态 # 修改坦克的移动状态 } # 四个方向,四个图片 # 指定坦克初始化位置分别距x,y轴的位置 """展示坦克(将坦克绘制到窗口中,使用blit())""" # 重新设置坦克的图片 # 将坦克加载到窗口中 } # 四个方向,四个图片 # 指定坦克初始化位置分别距x,y轴的位置 # 新增步数属性,用来控制敌方坦克随机移动

14.子弹与屏幕边界碰撞后消失

15.解决我方坦克无线发射子弹的问题(屏幕中最多出现3发子弹)

# 创建窗口并加载窗口(借鉴官方文档) # 在窗口新增“坦克大战”小画布 # 将绘制文字的小画布粘贴到窗口中 # 将我方坦克加入到窗口中 # 根据坦克的开关状态调用坦克的移动方法 # 调用渲染子弹列表的方法 """将敌方坦克加入到窗口中""" """将子弹加入到窗口中""" # 如果子弹还活着,绘制出来,否则,直接从列表中删除子弹 """获取程序运行期间所有的鼠标和键盘事件""" # 对事件进行判断处理(1.点击鼠标关闭按钮 2.按下键盘上的某个按键) # 判断event.type是否为QUIT,如果是,直接调用程序结束方法 # 判断事件是否为键盘按键操作,如果是,继续判断按键是哪一个按键,并进行对应的处理 # 具体是哪个按键的处理 # 完成移动操作(调用坦克的移动方法) # 完成移动操作(调用坦克的移动方法) # 完成移动操作(调用坦克的移动方法) # 完成移动操作(调用坦克的移动方法) # 将子弹加入到子弹列表 # 松开的如果是方向键,才更改移动开关的状态 # 修改坦克的移动状态 } # 四个方向,四个图片 # 指定坦克初始化位置分别距x,y轴的位置 """展示坦克(将坦克绘制到窗口中,使用blit())""" # 重新设置坦克的图片 # 将坦克加载到窗口中 } # 四个方向,四个图片 # 指定坦克初始化位置分别距x,y轴的位置 # 新增步数属性,用来控制敌方坦克随机移动

16.让敌方坦克发射子弹

17.实现我方子弹与敌方坦克的碰撞

使用精灵类中的碰撞,使用bullet,tank继承精灵类

# 创建窗口并加载窗口(借鉴官方文档) # 在窗口新增“坦克大战”小画布 # 将绘制文字的小画布粘贴到窗口中 # 将我方坦克加入到窗口中 # 根据坦克的开关状态调用坦克的移动方法 # 调用渲染我方子弹列表的方法 # 调用渲染敌方子弹列表的方法 """将敌方坦克加入到窗口中""" """将我方子弹加入到窗口中""" # 如果子弹还活着,绘制出来,否则,直接从列表中删除子弹 # 调用我方子弹与敌方坦克碰撞的方法 """将敌方子弹加入到窗口中""" # 如果子弹还活着,绘制出来,否则,直接从列表中删除子弹 """获取程序运行期间所有的鼠标和键盘事件""" # 对事件进行判断处理(1.点击鼠标关闭按钮 2.按下键盘上的某个按键) # 判断event.type是否为QUIT,如果是,直接调用程序结束方法 # 判断事件是否为键盘按键操作,如果是,继续判断按键是哪一个按键,并进行对应的处理 # 具体是哪个按键的处理 # 完成移动操作(调用坦克的移动方法) # 完成移动操作(调用坦克的移动方法) # 完成移动操作(调用坦克的移动方法) # 完成移动操作(调用坦克的移动方法) # 将子弹加入到子弹列表 # 松开的如果是方向键,才更改移动开关的状态 # 修改坦克的移动状态 } # 四个方向,四个图片 # 指定坦克初始化位置分别距x,y轴的位置 # live 用来记录坦克是否活着 """展示坦克(将坦克绘制到窗口中,使用blit())""" # 重新设置坦克的图片 # 将坦克加载到窗口中 } # 四个方向,四个图片 # 指定坦克初始化位置分别距x,y轴的位置 # 新增步数属性,用来控制敌方坦克随机移动 """我方子弹碰撞敌方坦克"""

字数上限,新开一篇……

本文实例为大家分享了python实现坦克大战的具体代码,供大家参考,具体内容如下

while True:#无限循环 所有行为方法都要无限制的显示

#将带有文字的surface 绘制到窗口中 循环

# 每次都随机生成一个left值

# 将坦克加入到窗口中

# 并设置游戏窗口的界限 还可以利用方向作为字典的键获取坦克图片 坦克的移动方向

#就是加载不同方向的坦克图片 呈现出移动的效果

m = Bullet(MainGame.Tank_p1)#子弹类对象 添加到列表 开始方法调用显示子弹 子弹触碰墙壁列表内移除对象

#坦克初始化时候的默认图片,根据坦克的方向从字典里去提取

#1.重新设置坦克的图片

#2.将坦克加入到窗口中

# 指定坦克初始化位置 分别距x,y轴的位置

#子弹初始化位置要根据坦克大方向进行调整 可以自己画图计算

#子弹的位置 left += 坦克宽度的一半 - 子弹的宽度的一半

更多关于python游戏的精彩文章请点击查看以下专题:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

// 存储地图网格数据的类,以判断坦克碰撞,0为可行区域,大于0为不可行区域

//主线程,我方坦克线程,paint线程 三合一 (这里应该更明确地对象化)

我要回帖

更多关于 红色警戒战车兵工厂怎么同时出兵 的文章

 

随机推荐