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

Pygame中Trivia游戏解析6-1

1 Trivia游戏简介

       Trivia的含义是“智力测验比赛中的各种知识”。Trivia游戏类似智力竞赛,由电脑出题,玩家进行作答,之后电脑对玩家的答案进行判断,给出结果并进行评分。该游戏的界面如图1所示。

图1 Trivia游戏界面

2 游戏流程

Triavia的游戏流程如图2所示。

图2 游戏流程

3 Trivia类的实现

在Trivia游戏中,创建了一个名为Trivia的类,该类的作用是读取并显示题目、判断用户答案的对错并进行相应处理等功能。

3.1 Trivia类的__init__()方法

该方法对游戏中用到的变量进行初始化,读取保存题目的文件,并将经读取到的文件内容进行处理。

3.1.1 变量初始化

self.data = []
self.current = 0
self.total = 0
self.correct = 0
self.score = 0
self.scored = False
self.failed = False
self.wronganswer = 0
self.colors = [white,white,white,white]

其中,data保存了处理后的题目信息,这些题目信息以行位单位;current表示当前显示的内容位于data中的第几行;total表示data中数据的总行数;correct表示当前题目的正确答案;score表示当前的分数;scored为True时表示用户答对了当前的题目;failed为True时表示用户答错了当前的题目;wronganswer表示用户输入的错误答案,colors表示题目的四个选项的颜色。

相关文章:

Pygame中Trivia游戏解析6-1

1 Trivia游戏简介 Trivia的含义是“智力测验比赛中的各种知识”。Trivia游戏类似智力竞赛,由电脑出题,玩家进行作答,之后电脑对玩家的答案进行判断,给出结果并进行评分。该游戏的界面如图1所示。 图1 Trivia游戏界面 2 游戏流程 …...

idea中创建springboot项目显示Spring Initializr Error

很长时间不创建springboot项目了,今天发现创建完成idea显示: Spring Initializr Error error:status:500项目中没有pom.xml文件.检查了一下原因是在创建的时候类型没有创建正确(之前记得都是默认),默认如下 需要选择创建maven完整工程那种,最下面那种只会生成pom.xml不会…...

VScode 国内下载源 以及 nvm版本控制器下载与使用

VScode 国内下载源 进入官网 https://code.visualstudio.com/ 点击下载 复制下载链接到新的浏览器标签 将地址中的/stable前的az764295.vo.msecnd.net换成vscode.cdn.azure.cn,再回车就会直接在下载列表啦。 参考大神博客 2.使用nvm 对 node 和npm进行版本控制…...

GO|经典错误之回车与\n

学习go的输入输出语句,于是在笔记本上写了这么一段代码: func main() {reader : bufio.NewReader(os.Stdin)input, _ : reader.ReadString(\n)input input[:len(input)-1]i, _: strconv.Atoi(input)fmt.Println(i) } 运行,输入99&#xff…...

【MATLAB第71期】基于MATLAB的Abcboost自适应决策树多输入单输出回归预测及多分类预测模型(更新中)

【MATLAB第71期】基于MATLAB的Abcboost自适应决策树多输入单输出回归预测及多分类预测模型(更新中) 一、效果展示(多分类预测) 二、效果展示(回归预测) 三、代码获取 CSDN后台私信回复“71期”即可获取下…...

ARM编程模型-内存空间和数据

ARM属于RISC体系,许多指令单周期指令,是32位读取/存储架构,对内存访问是32位,Load and store的架构,只有寄存器对内存,不能内存对内存存储,CPU通过寄存器对内存进行读写操作。 ARM的寻址空间是线…...

leetcode原题: 最大数

题目: 给定一组非负整数 nums,重新排列每个数的顺序(每个数不可拆分)使之组成一个最大的整数。 注意:输出结果可能非常大 所以你需要返回一个字符串而不是整数。 示例1: 输入:nums [10,2] 输…...

docker 是什么

目录 docker是一个软件 Docker 是一种运行于 Linux 和 Windows 上的软件,用于创建、管理和编排容器。 为什么要使用 Docker? 1、 更快速的交付和部署 2、 更高效的虚拟化 3、 更轻松的迁移和扩展 4 、更简单的管理 docker是一个软件,是…...

基于Gin框架的HTTP接口限速实践

