简单制作点名系统v0.0.1

【定义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     

图附: 

 最后,祝大家高考金榜题名!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值