python百行代码编码摇骰子模拟器(告诫网du)

2023-12-27 03:30

本文主要是介绍python百行代码编码摇骰子模拟器(告诫网du),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

有话说

该摇骰子项目起初只是想演示一下所谓的倍压法是否有效,实际测试中也发现如果运气够好的话倍押法是一种比较好的回本方式,但是前提是你有足够的本,如果运气一直差的话最后也会输的啥都不剩,而这一切的前提是你所谓的赌都是处于正常模式下,就是每个概率都是公平的。但是如果du的平台做了一点手脚,那么,别说倍压法回本,倾家荡产只是一瞬间的事。

所以,别相信所谓的网du,里面的水不知道有多深,而我只是尝试了一些小东西,往往搞这些du平台的多多少少熟知一些人的正常心理,比如先给你点甜头,后面再慢慢宰。

本来打算用此做一次大数据实验这个所谓的倍押法的,但是由于上班基本没多少时间,周末又不想动,所以当编码完成后做了一两次实验我就没动过了,结果显而易见,最好的回本方法就是碰都不要碰这些所谓的网du,就算上头了一次了,及时悬崖勒马,及时止损是最好的办法。

整体逻辑

  1. 初始金币
  2. 获得押注
  3. 扣除押注
  4. 随机出现点数,大:小于9点,小:大于9点
  5. 根据押注获得比例,压中大小:2倍。顺子:3倍,豹子:6倍。
  6. 上帝模式:这个是我临时想起来的,做一点手脚后,根本没赢的可能,最好的押注就是平手,而逻辑就是简单的判断你的押注,反向给你出点数,使得你的押注是不可能盈利的。

整体界面演示

在这里插入图片描述

上帝模式(不可能赢)

在这里插入图片描述

