上传文件至 ''

This commit is contained in:
206530235 2021-06-24 11:37:00 +08:00
parent af2dccbf55
commit 81c60ea4dc
2 changed files with 30 additions and 27 deletions

View File

@ -34,18 +34,18 @@ def run_game():
# 开始游戏主循环
while True:
# 监视键盘和鼠标事件
gf.check_events(ai_settings, screen, stats, sb, play_button, ship, aliens, bullets)
# 监视键盘和鼠标事件
gf.check_events(ai_settings, screen, stats, sb, play_button, ship, aliens, bullets)
if stats.game_active:
# 移动飞船
gf.update_ship(ship)
# 更新子弹位置
gf.update_bullets(ai_settings, screen, stats, sb, ship, aliens, bullets)
# 更新外星人
gf.update_aliens(ai_settings, stats, screen, sb, ship, aliens, bullets)
# 更新屏幕
gf.update_screen(ai_settings, screen, stats, sb, ship, aliens, bullets, play_button)
if stats.game_active:
# 移动飞船
gf.update_ship(ship)
# 更新子弹位置
gf.update_bullets(ai_settings, screen, stats, sb, ship, aliens, bullets)
# 更新外星人
gf.update_aliens(ai_settings, stats, screen, sb, ship, aliens, bullets)
# 更新屏幕
gf.update_screen(ai_settings, screen, stats, sb, ship, aliens, bullets, play_button)
run_game()

View File

@ -2,30 +2,33 @@ import pygame
from pygame.sprite import Sprite
import time
class Bullet(Sprite):
'''飞船子弹进行管理'''
def __init__(self,ai_settings,screen,ship):
super(Bullet,self).__init__()
self.screen = screen
def __init__(self, ai_settings, screen, ship):
super(Bullet, self).__init__()
# 创建子弹矩形初始位置0,0,3,15分别对应leftop
self.rect = pygame.Rect(0,0,
ai_settings.bullet_width, ai_settings.bullet_height)
self.screen = screen
self.rect.centerx = ship.rect.centerx # 设置中心点x轴坐标跟飞船一致
self.rect.top = ship.rect.top # 设置y轴坐标顶部跟飞船一致
# 创建子弹矩形初始位置0,0,3,15分别对应leftop
self.rect = pygame.Rect(0, 0,
ai_settings.bullet_width, ai_settings.bullet_height)
# 设置成小数进行计算
self.top = float(self.rect.top)
self.rect.centerx = ship.rect.centerx # 设置中心点x轴坐标跟飞船一致
self.rect.top = ship.rect.top # 设置y轴坐标顶部跟飞船一致
self.color = ai_settings.bullet_color
self.speed_factor = ai_settings.bullet_speed_factor
# 设置成小数进行计算
self.top = float(self.rect.top)
self.color = ai_settings.bullet_color
self.speed_factor = ai_settings.bullet_speed_factor
def update(self):
self.top -=self.speed_factor
self.rect.top = self.top
print(self.rect.top)
self.top -= self.speed_factor
self.rect.top = self.top
print(self.rect.top)
def draw_bullet(self):
pygame.draw.rect(self.screen,self.color,self.rect)
pygame.draw.rect(self.screen, self.color, self.rect)