代码拉取完成,页面将自动刷新
# -*- coding: utf-8 -*-
import pygame.font
from pygame.sprite import Sprite
from ship import Ship
from pygame.sprite import Group
class ScroreBoard(object):
"""docstring for ScroreBoard"""
def __init__(self,ai_settings,screen,stats):
super(ScroreBoard, self).__init__()
self.screen = screen
self.ai_settings = ai_settings
self.screen_rect = screen.get_rect()
self.stats = stats
self.pre_ships()
self.text_color = (30, 30, 30)
self.font = pygame.font.SysFont(None, 48)
self.pre_score()
self.pre_hight_score()
self.pre_level()
#剩余飞船
def pre_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)
#等级
def pre_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 pre_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.hight_score_image, self.hight_score_rect)
self.screen.blit(self.level_image,self.level_rect)
self.ships.draw(self.screen)
#最高分
def pre_hight_score(self):
high_score = int(round(self.stats.high_score,-1))
high_score_str = "{:,}".format(high_score)
self.hight_score_image = self.font.render(high_score_str,True,self.text_color,self.ai_settings.bg_color)
self.hight_score_rect = self.hight_score_image.get_rect()
self.hight_score_rect.centerx = self.screen_rect.centerx
self.hight_score_rect.top = self.score_rect.top
def update_hight_score(self):
if int(self.stats.high_score)<int(self.stats.score):
self.stats.high_score = self.stats.score
self.pre_hight_score()
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。