1 Star 0 Fork 0

你飞跃俊杰/外星人

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
scoreboard.py 2.21 KB
一键复制 编辑 原始数据 按行查看 历史
你飞跃俊杰 提交于 2018-12-14 16:13 . 完成
# -*- 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()
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Python
1
https://gitee.com/lvfeijun/alien.git
git@gitee.com:lvfeijun/alien.git
lvfeijun
alien
外星人
master

搜索帮助