diff --git a/管理.txt b/管理.txt new file mode 100644 index 0000000..f615d8a --- /dev/null +++ b/管理.txt @@ -0,0 +1,76 @@ +class Manager(object): + bg_size = (512, 768) + # 创建敌机定时器的id + create_enemy_id = 10 + # 游戏结束 倒计时的id + game_over_id = 11 + # 游戏是否结束 + is_game_over = False + # 倒计时时间 + over_time = 3 + + def __init__(self): + pygame.init() + # 1创建一个窗口 Manager.bg_size 是宽高 + self.screen = pygame.display.set_mode(Manager.bg_size, 0, 32) + + # 2创建一个背景图片 + # self.background = pygame.image.load('./feiji/background.png') + self.map = GameBackground(self.screen) + + # 初始化一个装玩家精灵的group + self.players = pygame.sprite.Group() + # 初始化一个装敌机精灵的group + self.enemys = pygame.sprite.Group() + + # 初始化一个玩家爆炸的对象 + self.player_bomb = Bomb(self.screen, 'player') + # 初始化一个敌机爆炸的对象 + self.enemy_bomb = Bomb(self.screen, 'enemy') + # 初始化一个声音播放的对象 + self.sound = GameSound() + + def exit(self): + print('退出') + # 执行pygame退出 + pygame.quit() + # python程序的退出 + exit() + + def show_over_text(self): + # 游戏结束 倒计时后重新开始 + self.drawText('gameover %d' % Manager.over_time, 100, Manager.bg_size[1] / 2, + textHeight=50, fontColor=[255, 0, 0]) + + def game_over_timer(self): + self.show_over_text() + # 倒计时-1 + Manager.over_time -= 1 + if Manager.over_time == 0: + # 参数2改为0 定时间停止 + pygame.time.set_timer(Manager.game_over_id, 0) + # 倒计时后重新开始 + Manager.over_time = 3 + Manager.is_game_over = False + self.start_game() + + def start_game(self): + # 重新开始游戏 有些类属性要清空 + EnemyPlane.clear_bullets() + HeroPlane.clear_bullets() + manager = Manager() + manager.main() + + def new_player(self): + # 创建一个飞机的对象 添加到玩家的组 + player = HeroPlane(self.screen) + self.players.add(player) + + def new_enemy(self): + # 创建一个飞机的对象 添加到敌机的组 + enemy = EnemyPlane(self.screen) + self.enemys.add(enemy) + + # 绘制文字 rgb 红绿蓝 0 - 255 + # 参1要绘制的文字 参2 x轴坐标 参3y轴坐标 参4文字大小 参5 文字颜色 参6 背景颜色 + def draw \ No newline at end of file