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

【Python实战】快看:”又中奖了,中大奖了“周围的小伙伴都惊呆了~你还不麻溜滴~(代码版彩票小游戏上线啦)

导语

哈喽!北鼻们,晚上好。

夕阳🌇的第一缕阳光送给小可爱们~每天都要加油鸭!

所有文章完整的素材+源码都在👇👇

粉丝白嫖源码福利,请移步至CSDN社区或文末公众hao即可免费。

 彩票是一个恒古不变的话题,现在的生活越来越好,大部分人开始关注福利彩票的事情,当然

也有很多人都想中将是真的啦~哈哈哈,但是大家还是要适当哦!

就话不多说,开始今天 主题吧,小编今天给大家做了一款简易的彩票小游戏,让我们看看谁能

中一等奖吧?谁又是二等奖、三等奖呢?

正文

一、游戏规则

 游戏里面有提前设置好的奖项,分为三个,一等奖,二等奖,三等奖,用户需要在14个随机数

中,连续猜6次,每次填写一个1~14的数字,填写完数字之后使用键盘和鼠标点击,揭示中奖

号码。如果猜中6个数字表示中一等奖,一等奖给用户加300积分。

5个数字表示中二等奖,二等奖给用户加200积分。4个数字表示中三等奖,三等奖给用户加100

积分。除此之外表示不中奖,不中奖就会扣除用户的50积分,每揭示中奖号码一次,会要求用

户输入是否继续。可以手动结束游戏,或者积分用完自动结束游戏。

二、环境准备

 1)运行环境 

 开发环境:Python3、Pycharm社区版、Pygame,部分自带的模块安装Python即可使用。 

 相对应的安装包/安装教程/激活码/使用教程/学习资料/工具插件 可以直接找我厚台获取 。 

 2)模块安装 

 第三方库的安装方式如下: 

 一般安装:pip install +模块名 镜像源安装:pip install -i https://pypi.douban.com/simple/+模块名 (还有很多国内镜像源,这里是豆瓣的用习惯了,其他镜像源可以去看下之前文章都有的)模块安装问题可以详细的找我给大家讲一下的哈,之前其实也有的文章写了几个点的。 

三、代码展示

1)导入库

import pygame
from pygame.locals import *
import sys,random,time,easygui

2)主程序

