Pygame中Trivia游戏解析6-1

news2024/11/22 16:43:53

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表示题目的四个选项的颜色。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/964692.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于深度学习的三维重建从入门实战教程 原理讲解 源码解析 实操教程课件下载

传统的重建方法是使用光度一致性等来计算稠密的三维信息。虽然这些方法在理想的Lambertian场景下,精度已经很高。 但传统的局限性,例如弱纹理,高反光和重复纹理等,使得重建困难或重建的结果不完整。 基于学习的方法可以引入比如镜面先验和反射先验等全局语义信息,使匹配…

AI工业视觉如何“多快好省”落地产线?

一、AI工业视觉应用落地四大痛点 1.额外的硬件 运行深度学习的应用程序需要用到大量的内存和计算能力。通常只有将计算任务转移到额外的处理器(如GPU显卡)上同时执行计算,才能在可接受的短时间内完成处理工作。落地成本高。 2.发热量和功耗 …

电商平台api对接货源

如今,电商平台已经成为了人们购物的主要途径之一。 然而,对于电商平台来说,货源对接一直是一个比较棘手的问题。为了解决这个问题,越来越多的电商平台开始使用API来对接货源。 API,即应用程序接口,是一种允…

为什么要学习C++

操作系统历史 UINX操作系统诞生之初是用汇编语言编写的。随着UNIX的发展,汇编语言的开发效率成为一个瓶颈。寻找新的高效开发语言成为UNIX开发者需要解决的问题。当时BCPL语言成为了当时的选择之一。Ken Thomposn对BCPL进行简化得到了B语言。但是B语言不是直接生成…

全流程AI制作的视频广告来了,成本接近传统手法的千分之一……

图片来源:由无界AI生成 先看一下这个视频。 不知道你什么感受,我反正第一眼看的时候差点给跪了。 这是一个全流程用AI制作的视频啊! 在手机或是电脑小窗口观看,很难看出来是AI做的。当然,对AI创作有些了解的人会“一眼…

【Rust】001-基础语法:变量声明及数据类型

【Rust】001-基础语法:变量声明及数据类型 文章目录 【Rust】001-基础语法:变量声明及数据类型一、概述1、学习起源2、依托课程 二、入门程序1、Hello World2、交互程序代码演示执行结果 3、继续上难度:访问链接并打印响应依赖代码执行命令 三…

mac帧 arp

1.分片 2.MSS max segment size 3.跨网络的本质 就是经历很多的子网或者局域网 4.将数据从A主机跨网络送到B主机的能力 IP和mac IP解决的是路径选择的问题 5.数据链路层 用于两个设备(同一种数据链路节点)之间进行传递 6.以太网ether 7.局域网通…

Django传递dataframe对象到前端网页

在django前端页面上展示的数据,还是使用django模板自带的语法 方式1 不推荐使用 直接使用 【df.to_html(indexFalse)】 使用to_html他会生成一个最基本的表格没有任何的样式,一点都不好看,如果有需要的话可以自行修改表格的样式,…

QEMU 啓動gdb 調試

背景 上一章介紹了如何使用QEMU 運行RISC-V 程序, GDB 作爲強大的代碼調試工具,對軟件開發至關重要,本章介紹如何啓動GDB 調試 CSDNhttps://mp.csdn.net/mp_blog/creation/editor/132522853 開啓GDB 服務 QEMU 啓動時添加-s參數, 代碼啓用本地GDB 服務, 默認端口號爲1234.…

Numpy数组(随时更新)

一、Numpy数组对象的重要属性 #导入库 import numpy as npdata np.arange(12).reshape(4,3)data2 np.arange(24).reshape(3,4,2) #ndim维度个数data.ndimdata2.ndim #shape形状几行几列 数组的维度data.shapedata2.shape#size数组的总个数data.sizedata2.size #dtype数组元素的…

《爵士乐史》乔德.泰亚 笔记

第一章 【美国音乐的非洲化】 【乡村布鲁斯和经典布鲁斯】 布鲁斯:不止包括忧愁、哀痛 十二小节布鲁斯特征: 1.乐型(A:主、B:属、C/D:下属):A→A→B→A→C→D→A→A 2.旋律:大三、小三、降七、降五 盲人…

2023河南萌新联赛第(八)场 南阳理工学院F小前前

思路: 每次查询L - R的 最大连续子区间的或值 但是 我们都知道或的话 只会增加 不会减少 所以 L - R 的或值就是最大的子区间 然后再求与x的或值就ok了 但是 n1e5 q1e5 我们不能每次循环都暴力跑一边 那肯定是不行的 这里我们可以把他们拆成2进制 存放到二维数组里…

项目一:基于YOLOv7的输电线路销钉缺失检测项目

1. YOLOv7模型介绍 YOLOv7是目标检测算法YOLO(You Only Look Once)的第七个版本,也是目前较流行的YOLO算法版本之一。 YOLOv8主要结构: 1. Backbone网络:采用CSPDarknet53作为主干网络,在不增加参数数量…

springboot之一:配置文件(内外部配置优先顺序+properties、xml、yaml基础语法+profile动态切换配置、激活方式)

配置的概念: Spring Boot是基于约定的,所以很多配置都有默认值,但如果想使用自己的配置替换默认配置的话,就可以使用application.properties或者application.yml(application.yaml)进行配置。 注意配置文件的命名必须是applicat…

详解MES中的四大现场执行管理模式

导 读 ( 文/ 3426 ) 制造业是全球经济中至关重要的一部分,随着市场竞争的加剧和客户需求的多样化,企业需要寻找合适的生产方式来提高生产效率、降低成本并保证产品质量。在这个背景下,制造执行系统(MES)作为连接管理层…

【LLM模型篇】LLaMA2 | Vicuna | EcomGPT等(更新中)

文章目录 一、Base modelchatglm2模型Vicuna模型LLaMA2模型1. 训练细节2. Evaluation Results3. 更多参考 alpaca模型其他大模型和peft高效参数微调二、垂直领域大模型MedicalGPT:医疗大模型TransGPT:交通大模型​EcomGPT:电商领域大模型1. s…

WPF Material Design 初次使用

文章目录 前言相关资源快速开始快速开始说明地址 吐槽一下 前言 MD全称MaterialDesignInXamlToolkit,MaterialDesign和Bootstrap一样,都是一个UI风格库。相当于衣服中的休闲服,汉服,牛仔裤一样,就是风格不一样的Ui框架…

【包过滤防火墙-iptables】的简单使用

文章目录 规则链的分类--五链处理的动作iptables常用参数和作用 防火墙就是堵和通的作用 iptables :包过滤防火墙,是内核防火墙netfilter的管理工具 核心:四表五链 规则链的分类–五链 在进行路由选择前处理的数据包:PREROUTIN…

财报解读:成功通过“期中考”,创维多元布局产生多大协同效应?

2023年以来,在下游市场需求仍在复苏以及存量市场竞争加剧的背景之下,消费电子行业的发展受到不小挑战。不过,从中期业绩来看,可以发现一些企业还是具备一定的风险抵御能力,发展韧性显著,创维就是其中一员。…