代码拉取完成,页面将自动刷新
import pygame
class DisplayAStockIndex:
"""显示大A指数的字符板"""
def __init__(self,s_area,glob_settings,A):
"""初始化字符板设置"""
self.score_fontright=s_area.rect.right-s_area.width/4 #初始化字体rect对象右边沿位置
self.score_fonttop=s_area.rect.top+s_area.height*1/4 #初始化字体rect对象右边沿位置
self.A=A #获取游戏主角A
self.fontcolor_green =glob_settings.fontcolor_score_green #初始化字体绿色
self.fontcolor_red =glob_settings.fontcolor_score_red #初始化字体红色
self.font= pygame.font.Font(None,glob_settings.fontsize_astockindex) #初始化A.bottom的字符对象
self.bg_color= glob_settings.bg_color #获取背景颜色
self.screen_height=glob_settings.height #获取屏幕高度,用于换算显示指数
def draw_aStockIndex(self,screen):
"""绘制当前帧大A指数字符图片"""
if self.A.move_down:
color=self.fontcolor_green
else:
color=self.fontcolor_red
num=round((self.screen_height-self.A.rect.bottom)*1000/self.screen_height+2000,2)
text_aStockIndex=str(num)
text_img=self.font.render(text_aStockIndex,True,color,self.bg_color)
text_rect=text_img.get_rect()
text_rect.right=self.score_fontright
text_rect.top=self.score_fonttop
screen.blit(text_img,text_rect)
class Display_score:
"""管理显示抄底成功次数的类"""
def __init__(self,s_area,glob_settings,c_score):
"""初始化抄底成功实例"""
self.score_fontright=s_area.rect.right-s_area.width*5/12 #初始化字体rect对象右边沿位置
self.score_fonttop=s_area.rect.top+s_area.height*7/12 #初始化字体rect对象右边沿位置
self.c_score=c_score #获取计算抄底成功次数的实例
self.fontcolor=glob_settings.fontcolor_score_red #设置字体为红色
self.font= pygame.font.Font(None,glob_settings.fontsize_score) #初始化A.bottom的字符对象
self.bg_color= glob_settings.bg_color #获取背景颜色
def draw_score(self,screen):
"""绘制当前抄底成功次数字符图片"""
text_score=str(self.c_score.score)
text_img=self.font.render(text_score,True,self.fontcolor,self.bg_color)
text_rect=text_img.get_rect()
text_rect.right=self.score_fontright
text_rect.top=self.score_fonttop
screen.blit(text_img,text_rect)
class Display_banner:
"""管理显示静态部分的类"""
def __init__(self,s_area):
self.width=s_area.width*2/3 #初始化标语宽度游戏区域1/10
self.height=self.width*230/800 #初始化标语高度为游戏区域1/10
self.size=(self.width,self.height) #初始化标语大小参数
self.image1=pygame.transform.scale(pygame.image.load("img/大A指数.png"),self.size) #获取标语1图片,并创建实例对象
self.image2=pygame.transform.scale(pygame.image.load("img/抄底成功.png"),self.size) #获取标语2图片,并创建实例对象
self.rect1=self.image1.get_rect() #获取标语1 rect对象,以进行位置设置
self.rect2=self.image2.get_rect() #获取标语1 rect对象,以进行位置设置
self.rect1.right=s_area.rect.right-s_area.width/8 #初始化位置
self.rect1.top=s_area.rect.top+s_area.height*1/6
self.rect2.right=s_area.rect.right-s_area.width/8 #初始化位置
self.rect2.top=s_area.rect.top+s_area.height*3/6
def blit(self,screen):
"""绘制标语至屏幕上"""
screen.blit(self.image1,self.rect1)
screen.blit(self.image2,self.rect2)
class Score_area:
"""管理计分区域"""
def __init__(self,glob_settings,game_screen,A,c_score):
"""初始化计分区域"""
self.width=glob_settings.sarea_width #初始化计分区域宽度
self.height=glob_settings.sarea_height #初始化计分区域高度
self.size=(self.width,self.height) #初始化计分区域大小
self.rect=pygame.Rect((glob_settings.garea_width,0),self.size) #获取计分区域rect对象
self.screen=game_screen #获取游戏窗口
self.sw_color=glob_settings.sw_color #初始化隔绝计分区域墙壁颜色
self.sw_width=glob_settings.sw_width #初始化隔绝计分区域墙壁宽度
self.displayAStockIndex=DisplayAStockIndex(self,glob_settings,A) #创建显示大A指数字符板
self.displayScore=Display_score(self,glob_settings,c_score) #创建显示抄底成功次数字符板
self.displayBanner=Display_banner(self) #创建显示静态字符板
def get_rect(self):
"""获取计分区域 Rect对象"""
return self.rect
def _draw_wall(self):
"""绘制隔绝游戏区域墙壁"""
pygame.draw.line(self.screen,self.sw_color,(self.rect.left+2,0),(self.rect.left+2,self.rect.bottom),width=self.sw_width)
def bilt(self):
"""绘制计分区域"""
self._draw_wall()
self.displayBanner.blit(self.screen)
self.displayAStockIndex.draw_aStockIndex(self.screen)
self.displayScore.draw_score(self.screen)
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。