【定义main】:
import sys
import pygame
from 点名系统.点名系统 import displaytime, randon_wenben, ziti
wenbens = []
shuomingshu = '''按键说明:
1, 开始抽取
2, 结束抽取
3, 空白界面
0, 初始化界面'''
with open('image/name——input.txt', 'r', encoding='utf-8') as rfile:
for rf_rs in rfile.readlines():
rf_rs = rf_rs.strip()
wenbens.append(rf_rs)
rfile.close()
def main():
screen_kuan, screen_gao = 1050, 550
# 背景
pygame.init()
screen = pygame.display.set_mode((screen_kuan, screen_gao))
screen.fill('black')
pygame.display.set_caption('点名器')
# 背景图片
beijingtu = pygame.image.load("image/V-144453-0D3EBB6A.jpg").convert_alpha()
beijingtu = pygame.transform.smoothscale(beijingtu, (screen_kuan, screen_gao))
screen.blit(beijingtu, (0, 0))
# 背景文字
ziti.ziti('开始抽取', screen, weizhi=((1050 - 150) / 2, 550 / 3), istouming=True)
#wenben
wenben_1 = None
# 时间
colok = pygame.time.Clock()
# 变量
start_run = False
beijing_run = True
is_kongbai = False
is_start = False
while True:
for even in pygame.event.get():
if even.type == pygame.QUIT:
pygame.quit()
sys.exit()
keys = pygame.key.get_pressed()
if keys[pygame.K_KP_1] or keys[pygame.K_1]:
start_run = True
beijing_run = True
is_start = True
if keys[pygame.K_KP_2] or keys[pygame.K_2]:
start_run = False
beijing_run = False
if keys[pygame.K_KP_3] or keys[pygame.K_3]:
is_start = False
is_kongbai = True
if keys[pygame.K_KP_0] or keys[pygame.K_0]:
is_start = False
is_kongbai = False
if not is_start:
screen.blit(beijingtu, (0, 0))
if not is_kongbai:
ziti.ziti('开始抽取', screen, weizhi=((1050 - 150) / 2 - 10, 550 / 3))
else:
if beijing_run:
screen.blit(beijingtu, (0, 0))
if start_run:
wenben_1 = randon_wenben.random_wenben(wenbens)
ziti.ziti(wenben_1, screen)
ziti.ziti('开始抽取', screen, weizhi=((1050 - 150) / 2 - 10, 550 / 3))
else:
"""
for i in range(random.randint(1, 10)):
wenben_1 = self.random_wenben(wenbens, screen)
self.ziti(wenben_1, screen)
self.ziti('开始抽取', screen, weizhi=((1050 - 150) / 2 - 10, 550 / 3))
"""
screen.blit(beijingtu, (0, 0))
ziti.ziti('已抽中', screen, ((1050 - 150) / 2, 550 / 3), istouming=False, wenzi_color=(255, 165, 0))
ziti.ziti(wenben_1, screen)
# 文字背景
if not is_kongbai:
ziti.ziti(shuomingshu, screen, weizhi=(0, 0), istouming=True, ziti_daxiao=20)
displaytime.displaytime(screen, screen_kuan, screen_gao)
pygame.display.update()
colok.tick(15)
main()
【定义random_wenben】:
import random
def random_wenben(wenbens):
xu = random.randint(0, len(wenbens) - 1)
print_wenben = wenbens[xu]
return print_wenben
【定义ziti】:
import pygame
def ziti(wenben, screen, weizhi=None, istouming=False, wenzi_color=(0, 87, 55), ziti_daxiao=50):
pygame.font.init()
ziti_1 = pygame.font.SysFont('华文行楷', ziti_daxiao)
text = ziti_1.render(wenben, True, (255, 255, 255), wenzi_color)
if not weizhi:
textRect = text.get_rect()
textRect.centerx = screen.get_rect().centerx
textRect.centery = screen.get_rect().centery
else:
textRect = weizhi
if istouming:
# text.set_alpha(100)
text.set_colorkey(wenzi_color)
screen.blit(text, textRect)
【定义displaytime】:
import datetime
from ziti import ziti
def displaytime(screen, screen_kuan, screen_gao):
time_str = str(datetime.datetime.now())
time_str_find1 = time_str.find('.')
time_str = time_str[:time_str_find1]
# print(time_str)
ziti(time_str, screen, weizhi=(screen_kuan / 2 + 70, screen_gao - 125), istouming=True)
【定义music】:
def music():
pass
该代码music pass,自己定义。
文本附:name_imput.txt
图附:
最后,祝大家高考金榜题名!