43 lines
1.2 KiB
Python
43 lines
1.2 KiB
Python
import sys
|
||
from time import sleep
|
||
|
||
import pygame
|
||
|
||
from bullet import Bullet
|
||
from alien import Alien
|
||
|
||
|
||
def check_keydown_events(event, ai_settings, screen, ship, bullets):
|
||
"""响应按键"""
|
||
if event.key == pygame.K_RIGHT:
|
||
ship.moving_right = True
|
||
elif event.key == pygame.K_LEFT:
|
||
ship.moving_left = True
|
||
elif event.key == pygame.K_UP:
|
||
ship.moving_up = True
|
||
elif event.key == pygame.K_DOWN:
|
||
ship.moving_down = True
|
||
elif event.key == pygame.K_SPACE:
|
||
fire_bullet(ai_settings, screen, ship, bullets)
|
||
elif event.key == pygame.K_q:
|
||
sys.exit()
|
||
|
||
|
||
def fire_bullet(ai_settings, screen, ship, bullets):
|
||
"""如果还没有到达限制,就发射一颗子弹"""
|
||
# 创建一颗子弹,并将其加入到编组bullets中
|
||
if len(bullets) < ai_settings.bullets_allowed:
|
||
new_bullet = Bullet(ai_settings, screen, ship)
|
||
bullets.add(new_bullet)
|
||
|
||
|
||
def check_keyup_events(event, ship):
|
||
"""响应松开"""
|
||
if event.key == pygame.K_RIGHT:
|
||
ship.moving_right = False
|
||
elif event.key == pygame.K_LEFT:
|
||
ship.moving_left = False
|
||
elif event.key == pygame.K_UP:
|
||
ship.moving_up = False
|
||
elif event.key == pygame.K_DOWN:
|
||
ship.moving_down = False |