diff --git a/alien.py b/alien.py index b98b98d..288ebd6 100644 --- a/alien.py +++ b/alien.py @@ -17,61 +17,65 @@ class Alien(Sprite): # 储存外星人的准确位置 self.x = float(self.rect.x) - def blitme(self): - """在指定位置绘制外星人""" - self.screen.blit(self.image, self.rect) + def blitme(self): + """在指定位置绘制外星人""" + self.screen.blit(self.image, self.rect) - def check_edgrs(self): - """如果外星人位于屏幕边缘,就返回True""" - screen_rect = self.screen.get_rect() - if self.rect.right >= screen_rect.right: - return True - elif self.rect.left <= 0: - return True + def check_edgrs(self): + """如果外星人位于屏幕边缘,就返回True""" + screen_rect = self.screen.get_rect() + if self.rect.right >= screen_rect.right: + return True + elif self.rect.left <= 0: + return True - def update(self): - """向左或向右移动外星人""" - self.x += (self.ai_settings.alien_speed_factor * self.ai_settings.fleet_direction) - self.rect.x = self.x + def update(self): + """向左或向右移动外星人""" + self.x += (self.ai_settings.alien_speed_factor * self.ai_settings.fleet_direction) + self.rect.x = self.x - class BoosAlien(Sprite): - """BOOS外星人""" - def __init__(self, ai_settings, screen, health=500): - """初始化外星人并设置其初始位置""" - self.screen = screen - self.ai_settings = ai_settings - self.health = health - # 加载外星人图像,并设置其rect属性 - self.image = pygame.image.load('images/boosalien.png') - self.rect = self.image.get_rect() - self.screen_rec = screen.get_rect() - self.rect.x = 550 - self.rect.y = 100 - # 储存外星人的精准位置 - self.x = float(self.rect.x) +class BoosAlien(Sprite): + """BOOS外星人""" - # #设置生命值 - # health=100 - def blitme(self): - """在指定位置绘制外星人""" - self.screen.blit(self.image, (self.rect.x, self.rect.y)) + def __init__(self, ai_settings, screen, health=500): + """初始化外星人并设置其初始位置""" + self.screen = screen + self.ai_settings = ai_settings + self.health = health + # 加载外星人图像,并设置其rect属性 + self.image = pygame.image.load('images/boosalien.png') + self.rect = self.image.get_rect() + self.screen_rec = screen.get_rect() + self.rect.x = 550 + self.rect.y = 100 + # 储存外星人的精准位置 + self.x = float(self.rect.x) - def draw_health_bar(self): - """显示血条""" - # 参数依次表示:在screen上面绘制,颜色,(改图案左上角的坐标,长度和高度) - # 灰色的空白血条 - pygame.draw.rect(screen, (0, 230, 0), ((380, 100), (500, 10))) + # #设置生命值 + # health=100 - def check_edgrs(self): - """如果外星人位于屏幕边缘就返回True""" - screen_rect = self.screen.get_rect() - if self.rect.right >= screen_rect.right: - return True - elif self.rect.left <= 0: - return True + def blitme(self): + """在指定位置绘制外星人""" + self.screen.blit(self.image, (self.rect.x, self.rect.y)) - def update(self): - """向左向右移动外星人""" - self.x += (self.ai_settings.alien_speed_factor * self.ai_settings.bossalien_direction) - self.rect.x = self.x + def draw_health_bar(self, screen): + """显示血条""" + # 参数依次表示:在screen上面绘制,颜色,(改图案左上角的坐标,长度和高度) + # 灰色的空白血条 + pygame.draw.rect(screen, (0, 230, 0), ((380, 100), (500, 10))) + # 红色的现有血条 + pygame.draw.rect(screen, (255, 0, 0), ((380, 100), (self.health, 10))) + + def check_edgrs(self): + """如果外星人位于屏幕边缘就返回True""" + screen_rect = self.screen.get_rect() + if self.rect.right >= screen_rect.right: + return True + elif self.rect.left <= 0: + return True + + def update(self): + """向左向右移动外星人""" + self.x += (self.ai_settings.alien_speed_factor * self.ai_settings.bossalien_direction) + self.rect.x = self.x