整体代码

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2020/12/17 20:02
# @Author  : Cxk
# @File    : 摇塞子模拟.py
# @文件下载地址 http://www.cxkboke.top/phone_win_file/%E6%91%87%E9%AA%B0%E5%AD%90%E6%A8%A1%E6%8B%9F.zipimport tkinter
from PIL import Image, ImageTk
import random,time 
import tkinter.messageboxdef new_game():global v,run_now,chiose,gold,chiose_once,is_god,old_goldold_gold=goldrun_now = Falseis_god=Falsechiose_once=Falsechiose={"BIG":0,"SMORT":0,"SHUN":0,"BAO":0}# 添加按钮所实现的功能
def run(count):try:global v,run_now,chiose,gold,chiose_once,is_god,old_goldif run_now:returnis_run = Trueif not chiose_once:now_gold=gold-t1.get()-t2.get()-t3.get()-t4.get()if now_gold<0:tkinter.messagebox.showinfo(title = '提示',message='金币不够下注')returnif CheckVar1.get()==0 and CheckVar2.get()==0 and CheckVar3.get()==0 and CheckVar4.get()==0 or t1.get()==0 and t2.get()==0 and t3.get()==0 and t4.get()==0:tkinter.messagebox.showinfo(title = '提示',message='未进行下注')returnelse:if CheckVar1.get()==1:gold-=t1.get()chiose['BIG']=t1.get()v.set('%s'%str(gold))if CheckVar2.get()==1:gold-=t2.get()chiose['SMORT']=t2.get()v.set('%s'%str(gold))if CheckVar3.get()==1:gold-=t3.get()chiose['SHUN']=t3.get()v.set('%s'%str(gold))if CheckVar4.get()==1:gold-=t4.get()chiose['BAO']=t4.get()v.set('%s'%str(gold))chiose_once=True#print(chiose)if is_god:if chiose['BIG']>chiose['SMORT']:a=[random.randint(1,3) for i in range(0,3)]else:a=[random.randint(3,6) for i in range(0,3)]else:a=[random.randint(1,6) for i in range(0,3)]diceimage = ImageTk.PhotoImage(Image.open("sz/%s.jpg"%a[0]))# 更新图片label1.configure(image=diceimage)label1.image = diceimagediceimage = ImageTk.PhotoImage(Image.open("sz/%s.jpg"%a[1]))# 更新图片label2.configure(image=diceimage)label2.image = diceimagediceimage = ImageTk.PhotoImage(Image.open("sz/%s.jpg"%a[2]))# 更新图片label3.configure(image=diceimage)label3.image = diceimagewait = [a for a in range(50, 200, 10)] + [b for b in range(200, 400, 300 // 2)] + \[c for c in range(400, 600, 120)] + [d for d in range(600, 800, 200)]if count < len(wait):root.after(wait[count], run,count + 1)else:a.sort()if sum(a)>9:gold+=chiose['BIG']*2if sum(a)<9:gold+=chiose['SMORT']*2if a[0]+a[1]==a[2]:gold+=chiose['SHUN']*3if a[0]==a[1] and a[0]==a[2]:gold+=chiose['BAO']*6v.set('%s'%str(gold))#print(old_gold)if gold-old_gold>=0:tkinter.messagebox.showinfo(title = '提示',message='本局押对,获得金币:%s'%str(gold-old_gold))else:tkinter.messagebox.showinfo(title = '提示',message='本局押错,扣除金币:%s'%str(old_gold-gold))new_game()except:new_game()tkinter.messagebox.showerror(title = '提示',message='出错了,请重新')def get_gold(golds):global gold,vgold=goldsv.set('%s'%str(gold))tkinter.messagebox.showinfo(title = '提示',message='金币已重置')def God():global is_godif is_god:tkinter.messagebox.showinfo(title = '提示',message='上帝模式关闭,看运气模式')is_god=Falseelse:tkinter.messagebox.showinfo(title = '提示',message='上帝模式开启,不可能获胜')is_god=Trueif __name__=='__main__':global v,run_now,gold,chiose,chiose_once,is_god,old_goid#初始金gold=5000old_gold=5000is_god=Falsechiose_once=Falsechiose={"BIG":0,"SMORT":0,"SHUN":0,"BAO":0}run_now=False# 创建主窗口root = tkinter.Tk()winWidth = 800winHeight = 400screenWidth = root.winfo_screenwidth()screenHeight = root.winfo_screenheight()x = int((screenWidth - winWidth) / 2)y = int((screenHeight - winHeight) / 2)# 设置窗口初始位置在屏幕居中root.geometry("%sx%s+%s+%s" % (winWidth, winHeight, x, y))root.title("摇塞子模拟")root.resizable(width=False, height=False)#绘制主界面# 图片文件# 使用随机数并生成图像a=[6,6,6]diceimage = ImageTk.PhotoImage(Image.open("sz/%s.jpg"%a[0]))label1 = tkinter.Label(root, image=diceimage)label1.image = diceimage# 放置在窗口中 label1.place(x=55, y=80)diceimage = ImageTk.PhotoImage(Image.open("sz/%s.jpg"%a[1]))label2 = tkinter.Label(root, image=diceimage)label2.image = diceimage# 放置在窗口中 label2.place(x=255, y=80)diceimage = ImageTk.PhotoImage(Image.open("sz/%s.jpg"%a[2]))label3 = tkinter.Label(root, image=diceimage)label3.image = diceimage# 放置在窗口中 label3.place(x=455, y=80)v = tkinter.StringVar()v.set("%s"%gold)label4 = tkinter.Label(root, textvariable=v,fg="red", bg="yellow",font=("微软雅黑", 25, "bold"))label4.pack(side="top",pady=10)pailie=20t1 = tkinter.IntVar()entry = tkinter.Entry(root,textvariable = t1,width = 10)entry.place(x=pailie, y=290)CheckVar1 = tkinter.IntVar()C1 = tkinter.Checkbutton(root,text = "买大(2倍)", variable = CheckVar1,onvalue = 1, offvalue = 0, height=3,width = 10)C1.place(x=pailie+70, y=270)t2 = tkinter.IntVar()entry = tkinter.Entry(root,textvariable = t2,width = 10)entry.place(x=pailie+200, y=290)CheckVar2 = tkinter.IntVar()C2 = tkinter.Checkbutton(root, text = "买小(2倍)", variable = CheckVar2, onvalue = 1, offvalue = 0, height=3,width = 10)C2.place(x=pailie+270, y=270)t3 = tkinter.IntVar()entry = tkinter.Entry(root,textvariable = t3,width = 10)entry.place(x=pailie+400, y=290)CheckVar3 = tkinter.IntVar()C3 = tkinter.Checkbutton(root, text = "顺子(3倍)", variable = CheckVar3,onvalue = 1, offvalue = 0, height=3,width =10)C3.place(x=pailie+470, y=270)t4 = tkinter.IntVar()entry = tkinter.Entry(root,textvariable = t4,width = 10)entry.place(x=pailie+600, y=290)CheckVar4 = tkinter.IntVar()C4 = tkinter.Checkbutton(root, text = "豹子(6倍)", variable = CheckVar4, onvalue = 1, offvalue = 0, height=3,width = 10)C4.place(x=pailie+670, y=270)# 添加按钮 设置按钮样式 实现上面所定义的功能button = tkinter.Button(root, text="摇塞子", width=50,height=3,fg="red", command=lambda:run(0))# 放置在窗口中button.pack(side="bottom",pady=10)# 添加按钮 设置按钮样式 实现上面所定义的功能button = tkinter.Button(root, text="重置金币", width=10,height=3,fg="red", command=lambda:get_gold(5000))# 放置在窗口中button.place(x=100, y=325)# 添加按钮 设置按钮样式 实现上面所定义的功能button = tkinter.Button(root, text="上帝模式", width=10,height=3,fg="red", command=lambda:God())# 放置在窗口中button.place(x=620, y=325)root.mainloop()