在当今的微服务架构和RESTful API主导的时代,HTTP接口在各个业务模块之间扮演着重要的角色。随着业务规模的不断扩大,接口的访问频率和负载也随之增加。为了确保系统的稳定性和性能,接口限速成了一个重要的话题。 1 接口限速的使用场景 接口…...

WSL中为Ubuntu和Debian设置固定IP的终极指南

文章目录 **WSL中为Ubuntu和Debian设置固定IP的终极指南****引言/背景****1. 传统方法****2. 新方法:添加指定IP而不是更改IP****结论**WSL中为Ubuntu和Debian设置固定IP的终极指南 引言/背景 随着WSL(Windows Subsystem for Linux)的普及,越来越多的开发者开始在Windows…...

axios+vite配置反向代理踩坑记录

aixosvite配置反向代理跨域踩坑记录 ​ 最近,实习中,一直在写公司的项目。因为公司的项目大多都已经将工程化的东西已经配置好了。导致我昨天自己写项目的时候配置工程化出错!其实,这是一个很简单的问题。之前熟练的时候能够很熟…...

Spring IOC的理解

总: 控制反转(IOC):理论思想,传统java开发模式,对象是由使用者来进行管理,有了spring后,可以交给spring来帮我们进行管理。依赖注入(DI):把对应的…...

2023年京东箱包行业数据分析(京东数据运营)

当前,旅游业全面复苏,这一现象也带动了周边产业的火爆。在全国游客的出行热带动下,箱包产业迎来消费热潮。 根据鲸参谋电商数据分析平台的相关数据显示,2023年7月,京东箱包大盘整体的销量为266万,同比增长…...

对称加密 非对称加密 AC认证 https原理

文章目录 对称加密及漏洞非对称加密及漏洞什么是数据摘要(也称数据指纹)什么是CA认证CA证书签发过程https通信方案 对称加密及漏洞 对称加密是一种加密算法,使用相同的密钥(也称为对称密钥)用于加密和解密数据。在对称…...

如何在PyQt应用程序中使用Qt Designer和Pyuic工具?

如果你想在PyQt应用程序中使用Qt Designer和Pyuic工具,那么首先你需要确保你已经安装了这些工具。你可以通过以下命令在你的Python环境中安装它们: pip install pyqt5 pip install pyqt5-tools安装完成后,你就可以开始使用Qt Designer设计…...

【云计算•云原生】5.云原生之初识DevOps

文章目录 1.DevOps背景2.DevOps概念3.DevOps工具链 1.DevOps背景 软件开发必须包含两个团队:开发团队和运维团队 开发团队负责开发项目,系统迭代更新运维团队负责项目测试以及部署上线,维持系统稳定运行 一个软件周期中是由这两个团队相互…...

20230830工作心得:巧用标记位和For循环遍历

1 巧用标记位和For循环遍历 您可以使用一个 Map<String, List<xxx>> 类型的数据结构来根据手机号分组并保存多条线索。然后&#xff0c;可以按照以下方式进行操作&#xff1a; 1. 设置一个标志位&#xff0c;比如一个布尔变量&#xff0c;用于记录是否已经成功推…...

AUTOSAR规范与ECU软件开发(实践篇)7.9 MCAL模块配置方法及常用接口函数介绍之Can的配置

目录 1、前言 2 、Can模块 (1) Can General配置 (2) CanConfigSet配置 (3) CanMainFunctionRWPeriods配置...

SpringBoot整合websockt实现消息对话

文章目录 前言websockt什么是websockt&#xff1f;websockt和Socket区别代码部分实战应用 前言 websockt 什么是websockt&#xff1f; WebSocket是一种在Web应用程序中实现实时双向通信的技术。Web应用程序通常是基于HTTP协议的&#xff0c;HTTP是一种请求/响应式的协议&…...

MIME类型(Multipurpose Internet Mail Extensions,多用途互联网邮件扩展类型)MultipartFile 多媒体文件上传

目录 MIME媒体类型介绍MediaTypes 有哪些MultipartFile 类介绍MultipartFile 类 接收的文件是二进制嘛代码举例 上传的文件 实现接口 MultipartFile 类有哪些最终调用接口的方法时&#xff0c;会有哪个类实现 如何决定哪个类去实现呢 Spring 会根据运行环境自动选择合适的实现类…...

气象防灾实战:如何用QGIS快速生成暴雨等值面预警图?(含历史数据对比)

