代码一:实现字符下落的基本功能

"""
打字游戏
1. 声明列表word、xx(x坐标值)、yy(y坐标值)
2. 创建init()函数,初始化三个列表
3. 第四部分:paint ===>绘制字符
4. 第三部分:action ===>进行字母移动
5. 键盘监听事件  循环比对"""
import pygame, sys
# 导入随机函数模块
import random"""
第一部分:主函数
"""
def menu():# 1.设置窗口标题pygame.display.set_caption("打字游戏")# 2.死循环while True:# 3.设置背景颜色填充screen.fill((255, 255, 255))# 绘制哪张图,以及起始点位置#screen.blit(back, (0, 0))# 4.调用业务处理函数action()# 5.调用图形图案绘制函数paint()# 7.屏幕刷新延迟pygame.time.delay(10)# 6.设置窗口刷新屏幕pygame.display.update()"""
第二部分:变量声明初始化区域
"""
# 设置窗体
screen = pygame.display.set_mode((800, 600), 0, 0)
# 存储字母列表
word = []
# 存储字母坐标值列表
xx = []
yy = []
# 加载图片
# back = pygame.image.load("1.jpg")"""
第五部分:初始化函数
"""
def init():for i in range(0,10):# 字母 ===》A :65  a==>97word.append(random.randint(65,90))# 坐标值xx.append(random.randint(0,800))yy.append(random.randint(0,600))"""
第三部分:业务逻辑处理区域
"""
def action():# 4.1 循环迭代事件监听for event in pygame.event.get():# 4.2 判断是否退出系统if event.type == pygame.QUIT:sys.exit()# 4.4 循环比对if event.type == pygame.KEYDOWN:  # 键盘按下# 4.5 循环遍历与按键比较for i in range(0,10):# 4.6 判断if event.key == word[i]+32:# 4.7 业务处理word[i] = random.randint(65,90)  # 使得word“消失”xx[i] = random.randint(0,800)  # xx坐标另产生一个随机数,表现为“消失”# 使得yy坐标“消失”,yy坐标变负号,消失在屏幕看不见的位置yy[i] = -random.randint(0,600)# 4.8 防止消失多个break# 4.3 字母移动for i in range(0,10):yy[i] += 1# 循环判断if yy[i] > 600:yy[i] = 0# 4.3.1 根据飞行方向修改坐标值# 4.3.2 根据坐标值修改飞行方向# 4.4 根据分数修改速度"""
第四部分:图形图案绘制区域
"""
def paint():# 4.1 初始化字体pygame.font.init()# 4.2 设置字体样式 (ps: wryh.ttf是字体库的文件,该文件已经上传,下载后和项目文件放到一个文件夹中)font = pygame.font.Font("wryh.ttf", 28)# 4.3 循环迭代for i in range(0,10):# 4.4 设置绘制内容fontRead = font.render(chr(word[i]),True,(0,0,0)) # int转字符串,字体为黑色# 4.5 设置绘制内容的坐标screen.blit(fontRead,(xx[i],yy[i]))  # 将字符串绘制到该窗口上# main函数
if __name__ == '__main__':init()menu()

代码二:进一步完善代码功能,设计成更好看的界面

"""
打字游戏
1. 声明列表word、xx(x坐标值)、yy(y坐标值)
2. 创建init()函数,初始化三个列表
3. 第四部分:paint ===>绘制字符
4. 第三部分:action ===>进行字母移动
5. 键盘监听事件  循环比对拓展练习:
1. 分数 score +5
2. 根据分数处理 速度问题
3. 更改颜色 每个字母只有一个颜色
4. 更改背景 将背景改为图片
"""
import pygame, sys
# 导入随机函数模块
import random"""
第一部分:主函数
"""
def menu():# 1.设置窗口标题pygame.display.set_caption("打字游戏")# 2.死循环while True:# 3.设置背景颜色填充# screen.fill((255, 255, 255))# 绘制哪张图,以及起始点位置screen.blit(back, (0, 0))# 4.调用业务处理函数action()# 5.调用图形图案绘制函数paint()# 7.屏幕刷新延迟pygame.time.delay(speed)# 6.设置窗口刷新屏幕pygame.display.update()"""
第二部分:变量声明初始化区域
"""
# 设置窗体
screen = pygame.display.set_mode((800, 600), 0, 0)
# 存储字母列表
word = []
# 存储字母坐标值列表
xx = []
yy = []
# 存储得分
score = 0
# 存储RGB颜色值
R = 0
G = 0
B = 0
# 存储速度
speed = 20
# 加载图片(选一张好看的图片作为背景)
back = pygame.image.load("1.jpg")"""
第五部分:初始化函数
"""
def init():for i in range(0,10):# 字母 ===》A :65  a==>97word.append(random.randint(65,90))# 坐标值xx.append(random.randint(0,800))yy.append(random.randint(0,600))"""
第三部分:业务逻辑处理区域
"""
def action():global score# 4.1 循环迭代事件监听for event in pygame.event.get():# 4.2 判断是否退出系统if event.type == pygame.QUIT:sys.exit()# 4.4 循环比对if event.type == pygame.KEYDOWN:  # 键盘按下# 4.5 循环遍历与按键比较for i in range(0,10):# 4.6 判断if event.key == word[i]+32:# 4.7 业务处理word[i] = random.randint(65,90)  # 使得word“消失”xx[i] = random.randint(0,800)  # xx坐标另产生一个随机数,表现为“消失”# 使得yy坐标“消失”,yy坐标变负号,消失在屏幕看不见的位置yy[i] = -random.randint(0,600)score += 5# 4.8 防止消失多个break# 4.3 字母移动for i in range(0,10):yy[i] += 1# 循环判断if yy[i] > 600:yy[i] = 0# 4.4 根据分数修改速度global speedif score > 500:  # 20个字speed = 3elif score > 250:  # 50个字speed = 5elif score > 100:  # 100个字speed = 10"""
第四部分:图形图案绘制区域
"""
def paint():# 4.1 初始化字体pygame.font.init()# 4.2 设置字体样式 (ps: wryh.ttf是字体库的文件,该文件已经上传,下载后和项目文件放到一个文件夹中)font = pygame.font.Font("wryh.ttf", 28)# 4.3 循环迭代for i in range(0,10):# 4.7 调用updateColorupdateColor()# 4.4 设置绘制内容fontRead = font.render(chr(word[i]),True,(R,G,B)) # int转字符串,字体为黑色scoreShow = font.render("score:%s"%score,True,(255,0,0))# 4.5 设置绘制内容的坐标screen.blit(fontRead,(xx[i],yy[i]))  # 将字符串绘制到该窗口上# 4.6 绘制分数screen.blit(scoreShow, (20,20))  # 将字符串绘制到该窗口上"""
第六部分:更改RGB颜色值
"""
def updateColor():global R,G,BR = random.randint(0,255)G = random.randint(0, 255)B = random.randint(0, 255)# main函数
if __name__ == '__main__':init()menu()

运行效果贴图展示:

注:

1. 为了使该游戏设计更真实丰富,贴近生活实际,代码可以继续添加其他的功能。

如字母落到底部过程都没有消失,进行扣分处理,低于一定分值结束游戏等。具体实现可自行设计。

python:pygame小游戏(三)—— 打字游戏相关推荐

  1. 保姆级教学——Python+Pygame怎么实现吃豆豆游戏

    耽搁十几天的时间,我顺利的从阳转阴啦, 以后的日子一切恢复正常,好好工作,积极分享.希望在座的小伙伴阳了的全部健康转阴,没阳的全部不会变阳,新的一年,一切顺顺利利. 不知道最近大家学习得怎么样?有没有 ...

  2. python pygame小游戏_第一个python+pygame小游戏

    没有周队那么有情调,自己写故事做rpg,又没什么绘画功底,只能做这样的休闲棋类游戏.本来是用java写的,但里面绘图太麻烦了(或者说我不会多线程),又想起前几天看到的pygame,于是果断python ...

  3. python pygame小游戏素材图片_pygame 打飞机(小游戏)

    0.游戏的基本实现 ''' 游戏的基本实现 游戏的初始化:设置游戏窗口,绘制图像的初始位置,设定游戏时钟 游戏循环:设置刷新频率,检测用户交互,更新所有图像位置,更新屏幕显示 ''' 1.安装pyga ...

  4. python·pygame小游戏--中国象棋(原码附上,免费下载)

    大家好我是小豪,今天给大家带来的是pygame小游戏-中国象棋 因为看到博客上面很多上传了的中国象棋py文件,都是收费的.所以我大胆的上传个免费的-已经把原码上传了,感兴趣的可以去下载. pygame ...

  5. 【C/C++小游戏】打字游戏(EasyX图形库实现)

    目录 目录 游戏简介 准备素材 开始编写 1 预编译 2 字母结构体 3 初始化字母 4 字母下落 不断下落 掉到底下 MoveLetter() 函数 5 绘制屏幕 字母 分数 Draw() 函数 6 ...

  6. java打字游戏_Java打字游戏

    贴吧上看到有人做Java打字游戏,但是问题多多,我把他的程序拿来大改一番,算是半个原创吧.键盘按出对应字母,则该字母消失并随机产生新字母. 如果加些贴图润色一下可以更美观,学习计划紧,暂时不美化了. ...

  7. python pygame小游戏_python:利用pygame实现消消乐小游戏

    消消乐记分小游戏GUI界面 文件结构规划 定义config.py文件存储相关参数:包括界面的宽高,整个方格行列个数,总格数等等. 定义utils.py文件用于存放基础的类和函数:包括整个消除拼图类,游 ...

  8. python: pygame小游戏(二)——满天星

    """ 满天星: 绘制100颗小星星:随机产生的 1.小星星移动: 左上角到右下角移动 循环形式 2.随机颜色 闪烁 修改一次 """ im ...

  9. 【微信小游戏实战】零基础制作《欢乐停车场》三、游戏场景制作

    1.游戏立项 微信小游戏中有一款<欢乐停车场Plus>的小游戏,大家可以搜索玩下.这是一款益智类的小游戏,游戏中有红.黄.绿.蓝.紫5辆豪车6个停车位,玩家通过可行走路线移动小车,最终让各 ...

最新文章

  1. 为什么不推荐使用uuid或者雪花id作为主键?
  2. ORA-00913错误:PL/SQL: ORA-00913: too many values
  3. Android底层禁用WiFi和蓝牙功能
  4. 融合BI+AI,新一代增强型数据分析让制造企业高效解决故障预测分析问题
  5. 好玩的WPF第四弹:用Viewport2DVisual3D实现3D旋转效果
  6. ghostwin10系统后不小心重新分区了,其它分区的资料如何找回
  7. [LeetCode]题解(python):012-Integer to Roman
  8. mysql dump语句_mysql/mariadb知识点总结(28):mysql备份工具之mysqldump
  9. Android关系型数据库应用——电话(短信)黑名单 .
  10. jvisualvm oracle,jvisualvm 中visual gc 的配置
  11. 测试工程师六大能力模型
  12. 离散数学9:二部图、欧拉图、哈密顿图
  13. 简单的方法破解百度网盘上带密码的学习视频资源
  14. 蓝天保卫战之产品测试服务
  15. 基于高光谱影像的农作物检测应用简介
  16. 标准方程法(normal equation)公式推导
  17. Java-装箱和拆箱(谁动了我的变量?)
  18. C++学习(三一七)ASCII码表
  19. Linux中的软件 Nginx的部署
  20. python卸载及python 0x80070643 安装发生严重错误

热门文章

  1. python爬虫企业工商信息_Python 爬虫进阶必备 | 企业信用公示系统公告加密解析...
  2. vue2.x tui-image-editor图片编辑器的使用
  3. 计算机名打印机无法共享,打印机共享不了怎么回事 打印机共享不了原因和解决办法【详解】...
  4. [SMOJ2116]诺诺的队列
  5. 苹果cms用Fusion app对接封装app源码教程
  6. 『玩转Mybatis』Mybatis超强大的动态SQL大全
  7. 一个公司存在不同职位,不同职位计算工资的方法也不相同。工资可能是固定的,也可能根据销售额或工作量来计算。假设公司有三种职务:经理、计件工人和计时工人:他们的工资组成分别为:
  8. 简单货机装运模型lingo求解
  9. 使用python itchat模块实现微信聊天机器人_code
  10. 使用md5+salt+hash散列查询