当前位置: 首页 > article >正文

python制作打字小游戏

import  pygame    # 导入游戏模块 安装pygame
import  sys        # 导入系统指令模块
import random    # 导入随机数模块    

pygame.init()  #初始化游戏环境
wnd=pygame.display.set_mode((800,565))   #指定窗口大小
pygame.mixer.music.load('素材/SurvivalGame.mp3')  #素材位置
#pygame.mixer.music.play(-1)  #背景音乐打开
bkimage=pygame.image.load('素材/bkimage.png') # 加载背景图片
image=[]
for i in range(26):
    img=pygame.image.load(f'素材/{i}.png')  #导入26个字母的图片
    image.append(img)    # 把这个张图片放到image
    #print(image)
index=random.randint(0,26)    # index0-25之间随机 image[index]
x=random.randint(0,750)        # x随机0-750
y=0        
v=1
s=0

# 游戏循环
while True:
    # 2.绘制界面:展示给用户看见的画面
    # TODO:在此添加额外的绘制代码
    wnd.blit(bkimage, (0, 0))
    wnd.blit(image[index], (x, y))
    pygame.display.update()  # 实时刷新界面 擦黑板!

    # 3.1 控制更新: 用户操作的数据变化
    for event in pygame.event.get():   # 从系统的消息队列中去获取指令
        if event.type == pygame.QUIT:  # 如果收到一个退出指令
            pygame.quit()  # 退出游戏
            sys.exit(-1)  # 退出程序
        if event.type == pygame.KEYDOWN: # 如果收到一个按键指令
            if event.key - 97 == index:  # 按对了
                index = random.randint(0, 25)  # index0-25之间随机 image[index]
                x = random.randint(0, 750)  # x随机0-750
                y = 0
                continue

    # 3.2 自动更新: 非用户操作的数据变化
    y += v
    if y > 565: # 掉下去了
        index = random.randint(0, 25)  # index0-25之间随机 image[index]
        x = random.randint(0, 750)  # x随机0-750
        y = 0


http://www.kler.cn/a/459063.html

相关文章:

  • 怎样在 Word 文档中插入附件(其他文件)?
  • WPF编程excel表格操作
  • 基本算法——分类
  • 谷粒商城项目125-spring整合high-level-client
  • 20241231 机器学习ML -(2)KNN(scikitlearn)
  • SQL-Server链接服务器访问Oracle数据
  • 图文检索(37):局部对齐Stacked Cross Attention for Image-Text Matching
  • GPU 进阶笔记(二):华为昇腾 910B GPU
  • 【从0到0.5】基于STM32F427+DP83848+FreeRTOS+LWIP+CubeMx+Keil搭建TCP服务端与客户端
  • 基于JDK 17 编写的Java常用工具类
  • Docker+Portainer 离线安装
  • 数学建模助力干细胞研究,配体纳米簇如何影响干细胞命运
  • 排序算法简单问题(Java)
  • Axture 实现一个简单的父子菜单
  • win32汇编环境下,提取对话框程序中,listview列表控件里的内容示例
  • ES IK分词字典热更新
  • 从0开始的Opencv之旅(到尝试构建一个图像编辑器):0,opencv demo
  • Kotlin 协程基础知识总结五 —— 通道、多路复用、并发安全
  • 存储进阶笔记(二):Linux 存储栈:从 Device Mapper、LVM 到文件系统(2024)
  • 抽奖2(信奥)
  • springboot515基于SpringBoot的宠物爱心组织管理系统(论文+源码)_kaic
  • Python爬虫(selenium)从网站获取信息并存入数据库(mysql)
  • SCOPE:面向大语言模型长序列生成的双阶段KV缓存优化框架
  • 【2024年-9月-14日-开源社区openEuler实践记录】PM4OSSP-PROXY
  • 前端页面展示本电脑的摄像头,并使用js获取摄像头列表
  • css 类名