气象防灾实战&#xff1a;如何用QGIS快速生成暴雨等值面预警图&#xff1f;&#xff08;含历史数据对比&#xff09; 暴雨灾害的预警与防控一直是应急管理和市政规划领域的核心挑战。传统的气象数据分析往往依赖专业软件和复杂代码&#xff0c;让非技术背景的从业者望而却步。本…...

基于Python的线上学习资源智能推荐系统毕设

博主介绍&#xff1a;✌ 专注于Java,python,✌关注✌私信我✌具体的问题&#xff0c;我会尽力帮助你。一、研究目的本研究旨在构建一个基于Python的线上学习资源智能推荐系统&#xff0c;以实现个性化学习资源的精准推送。具体而言&#xff0c;研究目的可概括为以下几个方面&am…...

如何优化A-to-Z-Resources-for-Students文档的行距与段距:提升阅读体验的完整指南

如何优化A-to-Z-Resources-for-Students文档的行距与段距&#xff1a;提升阅读体验的完整指南 【免费下载链接】A-to-Z-Resources-for-Students ✅ Curated list of resources for college students 项目地址: https://gitcode.com/GitHub_Trending/at/A-to-Z-Resources-for…...

缝纫机SW三维模型

在现代机械设计领域&#xff0c;缝纫机SW三维模型作为一种直观化的设计载体&#xff0c;正逐步成为设计过程中的基础工具。这类模型通过SolidWorks软件构建&#xff0c;将缝纫机的机械结构以数字化形式呈现&#xff0c;其核心价值在于为设计环节提供精准的可视化支持与功能验证…...

通义千问1.5-1.8B-Chat-GPTQ-Int4 WebUI编程助手效果:对比Claude Code在简单任务上的表现

通义千问1.5-1.8B-Chat-GPTQ-Int4 WebUI编程助手效果&#xff1a;对比Claude Code在简单任务上的表现 最近在折腾本地部署的AI编程助手&#xff0c;发现了一个挺有意思的开源小模型——通义千问1.5-1.8B-Chat的GPTQ-Int4量化版本。别看它体积小&#xff0c;只有1.8B参数&#…...

原创:黄大年茶思屋难题揭榜第141期|5道核心题精简公开·未获技术反馈求指正

黄大年茶思屋难题揭榜第141期&#xff5c;5道核心题精简公开未获技术反馈求指正 作者&#xff1a;华夏之光永存 摘要 这五道题我们已完整解题并提交黄大年茶思屋难题揭榜&#xff0c;最终被退回&#xff0c;但平台未给出任何具体技术驳回意见、未指明缺陷、未提供修改方向。我们…...

ICP配准遇到点云尺度不一致?3步搞定相似变换矩阵(附OpenCV代码)

ICP配准中处理点云尺度不一致的实战指南 在三维视觉开发领域&#xff0c;点云配准是SLAM、三维重建等应用中的基础操作。但当我们面对来自不同传感器或采集条件的点云数据时&#xff0c;经常会遇到一个棘手问题——两组点云的尺度不一致。这就像试图用厘米尺和英寸尺测量同一物…...

LVGL下拉列表控件lv_dropdown实战:从基础配置到高级定制(附完整代码示例)

LVGL下拉列表控件lv_dropdown实战&#xff1a;从基础配置到高级定制&#xff08;附完整代码示例&#xff09; 在嵌入式UI开发领域&#xff0c;LVGL&#xff08;Light and Versatile Graphics Library&#xff09;凭借其轻量级和高度可定制的特性&#xff0c;已成为许多开发者的…...

SolidWorks 与 CATIA 模型转换实战:从本地操作到云端解决方案

1. 为什么需要SolidWorks与CATIA模型转换 在机械设计领域&#xff0c;SolidWorks和CATIA就像两个说着不同语言的工程师。SolidWorks以其直观的操作界面和强大的参数化建模能力&#xff0c;成为中小企业和教育机构的首选工具。而CATIA则凭借在复杂曲面设计和高端制造领域的深厚积…...

IDEA全局替换不够用?试试这个Java脚本,精准处理多模块项目文件内容替换

IDEA全局替换不够用&#xff1f;试试这个Java脚本&#xff0c;精准处理多模块项目文件内容替换 在大型Java项目中&#xff0c;我们经常需要批量修改代码中的某些字符串或配置。虽然IntelliJ IDEA提供了"Replace in Path"功能&#xff0c;但在实际企业级开发中&#…...