100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > Pygame 打字游戏项目

Pygame 打字游戏项目

时间:2024-05-16 02:47:16

相关推荐

Pygame 打字游戏项目

目录

-10-2更新:效果图:主界面:数据查看界面:设置界面结构框架:原内容:

-10-2更新:

程序源码以及打包的exe文件均已打包上传

完整资源链接:/download/qq_41676952/12666420

《Python编程:从入门到实践》这本书学了大概快N多天了,觉得可以动手实践一下了;花了点时间写了一个打字游戏的项目,练习盲打熟悉键盘

本次练习的项目涵盖文件读写操作,响应键盘和鼠标事件,加载图片,处理数据,统计数据,生成图像,

效果图:

这次更新了三项功能:1.键盘同步显示,2.查看历史记录,3.设置难易程度

待完善的功能:用户选择,使用说明(懒得完善了 啊哈哈哈!)

功能视图的切换可以通过点击左上角的图标实现,

主界面:

注:

1.最上方显示上次练习的成绩数据

2.练习的内容为四级词汇,随机出现,用随机数函数以及系统时间控制随机产生

3.标红的字母是第一次按下按键错误的内容,

4.只有第一次就正确按下相应按键才不会标红,

5.只有正确按下相应按键光标才会往后移动,

6.在窗口任意位置点击鼠标,光标就会回到初始开头位置,并将计时清零,

7.只有在按下第一个按键,计时才会启动,

8.当光标移动到最后一个字母,后面还有一个空格, 按下空格后结束计时,并开始下一轮

数据查看界面:

设置界面

结构框架:

程序源码以及打包的exe文件均已打包上传

完整资源链接:/download/qq_41676952/12666420

我是分割线

原内容:

Pygame 打字游戏项目

完整工程资源链接:/download/qq_41676952/12666420

《Python编程:从入门到实践》这本书学了大概快一个月,觉得可以动手实践一下了,于是花了两天时间写了一个打字游戏的项目,练习盲打熟悉键盘,废话不多,直接看效果图:

最上方显示的time:29.6 speed: 60.8 errors: 3为上次练习的结果

标红的字母是第一次按下按键错误的内容,只有第一次就正确按下相应按键才不会标红,而且只有正确按下相应按键光标才会往后移动

本来还打算在窗口下方加上一个键盘的图案,当按下某个键时,在图案上显示出相应的按键被按下,

这个内容先留着,等再学习点东西,留到以后完善

效果如下:

基本思路:

1.创建窗口

2.初始化各项设置内容

3.产生目标字符串

4.初始化显示

5.开始计时,进入循环

6.检测按键事件

7.判断当前输入是否正确

8.更新屏幕

9.当一次循环完毕,结束计时,统计错误个数,计算速度

各项设置:窗口宽度 ,高度,背景颜色,字体,字体大小 等参数

class Settings:def __init__(self):"""初始化游戏各项设置"""self.screen_width = 1200self.screen_height = 800self.bg_color = (230, 230, 230)self.font = "JetBrains Mono"self.font_size = 40self.errors = 0self.time = 0self.speed = 0self.alpha = {'a': 16, 'b': 18, 'c': 16, 'd': 18, 'e': 18, 'f': 12, 'g': 18, 'h': 18, 'i': 10, 'j': 10, 'k': 18,'l': 10, 'm': 24, 'n': 18, 'o': 18, 'p': 18, 'q': 18, 'r': 14, 's': 16, 't': 12, 'u': 18, 'v': 16,'w': 24, 'x': 18, 'y': 18, 'z': 16, ',': 20, '.': 20, '/': 20, ';': 20, '\'': 20, '[': 20,']': 20, '-': 20, '=': 20, '0': 20, '1': 20, '2': 20, '3': 20, '4': 20, '5': 20, '6': 20, '7': 20,'8': 20, '9': 20}

各项初始化:

# 初始化 pygame 组件pygame.init()# 初始化各项设置ty_settings = Settings()# 窗口设置screen = pygame.display.set_mode((ty_settings.screen_width, ty_settings.screen_height))pygame.display.set_caption('Typing')

初始化显示,计时 ,进入循环检测鼠标和键盘事件,循环完毕统计各项打字的参数

# 初始化界面显示gf.show_init(ty_settings, screen, s1)# 开始计时start_time = time.time()# 开始游戏的主循环while index < len_s1:# 监视键盘和鼠标事件for event in pygame.event.get():if event.type == pygame.QUIT:sys.exit()elif event.type == pygame.KEYDOWN:# 判断当前输入是否正确if chr(event.key) == s1[index]:index = index + 1# 更新屏幕gf.update_screen(ty_settings, screen, s1, index, err)else:err[index] = 1end_time = time.time()ans = end_time - start_timety_settings.time = format(ans, '.1f')ty_settings.speed = format(60 * len_s1 / ans, '.1f')ty_settings.errors = err.count(1)

完整工程资源链接:/download/qq_41676952/12666420

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。