飞机大战Python程序.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
import pygame from plane_sprites import * class Pla neGame(object): #初始化 开始游戏类方法 启动游戏 def __init__(self): #创建窗口 时钟 调用创建精灵方法 self.scree n 二 pygame.display.set_mode(SCREEN_RECT.size) self.clock = pygame.time.Clock() self.__create_spites() pygame.time.set_timer(CREATE_ENEMY_EVENT, 1000) pygame.time.set_timer(HERO_FIRE_EVENT, 500) #添加精灵 def __create_spites(self): # 勻匕曰“丰三I 冃景精灵 bg1 = BackGroup() bg2 = BackGroup( True) self.back_gro und = pygame.sprite.Group(bg1, bg2) #敌机精灵 p ww # :丄 Nm/\m 一人 1/\1日1\1日一日丄 \/曰占0 == edAriueAe j!|Q ()jeAoeiuB0 —eiueoeueid :linoeiue6Ad == edAviueAe ji :0;e64ueAe eiue6Ad ui ;ueAe 」oj 驱撤用irx圉沃# :(j|es)je|pueq_;ueAe — jep 场册# (ojeqj|es)d no」9q!」ds?iue6Ad = dn oj6_ojeq\nes ()ojeH = ojeqjies 爸蘇髯篦# ()dn oj0e;!Jdseiue6Ad = dn oj6_ALueue\nes en emy = En emy() self.e nemy_group.add(e nemy) elif eve nt.type == HERO_FIRE_EVENT: self.hero.fire() #按键 keys_pressed = pygame.key.get_pressed() if keys_pressed[pygame.K_RIGHT]: self.hero.speed = 2 elif keys_pressed[pygame.K_LEFT]: self.hero.speed = -2 else : self.hero.speed = 0 #碰撞检测 def __check_collide(self): pygame.sprite.groupcollide(self.hero.bullets, self.enemy_group, True, True) en emys = pygame.sprite.spritecollide(self.hero, self.e nemy_group, True) if len(en emys) 0: self.hero.kill() PlaneGame.__Gameover() #更新图象更新屏幕 def __update_sprites(self): self.back_gro un d.update() self.back_gro un d.draw(self.scree n) self.e nemy_group.update() self.e nemy_group.draw(self.scree n) self.hero_group.update() self.hero_group.draw(self.scree n) self.hero.bullets.update() self.hero.bullets.draw(self.scree n) #游戏结束 @staticmethod def __Gameover(): pygame.quit() exit() def start_game(self): 结束 #时钟 监听 碰撞检测 更新图象 更新屏幕 self.clock.tick(FRAME_PER_SEC) self.__eve nt_ha ndler() self.__check_collide() self.__update_sprites() pygame.display.update() if __name__ == __main__: #创建对象 game = Pla neGame() #启动游戏 while True : game.start_game() import ran dom import pygame #定义常量 SCREEN_RECT = pygame.Rect(O, 0, 480, 700) FRAME_PER_SEC =

文档评论(0)

xiaozu + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档