#pygame环境初始化
pygame.init()
#设置一个长为1250,宽为700的窗口
canvas = pygame.display.set_mode((600, 450))
canvas.fill([255,255,255])
# 设置窗口标题
pygame.display.set_caption("")
# 图片加载
bg1 = pygame.image.load('images/bg(1).jpg')
bg2 = pygame.image.load('images/bg(2).jpg')
ball  = pygame.image.load('images/ball.jpg')
h = pygame.image.load('images/h.jpg')
def handleEvent():for event in pygame.event.get():if event.type==pygame.QUIT:pygame.quit()sys.exit()
#专门写字
def write(str,x,y):text=pygame.font.SysFont('simsunnsimsun',30)laohu=text.render(str,True,(255,0,0))canvas.blit(laohu,(x,y))
def write2(str,x,y):text=pygame.font.SysFont('微软雅黑',60)laohu=text.render(str,True,(0,255,0))canvas.blit(laohu,(x,y))            #变换状态            
def changestate():for event in pygame.event.get():if event.type==MOUSEBUTTONDOWN and event.button==1:if game.state==game.states[0]:game.state=game.states[1]if event.type==KEYDOWN and event.key==K_SPACE:if game.state==game.states[2]:game.state=game.states[3]if event.type==pygame.QUIT:pygame.quit()sys.exit()
#用户类
class User():def __init__(self):self.socre=300self.numbers=[]def win(self,num):self.socre=self.socre+numdef lose(self):self.socre=self.socre-50
user=User()#创建ball类
class Ball():def __init__(self,x,y):self.img=ballself.x=xself.y=ydef paint(self):canvas.blit(self.img,(self.x,self.y))#创建游戏类       
class game():#0-5个状态states=['欢迎','投注','随机','依次停止','计算','是否']state=states[0]numbers=[]index=0#创建ball对象
def creatball():game.balls=[Ball(30,350),Ball(130,350),Ball(230,350),Ball(330,350),Ball(430,350),Ball(530,350)]#揭示号码
def removeball():for event in pygame.event.get():if event.type==MOUSEBUTTONDOWN and event.button==1:game.balls.pop(0)game.index+=1
#揭示数字:
def shownumber():write2(str(game.numbers[0]),30,350)write2(str(game.numbers[1]),130,350)write2(str(game.numbers[2]),230,350)write2(str(game.numbers[3]),330,350)write2(str(game.numbers[4]),430,350)write2(str(game.numbers[5]),530,350)#产生6个不重复的随机数,添加到列表里,算法
def creatnumber():if not len(game.numbers)==0:game.numbers=[]       while True:num=random.randint(1,13)if not num in game.numbers:game.numbers.append(num)if len(game.numbers)==6:break#清除用户数据
def clean_user():if len(user.numbers)==0:return 0else :for i in range(len(user.numbers)):user.numbers.pop() 
#固定的几个页面封装起来
def paint():canvas.blit(bg1,(0,0))canvas.blit(bg2,(300,0))n=random.randint(0,14)write(str(n),110,90)write(str(n),410,90)for i in game.balls:i.paint()#猜对了几个?
def jisuan():n=0t=Truefor i in user.numbers:for j in game.numbers:if i==j:n+=1if n==6:user.win(300)elif n==5:user.win(200)elif n==4:user.win(100)else :user.lose()t=Falsereturn t  #用来在界面表达文字,数字等。
def conpaint():canvas.blit(h,(0,0))if game.state == game.states[0]:write('欢迎来到偷偷乐',200,100)write('请点击鼠标进入下一个环节!',70,300)elif game.state == game.states[1]:creatnumber()creatball()clean_user()game.index=0easygui.msgbox('您的积分为'+str(user.socre)+'\n'+'祝您游戏愉快!!')for i in range(6):n=int(easygui.enterbox('请输入1-14中的一个数字'))user.numbers.append(n) game.state=game.states[2]elif game.state == game.states[2]: paint()write('请按下空格进入show环节',150,130)elif game.state == game.states[3]:shownumber()removeball()paint() write('请点击鼠标揭示中奖号码!',150,130)if game.index==6:game.state=game.states[4]elif game.state==game.states[4]:shownumber()paint()if jisuan():easygui.msgbox('恭喜你中奖了,您的积分为'+str(user.socre))q=easygui.enterbox('是否继续?y/n')if q=='y':game.state=game.states[1]elif q=='n':easygui.msgbox('您最终积分为'+str(user.socre))game.state=game.states[5]elif game.state==game.states[5]:write('欢迎下次再来!!',200,100)#总控制程序           
def control():if user.socre>0:conpaint()changestate()else :canvas.blit(h,(0,0))easygui.msgbox('您的积分已经用完')write('欢迎下次再来!!',200,100)time.sleep(2)while True:control() pygame.display.update()handleEvent()

四、效果展示

1)游戏界面

​2)初始积分

3)确定环节

4)中奖啦

中将之前自己输入数字之前没截图的哈,这里就只展示部分截图的。其他的需要大家自己探索

哟~

总结

嘿嘿,小编刚刚才三等奖呢!4个数字表示中三等奖,三等奖给用户加100积分。大家能摇一摇到

一等奖嘛?评论区见~这要是能中,那运气不得了哈。

🎯完整的免费源码领取处:找我吖!文末公众hao可自行领取,滴滴我也可!

🔨推荐往期文章——

项目1.0  超级玛丽

程序员自制游戏:超级玛丽100%真实版,能把你玩哭了~【附源码】

项目1.1   扫雷

 Pygame实战:据说这是史上最难扫雷游戏,没有之一,你们感受下......

项目8.2  疯狂吃水果游戏

【Pygame实战】你说神奇不神奇?吃豆人+切水果结合出一款你没玩过的新游戏!(附源码)

 项目8.3 泡泡机游戏

【Pygame实战】超有趣的泡泡游戏来袭——愿你童心不泯,永远快乐简单哦~

项目9.6   黑客代码雨

 【神级Python代码】作为技术xiao白如何制作一款超炫酷的黑客主题代码雨?牛逼就完了。(源码分享学习)

🎄文章汇总——

汇总合集 Python—2022 |已有文章汇总 | 持续更新,直接看这篇就够了

