Exemplo n.º 1
0
Arquivo: abg.py Projeto: jcnix/abg
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()
Exemplo n.º 2
0
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
Exemplo n.º 3
0
        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