Tkinter Canvas 将随机数应用于多个球体的移动

Tkinter Canvas 将随机数应用于多个球体的移动

在拉斯维加斯或是澳门赌场,常可以看到机器赛马的赌具,其实我们若是将球改成赛马其意义是相同的。

观念1:赌场作弊方式

假设想让黄色球跑的速度快一些,它赢的概率是70%,可以利用randint( )产生1~100的随机数,让随机数在1~70间移动黄球,在71~100间移动水蓝色球,这样可以作弊了。

观念2:赌场作弊现形

玩赛马赌具时必须下注,赌场作弊的最佳方式是,让下注最少的马匹有较高概率的移动机会,这样钱就滚滚而来了。

观念3:不作弊

我们可以设计随机数在1~50间移动黄球,在51~100间移动水蓝色球。

示例1

循环跑100次看哪一个球跑得快,让黄色球有70%赢的机会。

from tkinter import * 
import time
from random import * 

tk = Tk()
tk.title("apidemos.com")
canvas = Canvas(tk,width=500, height=250)  # 建立画布
canvas.pack()
id1 = canvas.create_oval(10,50,60,100,fill="yellow")
id2 = canvas.create_oval(10,150,60,200,fill="aqua")

for x in range(0,100):
    if randint(1,100) > 70:
        canvas.move(id2,5,0) 
    else:
        canvas.move(id1,5,0)   # ID=1  x轴移动5像素,y轴移动2像素
    tk.update()          # 强制tkinter重绘
    time.sleep(0.05)

# tk.mainloop()

输出:

Tkinter Canvas 将随机数应用于多个球体的移动

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程