帮我用pygame写一个自动抽奖程序,只要摁一下开始键就可以自动开始摇号,五秒后依次公布中奖号码,每个号码为三位数,用代码写出来
时间: 2023-04-10 08:01:09 浏览: 91
好的,我可以回答这个问题。以下是用pygame编写的自动抽奖程序的代码:
```python
import pygame
import random
# 初始化pygame
pygame.init()
# 设置窗口大小和标题
screen = pygame.display.set_mode((400, 300))
pygame.display.set_caption("自动抽奖程序")
# 加载字体
font = pygame.font.SysFont("Arial", 30)
# 定义颜色
BLACK = (0, 0, 0)
WHITE = (255, 255, 255)
# 定义开始按钮
start_button = pygame.Rect(150, 200, 100, 50)
# 定义状态变量
started = False
finished = False
# 定义中奖号码列表
winning_numbers = []
# 定义计时器
timer = 0
# 游戏循环
while not finished:
# 处理事件
for event in pygame.event.get():
if event.type == pygame.QUIT:
finished = True
elif event.type == pygame.MOUSEBUTTONDOWN:
if start_button.collidepoint(event.pos):
started = True
# 绘制界面
screen.fill(WHITE)
pygame.draw.rect(screen, BLACK, start_button)
start_text = font.render("开始", True, WHITE)
screen.blit(start_text, (165, 210))
# 如果已经开始抽奖
if started:
# 计时器加一
timer += 1
# 如果计时器达到5秒
if timer == 300:
# 生成三个随机数作为中奖号码
winning_numbers = [random.randint(100, 999) for _ in range(3)]
# 绘制中奖号码
for i, number in enumerate(winning_numbers):
number_text = font.render(str(number), True, BLACK)
screen.blit(number_text, (150 + i * 50, 100))
# 更新界面
pygame.display.update()
# 退出pygame
pygame.quit()
```
这个程序会在窗口中显示一个开始按钮。当用户点击开始按钮后,程序会开始计时,5秒后会生成三个随机数作为中奖号码,并在窗口中显示出来。