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结合PyWebView库打造跨平台桌面应用

《Python结合PyWebView库打造跨平台桌面应用》随着Web技术的发展,将HTML/CSS/JavaScript与Python结合构建桌面应用成为可能,本文将系统讲解如何使用PyWebView... 目录一、技术原理与优势分析1.1 架构原理1.2 核心优势二、开发环境搭建2.1 安装依赖2.2 验

使用Java将DOCX文档解析为Markdown文档的代码实现

《使用Java将DOCX文档解析为Markdown文档的代码实现》在现代文档处理中,Markdown(MD)因其简洁的语法和良好的可读性,逐渐成为开发者、技术写作者和内容创作者的首选格式,然而,许多文... 目录引言1. 工具和库介绍2. 安装依赖库3. 使用Apache POI解析DOCX文档4. 将解析

一文详解如何在Python中从字符串中提取部分内容

《一文详解如何在Python中从字符串中提取部分内容》:本文主要介绍如何在Python中从字符串中提取部分内容的相关资料,包括使用正则表达式、Pyparsing库、AST(抽象语法树)、字符串操作... 目录前言解决方案方法一:使用正则表达式方法二:使用 Pyparsing方法三:使用 AST方法四:使用字

C++使用printf语句实现进制转换的示例代码

《C++使用printf语句实现进制转换的示例代码》在C语言中,printf函数可以直接实现部分进制转换功能,通过格式说明符(formatspecifier)快速输出不同进制的数值,下面给大家分享C+... 目录一、printf 原生支持的进制转换1. 十进制、八进制、十六进制转换2. 显示进制前缀3. 指

Python列表去重的4种核心方法与实战指南详解

《Python列表去重的4种核心方法与实战指南详解》在Python开发中,处理列表数据时经常需要去除重复元素,本文将详细介绍4种最实用的列表去重方法,有需要的小伙伴可以根据自己的需要进行选择... 目录方法1:集合(set)去重法(最快速)方法2:顺序遍历法(保持顺序)方法3:副本删除法(原地修改)方法4:

Python运行中频繁出现Restart提示的解决办法

《Python运行中频繁出现Restart提示的解决办法》在编程的世界里,遇到各种奇怪的问题是家常便饭,但是,当你的Python程序在运行过程中频繁出现“Restart”提示时,这可能不仅仅是令人头疼... 目录问题描述代码示例无限循环递归调用内存泄漏解决方案1. 检查代码逻辑无限循环递归调用内存泄漏2.

Python中判断对象是否为空的方法

《Python中判断对象是否为空的方法》在Python开发中,判断对象是否为“空”是高频操作,但看似简单的需求却暗藏玄机,从None到空容器,从零值到自定义对象的“假值”状态,不同场景下的“空”需要精... 目录一、python中的“空”值体系二、精准判定方法对比三、常见误区解析四、进阶处理技巧五、性能优化

使用Python构建一个Hexo博客发布工具

《使用Python构建一个Hexo博客发布工具》虽然Hexo的命令行工具非常强大,但对于日常的博客撰写和发布过程,我总觉得缺少一个直观的图形界面来简化操作,下面我们就来看看如何使用Python构建一个... 目录引言Hexo博客系统简介设计需求技术选择代码实现主框架界面设计核心功能实现1. 发布文章2. 加

python logging模块详解及其日志定时清理方式

《pythonlogging模块详解及其日志定时清理方式》:本文主要介绍pythonlogging模块详解及其日志定时清理方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录python logging模块及日志定时清理1.创建logger对象2.logging.basicCo

Python如何自动生成环境依赖包requirements

《Python如何自动生成环境依赖包requirements》:本文主要介绍Python如何自动生成环境依赖包requirements问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录生成当前 python 环境 安装的所有依赖包1、命令2、常见问题只生成当前 项目 的所有依赖包1、