From 3e53b29e6c2eecf80233e1d07e367193d35aca77 Mon Sep 17 00:00:00 2001 From: 206530219 <236845922@qq.com> Date: Sat, 19 Jun 2021 11:53:35 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=A0=E9=99=A4=20'scoreborad.py'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scoreborad.py | 76 --------------------------------------------------- 1 file changed, 76 deletions(-) delete mode 100644 scoreborad.py diff --git a/scoreborad.py b/scoreborad.py deleted file mode 100644 index 3b143f6..0000000 --- a/scoreborad.py +++ /dev/null @@ -1,76 +0,0 @@ -import pygame.font -from pygame.sprite import Group -from ship import Ship - - -class Scoreboard(): - """显示得分信息的类""" - - def __init__(self, ai_settings, screen, stats): - """初始化显示得分涉及的属性""" - self.screen = screen - self.screen_rect = screen.get_rect() - self.ai_settings = ai_settings - self.stats = stats - - # 显示得分信息时使用的字体设置 - self.text_color = (30, 30, 30) - self.font = pygame.font.SysFont(None, 48) - - # 准备包含最高得分和当前得分的图像 - self.prep_score() - self.prep_high_score() - self.prep_level() - self.prep_ships() - - def prep_score(self): - """将得分转换为一幅渲染的图像""" - rounded_score = int(round(self.stats.score, -1)) - score_str = "{:,}".format(rounded_score) - self.score_image = self.font.render(score_str, True, self.text_color, - self.ai_settings.bg_color) - - # 将得分放在屏幕右上角 - self.score_rect = self.score_image.get_rect() - self.score_rect.right = self.screen_rect.right - 20 - self.score_rect.top = 20 - - def show_score(self): - """在屏幕上显示飞船和得分""" - self.screen.blit(self.score_image, self.score_rect) - self.screen.blit(self.high_score_image, self.high_score_rect) - self.screen.blit(self.level_image, self.level_rect) - # 绘制飞船 - self.ships.draw(self.screen) - - def prep_high_score(self): - """将最高得分转换为渲染的图像""" - high_score = int(round(self.stats.high_score, -1)) - high_score_str = "{:,}".format(high_score) - self.high_score_image = self.font.render(high_score_str, True, - self.text_color, self.ai_settings.bg_color) - - # 将最高得分放在屏幕顶部中央 - self.high_score_rect = self.high_score_image.get_rect() - self.high_score_rect.centerx = self.screen_rect.centerx - self.high_score_rect.top = self.score_rect.top - - def prep_level(self): - """将等级转换为渲染的图像""" - self.level_image = self.font.render(str(self.stats.level), True, - self.text_color, self.ai_settings.bg_color) - # 将等级放在得分下方 - self.level_rect = self.level_image.get_rect() - self.level_rect.right = self.score_rect.right - self.level_rect.top = self.score_rect.bottom + 10 - - def prep_ships(self): - """显示还余下多少艘飞船""" - self.ships = Group() - for ship_number in range(self.stats.ships_left): - ship = Ship(self.ai_settings, self.screen) - ship.rect.x = 10 + ship_number * ship.rect.width - ship.rect.y = 10 - self.ships.add(ship) - -