(更多内容+源码都在✨文章汇总哦!!欢迎阅读喜欢的文章🎉~

相关文章:

【Python实战】快看:”又中奖了,中大奖了“周围的小伙伴都惊呆了~你还不麻溜滴~(代码版彩票小游戏上线啦)

导语 哈喽!北鼻们,晚上好。 夕阳🌇的第一缕阳光送给小可爱们~每天都要加油鸭! 所有文章完整的素材源码都在👇👇 粉丝白嫖源码福利,请移步至CSDN社区或文末公众hao即可免费。 彩票是一个恒古不…...

【python】控制台中文输出乱码解决方案

注:最后有面试挑战,看看自己掌握了吗 文章目录控制台原因解决方法方法一方法二方法三如果是os.system函数乱码控制台原因 一般的情况下,还是我们的源码文件的编码格式问题。我们一般是要把源码文件的编码格式改成utf-8就好了,但是…...

一名IC验证工程师的成长路径是怎么样的?来听听工程师的见解

IC验证这个岗位对于非科班的学生是比较友好的,因为验证需要具备的技能UVM,SV,C等,非科班和科班的差距不会拉开太大。因其岗位需求量巨大而格外受到了大家的青睐,甚至成为不少学生的转行首选。 验证对于IC的重要性 IC…...

java工具jconsole/jstat学习

参考视频【java】jvm指令与工具jstat/jstack/jmap/jconsole/jps/visualVM_哔哩哔哩_bilibili 一、jps 我们再windows和linux都可以看到哪些java进程。 有小伙伴又会问了 这个类是java的 那其他的这么多进程18096 /8685 这些是啥啊 其实也是java进程,只不过是其他程…...

WSN_1 介绍;部分应用介绍

学习自书籍:Fundamentals of Wireless Sensor Networks. WSN 介绍 传感器 从基础角度说,传感器观测采集现实世界的一些数据。 另一个名称是 transducer 换能器,指传感器将一些形式的信号转换为其他形式的信号,如光敏传感器 光…...

linux常用命令介绍 05 篇——实际应用篇(用 cut、uniq等统计文档里每个关键词出现的次数)

linux常用命令介绍 05 篇——实际应用篇(用 cut、uniq等统计文档里每个关键词出现的次数)1. 先导文章——关于行过滤 和 列截取2. 关于单个统计单词个数2.1 grep2.2 wc3. 统计文档中每个关键词出现的次数3.1 先看文档内容 需求3.1.1 文档内容3.1.2 需求…...

大数据处理学习笔记1.7 Scala类与对象

文章目录零、本节学习目标一、类(一)类的定义(二)类的实例化二、单例对象(一)单例对象概念(二)案例演示三、伴生对象(一)伴生对象概念(二&#xf…...

Feign踩坑源码分析 -- 请求参数分号变逗号

一.案例 1.1.Post请求: http://localhost:8250/xx/task/test json格式参数: {"string": "a;b;c;d" } 1.2.controller代码: AutowiredDataSourceClientService dataSourceClientService;RequestMapping("/test"…...

nginx通用history模式刷新

注:1.通用配置只支持二段路由,二段及以上依然需要单独进行配置 2.所有location后面的路径,都需要使用通配符进行配置 location ^~ /phdp/ {try_files $uri $uri/ /phdp/index.html;index ruoyi.html index.html index.htm;}location ^~ /phdp-api/ {client_max_body_size 20m;p…...

Linux系统安装:Zookeeper

目录 Zookeeper的安装 1、环境准备 2、上传 3、解压文件到opt/zookeeper目下 4、安装完后进入zookeeper,找到conf目录 5、复制zoo_sample.cfg 6、编辑zoo.cfg 7、复制一份会话,进入zookeeper安装目录,创建一个文件夹zkdata&#xff0…...

cocos2dx+lua学习笔记:UIPageView的使用

前言 本篇在讲什么 本篇简单介绍Lua篇cocos2dx中UIPageView的相关内容 仅介绍简单的应用,仅供参考 本篇适合什么 适合初学Cocos2dX的小白 适合想要在Cocos2dx-lua中使用UIPageView的人 本篇需要什么 对Lua语法有简单认知 对Cocos2dx-Lua有简单认知 Cocos2…...

MyBatis常见面试题汇总(超详细回答)

目录 1.什么是Mybatis? 2.Mybatis的优缺点? 3.#{} 和 ${} 的区别是什么? 4.xml 映射文件中有哪些标签? 5.模糊查询 like 语句该怎么写? 6.Mapper 接口的工作原理是什么?Mapper 接口里的方法,参数不同…...

Jvm调优实战笔记

一、基础命令jps 查看所有java进程jinfo 进程号 查看该线程相关信息3、jstat 统计信息(数据跟踪信息)jstat -gc 进程号 查看该线程在内存中每一块占用的大小jstat -gc 进程号 时间(毫秒) 更新频率4、jstack 跟踪线程jstack 进程号…...

JVM 全面了解

JVM包含两个子系统和两个组件,两个子系统为Class loader(类装载器)、Execution engine(执行引擎);两个组件为Runtime data area(运行时数据区)、Native Interface(本地接口)。 方法区:存储已被虚拟机加载的类元数据信息(元空间) 堆&#xf…...

阿里开源自研高性能核心搜索引擎 Havenask

去年12月,阿里开源了自研的大规模分布式搜索引擎 Havenask(内部代号 HA3)。  Havenask 是阿里巴巴内部广泛使用的大规模分布式检索系统,支持了淘宝、天猫、菜鸟、优酷、高德、饿了么等在内整个阿里的搜索业务&#…...

nginx日志服务之敏感信息脱敏

1. 创建实验资源 开始实验之前,您需要先创建实验相关资源。 日志服务之敏感信息脱敏与审计 2. 创建原始数据 本步骤将指导您如何创建NGINX模拟数据。 双击打开虚拟桌面的Firefox ESR浏览器。 在RAM用户登录框中单击下一步,并复制粘贴页面左上角的子…...

【uni-app教程】一、UniAPP 介绍

一、UniAPP 介绍 (1) 什么是 UniAPP? uni-app 是一个使用 Vue.js 开发所有前端应用的框架,开发者编写一套代码,可发布到 iOS,Android,HS,以及各种小程序(微信/支付宝/百度/头条/QQ/钉钉》等多个平台&#…...

Splunk Real-time Search 的研究

最近客户想搞清Splunk real-time search 和related search 有啥区别,想两个都试试,看看效果。 为了更好的说明什么是real-time search, 先看一下: With real-time searches and reports, you can search events before they are indexed and preview reports as the event…...

SWM181 串口功能使用介绍

SWM181 串口功能使用介绍📌SDK固件包:https://www.synwit.cn/kuhanshu_amp_licheng/✨注意新手谨慎选择作为入门单片机学习。🌼开发板如下图: 📋SWM181描述上写了有4个串口,在数据手册上,将引脚…...

Stochastic Approximation 随机近似方法的详解之(三)Dvoretzky’s convergence theorem

定理内容 Theorem 6.2 (Dvoretzky’s Theorem). Consider a stochastic process wk1(1−αk)wkβkηkw_{k1}\left(1-\alpha_k\right) w_k\beta_k \eta_kwk1​(1−αk​)wk​βk​ηk​, 其中{αk}k1∞,{βk}k1∞,{ηk}k1∞\{\alpha_k\}^\infty_{k1},\{\beta_k\}^\infty_{k1},\…...

7个ES6解构技巧让代码更简洁

您是否厌倦了编写臃肿且难以阅读的代码?想要提升您的编码技能并使您的代码更具可读性和简洁性? 从解构对象和数组到使用默认值和展开运算符,我们将涵盖所有内容,现在,我们将准备好掌握干净简洁的编码艺术。 1.解构对…...

曾经被人们看成是异想天开的产业互联网,或许终将会实现

一波还未平息,一波又起。元宇宙的热度还未彻底散去,ChatGPT已经成为了名符其实的新风口。如果用一个概念来定义现在这样一个热点和风口频出的时代的话,我想,用产业互联网或许是再合适不过的了。对此,可能有人并不认同。…...

log4j控制台不打印日志的故障解决方案

前言 接管了别的项目组的一个代码,在IDAE调试程序的过程中,发现log4j日志居然没有打印在控制台上,日志相关代码也没有问题。 在网上搜索了一圈,总结了一下个人解决这个问题的流程。 流程 1. 判断用了什么配置文件 不知道是出…...

C# 序列化时“检测到循环引用”错误的彻底解决方案

目录 一&#xff0c;问题表现 二、没有技术含量的解决方案 三、本人彻底的解决方案 简要说明 贴代码 思路解析 思路 一&#xff0c;问题表现 示例代码如下&#xff1a; [Serializable] public class NodeTest {public NodeTest (){new List<NodeTest> ();}p…...

小红书“复刻”微信,微信“内造”小红书

配图来自Canva可画 随着互联网增长红利逐渐见顶&#xff0c;各大互联网平台对流量的争夺变得愈发激烈。而为了寻找新的业务可能性&#xff0c;各家都在不遗余力地拓宽自身边界。在此背景下&#xff0c;目前最为“吸睛”和“吸金”的社交、电商、种草、短视频等领域&#xff0c…...

用arthas轻松排查线上问题

你是否在项目中会碰到以下一些问题&#xff1a; 在代码中打印各种日志来排查&#xff0c;比如方法的入参&#xff0c;出参&#xff0c;及在方法体中打印日志判断走哪行代码还有你觉得代码没问题&#xff0c;可是运行出现却是以前的bug&#xff0c;感觉代码没修改&#xff0c;或…...

mysql一explain结果分析

1. EXPLAIN简介 使用EXPLAIN关键字可以模拟优化器执行SQL查询语句&#xff0c;从而知道MySQL是如何处理你的SQL语句的。分析你的查询语句或是表结构的性能瓶颈。 ➤ 通过EXPLAIN&#xff0c;我们可以分析出以下结果&#xff1a; 表的读取顺序数据读取操作的操作类型哪些索引可…...

原理底层计划--HashMap

HashMap 之前写了“Java集合TreeMap红黑树一生只爱一次”&#xff0c;说到底还是太年轻了&#xff0c;Map其实在排序中应用比较少&#xff0c;一般追求的是速度&#xff0c;通过HashMap来获取速度。hashmap 调用object hashcode方法用于返回对象的哈希码&#xff0c;主要使用在…...

win10 设备管理器中的黄色感叹号(华硕)

目录一、前言二、原因三、方案四、操作一、前言 打开设备管理器&#xff0c;我们可以看到自己设备的信息&#xff0c;但是在重装系统后&#xff0c;你总会在不经意间发现。咦&#xff0c;怎么多了几个感叹号&#xff1f;&#xff1f;&#xff1f; 由于我已经解决该问题&#…...

新产品上市推广不是“铺货”上架

只有不断推出新产品的企业才能走得长远&#xff0c;但现实中往往有很多企业投入了大量人力、物力、财力研发的新产品却在推广的过程中屡屡受挫。那么&#xff0c;为什么适合市场的新产品会在市场营销推广的过程中夭折呢&#xff1f;小马识途营销顾问分析有如下几点&#xff1a;…...

wordpress文章列表不显示/五种网络营销推广方法

我在使用地税发票控件进行开票的测试的时候&#xff0c;在xp上测试时正常的&#xff0c;在别人的win7系统测试也是正常&#xff0c;但我在我本机确不正常。我本机装的是msdn版本win7系统&#xff0c;这个系统比较原装。 错误信息如下&#xff1a; 2012-07-21 06:30:08,546 [1] …...

邢台哪儿做wap网站/成都专门做网络推广的公司

给出集合 [1,2,3,…,n]&#xff0c;其所有元素共有 n! 种排列。 按大小顺序列出所有排列情况&#xff0c;并一一标记&#xff0c;当 n 3 时, 所有排列如下&#xff1a; “123” “132” “213” “231” “312” “321” 给定 n 和 k&#xff0c;返回第 k 个排列。 示例 1&…...

wordpress调试主题/优化生育政策

一、题目描述 编写一个制造各种车辆的程序。包含三个类&#xff0c;具体要求如下&#xff1a; &#xff08;1&#xff09;基类Vehicle&#xff0c;包含轮子数和汽车自身重量两个属性,一个两参数的构造方法&#xff0c;一个显示汽车信息的方法&#xff1b; &#xff08;2&#…...

网站建设找d云世家/什么软件可以发帖子做推广

今天在看S3C2440开发板的初始化代码时&#xff0c;对#define A (* (volatile unsigned long *) 0x48000000这种形式的定义方式有困惑&#xff0c;于是求助GOOGLE大神,在网上搜到了一些文章&#xff0c;觉得以下三篇文章对理解这个有些作用&#xff1a; 文章一&#xff1a; 有关…...

旅游网站建设和开发/专业做网站公司

win10中要开启热点时可能会报这个错。 解决方法如下&#xff1a; 1 右击电脑选择属性-》设备管理器 2、选择网络适配器 下的WiFi模块&#xff0c;不同电脑名称会有差异&#xff0c;但是名字一定包含 “wireless“ 双击它&#xff0c;选择高级设置 将2.4G 和 5.2G的信道宽度…...

公司内部网站建设方案/引擎搜索对人类记忆的影响

1、手机上有很多输入设备&#xff0c;这些设备的编号每个手机都不同&#xff0c;因此我们需要首先了解这个手机上都有哪些输入设备&#xff0c;下面以我的NexusS为例&#xff1a; http://3ms.huawei.com/hi/blog/24021_1097091.html 【Android学习笔记】用 sendevent 模拟手机…...