def play(): from menu import Menu menu = Menu(screen) #show menu before starting game. menu.showMenu() from player import Player from bullet import Bullet from enemies import Enemies player = Player() player.set_screen(screen) to_update = player.create() #draw player to screen immediately pygame.display.update(to_update) bullet = Bullet() bullet.set_screen(screen) enemies = Enemies() enemies.set_screen(screen) while player.is_alive(): to_update = [] pygame.event.pump() key = pygame.key.get_pressed() #key events that only need to be pressed once for event in pygame.event.get(): if event.type == pygame.KEYDOWN: if event.key == pygame.K_RETURN: menu.showMenu() if event.key == pygame.K_SPACE: player.fire(bullet, True) if key[pygame.K_ESCAPE]: sys.exit() if key[pygame.K_RIGHT]: to_update += player.move_right() if key[pygame.K_LEFT]: to_update += player.move_left() if key[pygame.K_SPACE]: player.fire(bullet, False) frametime.start() to_update += bullet.move(enemies, player) to_update += enemies.move(bullet) pygame.display.update(to_update) #find how long it took to render this frame so we can adjust speeds frametime.end() #player died player.game_over() enemies.game_over() bullet.game_over() pygame.display.flip()
def main(): #SCREEN_SIZEの画面を作成 screen = pygame.display.set_mode(global_data.SCREEN_SIZE) #タイトルバーの文字列をセット pygame.display.set_caption(u"シューティングゲーム") #FPSの取得 clock = pygame.time.Clock() myship = MyShip(50,50) enemies = Enemies() while True: #FPSを60に設定 clock.tick(60) #背景色の設定 screen.fill((255,255,255)) # ***いろんな処理*** # myship.move() enemies.move() enemies.reloadEnemy() myship.draw(pygame,screen) enemies.draw(pygame,screen) #画面の更新 pygame.display.update() for event in pygame.event.get(): if event.type == QUIT: pygame.quit(); sys.exit() elif event.type == KEYDOWN: if event.key == K_RIGHT: myship.direction["right"] = True elif event.key == K_LEFT: myship.direction["left"] = True if event.key == K_UP: myship.direction["up"] = True elif event.key == K_DOWN: myship.direction["down"] = True elif event.type == KEYUP: if event.key == K_RIGHT: myship.direction["right"] = False elif event.key == K_LEFT: myship.direction["left"] = False if event.key == K_UP: myship.direction["up"] = False elif event.key == K_DOWN: myship.direction["down"] = False
return False else: scoreboard.win() return True screen.listen() screen.onkey(key="Right", fun=turret.move_right) screen.onkey(key="Left", fun=turret.move_left) screen.onkey(key="space", fun=turret.shoot) playing = True while playing: screen.update() time.sleep(enemies.move_speed) enemies.move() enemies.enemy_shoot() check_win() if turret.bullet: turret.player_bullet_move() if enemies.enemy_bullet: enemies.enemy_bullet_move() check_player_collisions() check_out_of_bounds() check_enemy_collisions() if check_win(): playing = False