一个具有界面的速算小游戏

2023-10-13 10:40
文章标签 具有 界面 速算 小游戏

本文主要是介绍一个具有界面的速算小游戏,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

这是一个运用python的easygui库写的一个速算小游戏,适合小白学习。但是在代码方面可能有不规范的地方,所以小白的话就学习random库,time库和easygui库的一些用法就好

现在废话不多说先上完整代码再解释

from easygui import *
from random import *
import time
def msl(js):while True:fs = 0jd_1 = randint(1, js)jd_2 = randint(1, js)jd_3 = randint(1, 2)sj = randint(1, 2)jg = jd_1 + jd_2   #对随机得出来的数进行加减jg_2 = jd_1 - jd_2cq = randint(1, 10)  #随机俩个不正确的结果i_1 = randint(1, 2)  #对加减进行随机if i_1 == 1: jg_3 = 1jg_5 = jgelif i_1 == 2:jg_3 = 2jg_5 = jg_2i_2 = randint(1, 2) #随机不正确的结果if i_2 == 1:sc = jg_5 + cq + 2if i_2 == 2:sc = jg_5 - cq - 2i_3 = randint(1, 2) #随机不正确的结果if i_3 == 1:sc_2 = jg_5 + cqif i_3 == 2:sc_2 = jg_5 - cqi_4 = randint(1, 2)  #31~48行均对按键位置进行随机if i_4 == 1:sc_3 = sci_5 = randint(1, 2)if i_5 == 1:sc_4 = sc_2sc_5 = jg_5elif i_5 == 2:sc_4 = jg_5sc_5 = sc_2elif i_4 == 2:sc_4 = sci_6 = randint(1, 2)if i_6 == 1:sc_3 = sc_2sc_5 = jg_5elif i_6 == 2:sc_3 = jg_5sc_5 = sc_2else:sc_5 = sci_7 = randint(1, 2)if i_7 == 1:sc_4 = sc_2sc_3 = jg_5elif i_7 == 2:sc_4 = jg_5sc_3 = sc_2if jg_3 == 1:jg_3 = 0p = time.time()q = buttonbox(msg="\t\t\t\t{}+{}=\n\n\t\t\t\t分数{}\n\n你只有10秒".format(jd_1, jd_2, fs),choices=(str(sc_3), str(sc_4), str(sc_5), '退出'))z=time.time()l = z-pif str(jg_5) == q and l < 10 :fs += 1elif q == '退出':breakelif l > 10:msgbox("您已超时")fs = 0elif str(jg_5) != q:msgbox('错了')fs = 0else:breakp,z,l=0,0,0elif jd_3 == 2:jg_3 = 0p = time.time()q = buttonbox(msg="\t\t\t\t{}-{}=\n\n\t\t\t\t分数{}\n\n你只有5秒".format(jd_1, jd_2, fs),choices=(str(sc_3), str(sc_4), str(sc_5), '退出'))z = time.time()l = z - pif str(jg_5) == q and l <5:fs += 1elif q == '退出':breakelif l > 5:msgbox("您已超时")fs = 0elif str(jg_5) != q:msgbox('错了')fs = 0else:breakelse:passp, z,l = 0, 0,0
msgbox("欢迎进入")
while True:sr = buttonbox(msg='请选择',choices=('简单模式','困难模式','退出'))if sr =='简单模式':msl(10)elif sr == '困难模式':msl(20)elif sr == '退出':breakelse:break

 以下是对题目的数字进行随机

注:randint是random库的一个模块

randint(a,b)     a,b是随机的一个范围,a是开始数字,b是结束数字

7.jd_1 = randint(1, js)
8.jd_2 = randint(1, js)

以下是对时间的一个限制

注:  time是time库的一个模块

61行是开始计时       64行是结束计时     65行计时的时间差

61.p = time.time()
64.z = time.time()
65.l = z-p

 例:

from time import*
a = time()
print(a)
input()
b = time()
print(b)
w = b-a
print(w)

一下为输出结果

1628673880.90429231628673883.3581548
2.453862428665161

 以下是输出easygui库的一个界面

注:buttonbox是easygui库的一个函数,作用是输出一个有按钮的界面

q = buttonbox(msg="\t\t\t\t{}+{}=\n\n\t\t\t\t分数{}\n\n你只有10秒".format(jd_1, jd_2, fs),choices=(str(sc_3), str(sc_4), str(sc_5), '退出'))

 例:

from easygui import *
a = buttonbox(msg="这是一个标题",choices=("这是按钮1","这是按钮2"))

以下是运行结果:

 以下是easygui库的一个函数:

msgbox("您已超时")

例:

from easygui import*
msgbox("这是输出内容")

以下是运行结果:

以下是速算的另一个版本:

https://blog.csdn.net/qq_51887218/article/details/119613341

这篇关于一个具有界面的速算小游戏的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/202663

相关文章

一款支持同一个屏幕界面同时播放多个视频的视频播放软件

GridPlayer 是一款基于 VLC 的免费开源跨平台多视频同步播放工具,支持在一块屏幕上同时播放多个视频。其主要功能包括: 多视频播放:用户可以在一个窗口中同时播放任意数量的视频,数量仅受硬件性能限制。支持多种格式和流媒体:GridPlayer 支持所有由 VLC 支持的视频格式以及流媒体 URL(如 m3u8 链接)。自定义网格布局:用户可以配置播放器的网格布局,以适应不同的观看需求。硬

centOS7.0设置默认进入字符界面

刚装的,带有x window桌面,每次都是进的桌面,想改成自动进命令行的。记得以前是修改 /etc/inittab 但是这个版本inittab里的内容不一样了没有id:x:initdefault这一行而且我手动加上也不管用,这个centos 7下 /etc/inittab 的内容 Targets systemd uses targets which serve a simil

Appium--界面元素选择

在操作界面元素前,我们需要进行手机与电脑的连接,这里介绍一个adb无线连接的方法: Adb无线连接功能 无线连接步骤(确保手机和电脑处于同一局域网) 1先以USB有线连接方式连接到计算机 2激活手机adb的无线服务: 命令行输入adb tcpip 5555(5555是端口号) 3计算机以无线方式连接到手机: 命令行输入adb connect 配置信息 desired_caps:这些键值对告诉ap

【YOLO 系列】基于YOLOV8的智能花卉分类检测系统【python源码+Pyqt5界面+数据集+训练代码】

前言: 花朵作为自然界中的重要组成部分,不仅在生态学上具有重要意义,也在园艺、农业以及艺术领域中占有一席之地。随着图像识别技术的发展,自动化的花朵分类对于植物研究、生物多样性保护以及园艺爱好者来说变得越发重要。为了提高花朵分类的效率和准确性,我们启动了基于YOLO V8的花朵分类智能识别系统项目。该项目利用深度学习技术,通过分析花朵图像,自动识别并分类不同种类的花朵,为用户提供一个高效的花朵识别

【虚拟机/服务器】非图形化界面下修改Shell中颜色的设置

1、首先 cd ~ && ll 可以看到如下图所示 2、输入 sudo vim .bashrc 进入 .bashrc 并通过 /PS1 迅速从上往下定位第一个PS1 3、输入 i 进入插入模式后修改 else 下面的配置如下 说明:\e[1;32;40m] 其中1表示高亮显示,32表示字体颜色是绿色,40表示背景色为黑色 4、输入 esc 退出编辑模式到命令模式,再输入

【视频教程】手把手AppWizard轻松制作一个emWin滑动主界面控制框架,任意跳转控制(2024-09-06)

现在的新版AppWizard已经比较好用,用户可以轻松的创建各种项目常规界面。 比如早期创建一个支持滑动的主界面框架,并且可以跳转各种子界面,仅仅界面布局和各种图片格式转换都要花不少时间,而现在使用AppWizard,可以说轻轻松松,毫不费力。 用户唯一要做的就是根据自己的芯片性能做一定的速度优化。 视频: https://www.bilibili.com/video/BV17Rp3eLE

ubuntu 20.04 一直卡在登录界面,即使密码正确也无法登录(失败记录)

ubuntu 20.04 一直卡在登录界面,即使密码正确也无法登录 这次是装实体机,一次失败的尝试。。。 名称型号CPUIntel Xeon E5-2673 V3GPURTX 3060 mobile 安装的时候不要选install third-party software for graphics and Wi-fi hardware and additional media

yolov5 +gui界面+单目测距 实现对图片视频摄像头的测距

可实现对图片,视频,摄像头的检测  项目概述 本项目旨在实现一个集成了YOLOv5目标检测算法、图形用户界面(GUI)以及单目测距功能的系统。该系统能够对图片、视频或实时摄像头输入进行目标检测,并估算目标的距离。通过结合YOLOv5的强大检测能力和单目测距技术,系统能够在多种应用场景中提供高效、准确的目标检测和测距功能。 技术栈 YOLOv5:用于目标检测的深度学习模型。Open

简单的启动界面

源代码 import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.os.Handler;public class SplashActivity extends Activity{private final int TIME=4000; //时间为

四、搭建网站服务器超详细步骤——解决宝塔界面无法登录问题

前言 本篇博客是搭建网站服务器的第四期,也到了中间的一节   先分享一下我在搭建网站时的个人感受,我在这个环节卡住了很久   后来突然醒悟了,然后成功进入了宝塔界面     现在就来分享一下,我所遇到的问题    小伙伴们坐好了   开车出发! 出现的问题 安装完宝塔面板后,将外网面板地址进行复制,然后粘贴到浏览器上,然后这时就报错了,网址无法登录,一直在转圈,我就开始查找资料