天天看点

python制作飞机大战代码_python实现飞机大战完整代码,可运行

我发现很多python代码飞机大战在互联网上,但几乎没有一个是完整的。所以我做了一个完整的人。python代码分为两个文件,工具类和主类。python版本,pygame模块需要安装。完整的代码如下。1. 工具类plane_import randomimport pygame #屏幕大小恒定SCREEN_RECT =(0, 0, 480, 700) #刷新帧速率FRAME_PER_SEC = 60 #计时器不断创建敌机CREATE_ENEMY_EVENT = #英雄发射子弹事件HERO_FIRE_EVENT = + 1类GameSprite():\u201C\u201C飞机战争游戏向导\u201D\u201Cdef __init__(自我、image_name速度= 1):#调用父类的初始化方法超级().

调用父类方法实现的创建向导(图片\/矩形\/速度)超级(). __init__ (\确定它是另一种形象,如果是,您需要设置初始位置如果is_alt: = def更新(自我):# 1。调用父类的方法来实现超级().update () # 2。决定是否离开屏幕,如果它移动的屏幕,将图片设置为屏幕的顶端=阶级敌人(GameSprite):\u201C\u201C雪碧敌人\u201D\u201Cdef __init__(自我):# 1。调用父类方法创建敌机雪碧,并指定敌人飞机照片超级(). __init__ (\指定的初始随机速度敌机1 ~ 3 = (1、3)# 3。指定的初始随机位置敌机= 0 max_x = SCREEN_ - = (0, max_x) def更新(自我):# 1。

update () # 2。决定是否飞出屏幕的,如果是,您需要删除的敌机向导组#打印(\u201C飞出屏幕,你需要删除从向导组\u2026\u201D)#杀死的方法可以从所有向导组删除向导,向导将被自动销毁()def __del__(自我):#打印(\u201C敌人飞机挂% s\u201C%) passclass英雄(GameSprite):\u201C\u201C英雄精神\u201D\u201Cdef __init__(自我):# 1。调用父类方法和设置image&speedsuper ()。__init__ (\设置初始位置的英雄= SCREEN_ = SCREEN_ - 120 # 3。创建一个精灵组子弹= ()def更新(自我):#英雄在水平方向上移动+ = #控制英雄不能离开屏幕如果< 0:= 0 = SCREEN_def火(自我):打印(\u201C火弹\u2026\u201D),因为我在(0,1,2):# 1。

设置的位置雪碧= - * 20 = # 3。雪碧添加到雪碧集团(子弹)类子弹(GameSprite):\u201D\u201C\u201D\u201C\u201C子弹雪碧def __init__(自我):#调用父类方法,设置子弹图片,设置初始速度超级()。__init__ (\主类plane_import pygame从plane_sprites导入*类PlaneGame(对象):\u201C\u201C飞机游戏主要游戏\u201D\u201Cdef __init__(自我):打印(\u201C游戏初始化\u201D)# 1。创建游戏的窗口= _mode (SCREEN_) # 2。创建游戏的时钟= ()# 3。

__create_sprites () # 4。设置定时器events-create敌机1 s_timer (CREATE_ENEMY_EVENT, 1000) _timer (HERO_FIRE_EVENT, 500) def __create_sprites(自我):#创建背景精灵和精灵组bg1 =背景()bg2 =背景(真正的)_group = (bg1 bg2) #创建雪碧群敌人aircraft_group = ()#创建英雄精灵和精灵组=英雄()_group = () def start_game(自我):打印(\u201C游戏开始\u2026\u201D),而事实:# 1。设置刷新帧率(FRAME_PER_SEC) # 2。

__event_handler () # 3。碰撞检测self.__check_collide () # 4。更新\/画雪碧集团self.__update_sprites () # 5。更新显示()def __event_handler(自我):对事件():#决定是否退出游戏,如果= =:PlaneGame.__game_over () elif = = CREATE_ENEMY_EVENT: #打印(\u201C敌人机器外观\u2026\u201D)#创建敌人飞机雪碧敌人敌人=()#添加敌人飞机雪碧敌人飞机雪碧group_(敌人)elif = = HERO_FIRE_EVENT: () # elif = =和= = _RIGHT: #打印(\u201C向右移动\u2026\u201D)#使用键盘提供的方法获取键盘keys-key tuple keys_pressed = _pressed() #确定相应的键索引值的元组1如果keys_pressed [_RIGHT]: = 2 elif keys_pressed [_LEFT]: = 2: = 0 def __check_collide(自我):# 1。

敌人飞机失事英雄敌人= (_group, True) #有内容当判断列表#让英雄牺牲()#结束游戏PlaneGame.__game_over () def __update_sprites(自我):_ ()_ ()_ ()_ ()_ ()_ ()()()@staticmethoddef __game_over():打印(\u201C游戏结束\u201D)()()退出if __name__ = =\u201C__main__\u201D: #创建游戏对象的游戏= PlaneGame() #开始游戏_game () 3。图片如下: