简介
本文档介绍了一个基于 simpleguitk 的秒表游戏程序。该程序通过图形界面实现了秒表的计时功能,并可以记录成功次数和点击次数。玩家可以通过开始、暂停和复位按钮来控制计时器的状态,同时在界面上实时显示计时信息和统计数据。
游戏功能
- 开始按钮:启动计时器,开始计时。
- 暂停按钮:停止计时器,记录成功次数和点击次数,并显示最终计时结果。
- 复位按钮:停止计时器,将计时器归零,并清空成功次数和点击次数的记录。
绘制画布
程序中使用了 draw 函数来绘制画布,显示了计时信息和统计数据。
辅助函数 format
format 函数负责对计时信息进行格式化,确保时间按规定格式输出。
计时器事件函数 tick
tick 函数作为定时器事件函数,用于每隔0.1秒更新计时信息。
全局变量
程序中使用了全局变量来存储计时信息、成功次数和点击次数,并在各个函数中进行操作和更新。
按钮功能
-
开始按钮:调用 start 函数,开始计时。
-
暂停按钮:调用 pause 函数,停止计时,并记录成功次数和点击次数。
-
复位按钮:调用 reset 函数,停止计时并重置所有数据。
示例运行结果
示例代码
import simpleguitk as gui
# 全局变量
message1 = "00:00.0"
message2 = "0/0"
counter = 0
success_times = 0
click_times = 0
# 辅助函数
def format():
# 利用字符串的连接制式输出
global message1, message2, success_times, click_times, counter
# 步骤2 代码写在这里
f = int(message1[0:2])
s = int(message1[3:len(message1) - 2])
hs = int(message1[len(message1) - 1:len(message1)])
if counter <= 9:
hs = counter
message1 = f"0{f}:0{s}.{hs}"
if hs >= 9:
hs = 0
counter = 0
s += 1
if s <= 9:
message1 = f"0{f}:0{s}.{hs}"
elif s >= 10:
message1 = f"0{f}:{s}.{hs}"
if s >= 59:
s = 0
f += 1
if f <= 9:
message1 = f"0{f}:{s}.{hs}"
elif f >= 10:
message1 = f"{f}:{s}.{hs}"
message2 = f"{success_times}/{click_times}"
def start():
# 计时器开始计时
if not timer.is_running():
timer.start()
def pause():
# 计时器停止,根据最后一位数字改变点击次数和成功次数,最后按格式输出
global success_times, click_times, message1, counter
# 步骤3 代码写在这里
if counter == 0:
success_times += 1
else:
click_times += 1
timer.stop()
def reset():
# 计时器停止,全局变量初始化
global counter, message1, message2, success_times, click_times
# 步骤4 代码写在这里
message1 = "00:00.0"
message2 = "0/0"
counter = 0
success_times = 0
click_times = 0
# 定义间隔0.1秒定时器事件函数
def tick():
# 每隔0.1秒增加1
global counter
counter += 1
format()
# 定义绘制画布函数
def draw(canvas):
global message1, message2
# 步骤1 代码写在这里,在画布上绘制文本
canvas.draw_text(message2, [280, 50], 30, "green")
canvas.draw_text(message1, [230, 250], 40, "red")
# 创建框架
frame = gui.create_frame("秒表", 600, 400)
# 创建计时器,每100毫秒(0.1秒)触发一次
timer = gui.create_timer(100, tick)
# 创建按钮
frame.add_button("开始", start, 150) # 框架上增加”秒表开始“按钮
frame.add_button("暂停", pause, 150) # 框架上增加”暂停“按钮
frame.add_button("复位", reset, 150) # 框架上增加”复位“按钮
frame.set_draw_handler(draw) # 执行画布绘制
# 框架开始执行
frame.start()
总结
该秒表游戏程序通过 simpleguitk 库实现了基本的计时功能,同时提供了统计数据的记录和显示。玩家可以通过按钮操作来控制计时器的状态,体验计时的乐趣。
希望本文档能够为玩家提供清晰的游戏信息和操作指南,使他们能够轻松上手并享受游戏乐趣。
三连:点赞、转发、订阅 🌟