这篇关于python百行代码编码摇骰子模拟器(告诫网du)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Python中模块graphviz使用入门

《Python中模块graphviz使用入门》graphviz是一个用于创建和操作图形的Python库,本文主要介绍了Python中模块graphviz使用入门,具有一定的参考价值,感兴趣的可以了解一... 目录1.安装2. 基本用法2.1 输出图像格式2.2 图像style设置2.3 属性2.4 子图和聚

Python使用Matplotlib绘制3D曲面图详解

《Python使用Matplotlib绘制3D曲面图详解》:本文主要介绍Python使用Matplotlib绘制3D曲面图,在Python中,使用Matplotlib库绘制3D曲面图可以通过mpl... 目录准备工作绘制简单的 3D 曲面图绘制 3D 曲面图添加线框和透明度控制图形视角Matplotlib

一文教你Python如何快速精准抓取网页数据

《一文教你Python如何快速精准抓取网页数据》这篇文章主要为大家详细介绍了如何利用Python实现快速精准抓取网页数据,文中的示例代码简洁易懂,具有一定的借鉴价值,有需要的小伙伴可以了解下... 目录1. 准备工作2. 基础爬虫实现3. 高级功能扩展3.1 抓取文章详情3.2 保存数据到文件4. 完整示例

使用Python实现IP地址和端口状态检测与监控

《使用Python实现IP地址和端口状态检测与监控》在网络运维和服务器管理中,IP地址和端口的可用性监控是保障业务连续性的基础需求,本文将带你用Python从零打造一个高可用IP监控系统,感兴趣的小伙... 目录概述:为什么需要IP监控系统使用步骤说明1. 环境准备2. 系统部署3. 核心功能配置系统效果展

解决IDEA报错:编码GBK的不可映射字符问题

《解决IDEA报错:编码GBK的不可映射字符问题》:本文主要介绍解决IDEA报错:编码GBK的不可映射字符问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录IDEA报错:编码GBK的不可映射字符终端软件问题描述原因分析解决方案方法1:将命令改为方法2:右下jav

基于Python打造一个智能单词管理神器

《基于Python打造一个智能单词管理神器》这篇文章主要为大家详细介绍了如何使用Python打造一个智能单词管理神器,从查询到导出的一站式解决,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 项目概述:为什么需要这个工具2. 环境搭建与快速入门2.1 环境要求2.2 首次运行配置3. 核心功能使用指

Python实现微信自动锁定工具

《Python实现微信自动锁定工具》在数字化办公时代,微信已成为职场沟通的重要工具,但临时离开时忘记锁屏可能导致敏感信息泄露,下面我们就来看看如何使用Python打造一个微信自动锁定工具吧... 目录引言:当微信隐私遇到自动化守护效果展示核心功能全景图技术亮点深度解析1. 无操作检测引擎2. 微信路径智能获

Python中pywin32 常用窗口操作的实现

《Python中pywin32常用窗口操作的实现》本文主要介绍了Python中pywin32常用窗口操作的实现,pywin32主要的作用是供Python开发者快速调用WindowsAPI的一个... 目录获取窗口句柄获取最前端窗口句柄获取指定坐标处的窗口根据窗口的完整标题匹配获取句柄根据窗口的类别匹配获取句

利用Python打造一个Excel记账模板

《利用Python打造一个Excel记账模板》这篇文章主要为大家详细介绍了如何使用Python打造一个超实用的Excel记账模板,可以帮助大家高效管理财务,迈向财富自由之路,感兴趣的小伙伴快跟随小编一... 目录设置预算百分比超支标红预警记账模板功能介绍基础记账预算管理可视化分析摸鱼时间理财法碎片时间利用财

Python中的Walrus运算符分析示例详解

《Python中的Walrus运算符分析示例详解》Python中的Walrus运算符(:=)是Python3.8引入的一个新特性,允许在表达式中同时赋值和返回值,它的核心作用是减少重复计算,提升代码简... 目录1. 在循环中避免重复计算2. 在条件判断中同时赋值变量3. 在列表推导式或字典推导式中简化逻辑