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: 多模块(.py)中全局变量的导入

文章目录 global关键字可变类型和不可变类型数据的内存地址单模块(单个py文件)的全局变量示例总结 多模块(多个py文件)的全局变量from x import x导入全局变量示例 import x导入全局变量示例 总结 global关键字 global 的作用范围是模块(.py)级别: 当你在一个模块(文件)中使用 global 声明变量时,这个变量只在该模块的全局命名空

活用c4d官方开发文档查询代码

当你问AI助手比如豆包,如何用python禁止掉xpresso标签时候,它会提示到 这时候要用到两个东西。https://developers.maxon.net/论坛搜索和开发文档 比如这里我就在官方找到正确的id描述 然后我就把参数标签换过来

【Python编程】Linux创建虚拟环境并配置与notebook相连接

1.创建 使用 venv 创建虚拟环境。例如,在当前目录下创建一个名为 myenv 的虚拟环境: python3 -m venv myenv 2.激活 激活虚拟环境使其成为当前终端会话的活动环境。运行: source myenv/bin/activate 3.与notebook连接 在虚拟环境中,使用 pip 安装 Jupyter 和 ipykernel: pip instal

poj 1258 Agri-Net(最小生成树模板代码)

感觉用这题来当模板更适合。 题意就是给你邻接矩阵求最小生成树啦。~ prim代码:效率很高。172k...0ms。 #include<stdio.h>#include<algorithm>using namespace std;const int MaxN = 101;const int INF = 0x3f3f3f3f;int g[MaxN][MaxN];int n

【机器学习】高斯过程的基本概念和应用领域以及在python中的实例

引言 高斯过程(Gaussian Process,简称GP)是一种概率模型,用于描述一组随机变量的联合概率分布,其中任何一个有限维度的子集都具有高斯分布 文章目录 引言一、高斯过程1.1 基本定义1.1.1 随机过程1.1.2 高斯分布 1.2 高斯过程的特性1.2.1 联合高斯性1.2.2 均值函数1.2.3 协方差函数(或核函数) 1.3 核函数1.4 高斯过程回归(Gauss

【学习笔记】 陈强-机器学习-Python-Ch15 人工神经网络(1)sklearn

系列文章目录 监督学习:参数方法 【学习笔记】 陈强-机器学习-Python-Ch4 线性回归 【学习笔记】 陈强-机器学习-Python-Ch5 逻辑回归 【课后题练习】 陈强-机器学习-Python-Ch5 逻辑回归(SAheart.csv) 【学习笔记】 陈强-机器学习-Python-Ch6 多项逻辑回归 【学习笔记 及 课后题练习】 陈强-机器学习-Python-Ch7 判别分析 【学

计算机毕业设计 大学志愿填报系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点赞 👍 收藏 ⭐评论 📝 🍅 文末获取源码联系 👇🏻 精彩专栏推荐订阅 👇🏻 不然下次找不到哟~Java毕业设计项目~热门选题推荐《1000套》 目录 1.技术选型 2.开发工具 3.功能

nudepy,一个有趣的 Python 库!

更多资料获取 📚 个人网站:ipengtao.com 大家好,今天为大家分享一个有趣的 Python 库 - nudepy。 Github地址:https://github.com/hhatto/nude.py 在图像处理和计算机视觉应用中,检测图像中的不适当内容(例如裸露图像)是一个重要的任务。nudepy 是一个基于 Python 的库,专门用于检测图像中的不适当内容。该

代码随想录冲冲冲 Day39 动态规划Part7

198. 打家劫舍 dp数组的意义是在第i位的时候偷的最大钱数是多少 如果nums的size为0 总价值当然就是0 如果nums的size为1 总价值是nums[0] 遍历顺序就是从小到大遍历 之后是递推公式 对于dp[i]的最大价值来说有两种可能 1.偷第i个 那么最大价值就是dp[i-2]+nums[i] 2.不偷第i个 那么价值就是dp[i-1] 之后取这两个的最大值就是d

pip-tools:打造可重复、可控的 Python 开发环境,解决依赖关系,让代码更稳定

在 Python 开发中,管理依赖关系是一项繁琐且容易出错的任务。手动更新依赖版本、处理冲突、确保一致性等等,都可能让开发者感到头疼。而 pip-tools 为开发者提供了一套稳定可靠的解决方案。 什么是 pip-tools? pip-tools 是一组命令行工具,旨在简化 Python 依赖关系的管理,确保项目环境的稳定性和可重复性。它主要包含两个核心工具:pip-compile 和 pip