1.前言

今年的疫情来得突如其然,被窝在家里的我,又重拾旧业——三国杀。我接触三国杀时间也不短了,现在却也只有两个史诗将(左慈、许攸)QAQ。在氪金上我应该算个非洲土著吧,但是我又抑制不住开盒时刻的那种爽感。

于是,我想起来何不自己写个抽奖模拟器呢?这样我就可以省下很多钱,又享受了土豪开盒的快感.....

花了大概一晚上,我用Python写出来一个普通的开盒模拟器——只能在Python编程环境下的黑框框中运行,然后我开了一晚上盒子......随后又感觉交互性太差,我就打算干脆做个带界面的开盒模拟器来。于是,我特意跑去接触了下Python的UI开发包,中间也趟过坑。最终在断断续续的摸鱼时间里,我写完了这个属于穷人&非酋的“三国杀开盒模拟器”。

展示一下最终的界面图:

毕竟个人这审美还是不足,做出的这个界面虽然丑了点,但还是比较清楚的......现在还有一些功能没有进一步完善,比如:评级、数据分析。这一块我打算之后有空了再细化一下。

2.功能展示

2.1 充值

点击“充值”就可以“充值”了,这里充值的范围是非负整数(Python3.5之后的int长度理论上是无限的)。

2.2 购买盒子

点击“商店”,在下拉框选择自己想购买的盒子种类和数量。

2.3 抽奖

脱非入欧就在此时!(我自己试过最好一次是50个盒子出神司马懿)

2.4 数据统计

这里有点懒得写了,实际上可以参考“3σ原则”做一个概率分布,然后判定某人的运气到底是前10%,还是前1%。我这里粗略地用史诗武将数量来定义的,后续如果功能更新,这里应该是被优化的点。

3 技术路线

Python+PyQt5+Pandas。其实这个小软件可以拆分成前端、后端来看,前端是PyQt5实现的界面,后端是Python写的类&整体框架,Pandas相当于数据库的交互,因为我用了一个.csv文件存放所有盒子的权重、奖品等信息,程序启动后会用这个.csv文件进行初始化。

后续我还会抽空对功能进行进一步的优化,也会出一些博客来记录这个开发过程。

【Python】利用摸鱼的时间,我写了一个三国杀开盒模拟器...相关推荐

  1. 上班聊天,摸鱼神器,手写一款即时通讯工具(附源码!!!)

    文章目录 即时通讯工具 客户端 服务端 1.链接 2.登录 3.其他方法 3.1.读取客户端的消息 3.2.给客户端发送消息 3.3.日志记录 3.4.工具集合 3.5.ChatSocket 服务端部 ...

  2. Python【摸鱼高效】自动化办公:自动分析数据制作报表+发送邮箱

    嗨害大家好鸭!我是小熊猫❤ 如何提高工(mo)作(yu)效率? 应该如何利用我们所学的技术去更好的处理工作呢? 这就需要我们制作一个Python小程序让它自己去实现, 这样我们就有更多的时间去做数据分 ...

  3. 学习python的摸鱼日常

    目录 1.比较运算符 2.逻辑运算符 3.if条件语句 4.双分支条件语句 5.多分支结构 6.多层嵌套 7.三元表达式 8.whlie循环 1.比较运算符 ⽐较运算符也叫关系运算符, 通常⽤来判断. ...

  4. Python开发摸鱼小游戏——兔獾大战,越玩越上瘾

    前阵子看到国外一个12岁的孩子写的兔獾大战游戏,心生敬佩,想当年我还是12岁的时候还不知电脑为何物,连小霸王都未曾玩过.自己也未曾想去搞游戏开发,纯属自娱自乐.在此心态下,依葫芦画瓢重新架构了一下该游 ...

  5. python中如何调用函数_我写了一个函数,如何在python中调用

    匿名用户 1级 2015-03-06 回答 Python的特色简单 Python是一种代表简单主义思想的语言.阅读一个良好的Python程序就感觉像是在读英语一样,尽管这个英语的要求非常严格!Pyth ...

  6. python抢票软件源代码_自己写的一个抢票加速的Python小程序源码分享-----纯属娱乐...

    最近这段时间频频看到微信群里发什么 抢票加速,智行.携程.飞猪.美团,对于我这能坐客车就不坐火车的人来说,无所谓靠谱不靠谱 突发奇想的整理了下整个抢票加速的逻辑,写了这个小程序,代码很low,拒绝批评 ...

  7. 怎么用python编写个apk_新手用tkinter写了一个APK提取工具

    [Python] 纯文本查看 复制代码""" @author:qh @datetime:2019-3-15 @mood:<(* ̄▽ ̄*)/ "" ...

  8. 为了练习自己的Python基础语法,我用pygame写了一个打砖块闯关的游戏

    ✅作者简介:人工智能专业本科在读,喜欢计算机与编程,写博客记录自己的学习历程.

  9. 一把王者的时间就写完了一个nginx的web集群项目

    构建一个基于nginx的web集群项目 一.什么是负载均衡? 二.为什么需要负载均衡? 1.编译安装nginx 2.解决软件的依赖关系,需要安装的软件包 3.新建luogan用户和组 4.下载ngin ...

最新文章

  1. Linux安装Android开发环境
  2. linux删除某个用户的共享内存,删除Linux上的所有共享内存和信号量
  3. android学习日记24--Android 菜单开发
  4. script type=text/template是干什么的,为什么要把html写在js中? 这是什么编程语言风格,都能这样用吗?...
  5. SQL 模糊查询技术
  6. BZOJ1202 [HNOI2005]狡猾的商人 【并查集】
  7. java to对象_java中同类对象之间的compareTo()和compare()方法对比分析
  8. SAP CRM呼叫中心和Hybris Commerce Backoffice的轮询设计
  9. Linux -sed
  10. ajax怎么找回地址栏,使用ajax和window.history.pushState无刷新改变页面内容和地址栏URL...
  11. 【超简单已实现】CSDN实现点击跳转到指定段落
  12. html京东快报,练习3:仿京东快报.html
  13. docker 启动镜像_Docker学以致用,开源项目和云服务,是最好的学习资源
  14. ASCIIMathML技术简介~
  15. ie工业工程,VIOOVI工时分析软件:教你一个测量工时的快捷方法
  16. IEEE802模型与协议标准
  17. Android青翼蝠王之ContentProvider
  18. 用Chrome浏览器模拟手机,android,iphone,ipad访问网站
  19. 可扩展java游戏框架实践之java飞机大战
  20. 痞子衡嵌入式:可通过USB Device Path来唯一指定i.MXRT设备进行ROM/Flashloader通信

热门文章

  1. 关于C语言函数的简单理解
  2. ZONe Sneaking 优化建图 + 最短路
  3. 大数据基础知识思维导图
  4. RN:分包/拆包技术调研
  5. 如何让程序运行后不谈程序兼容性助手
  6. manifest文件解决兼容性助手问题
  7. 成都榆熙电子商务有限公司:旗舰店都有哪些优势?
  8. 软件测试基础理论-测试用例
  9. 2018.06.25 一个不知道叫什么好的U盘启动工具集
  10. Centos7 合理分配 swap空间