Python 如何创建一个按钮,当您按下它时,它会继续运行您的代码,但当您单击其他位置时,它会被打断?
我的代码有一个问题,如果你运行它,你会看到在一个矩形里面有一个“点击滚动”的文本。如果在矩形内单击,如何使代码继续运行;如果在矩形外单击,如何使代码中断并关闭?有没有办法在不添加新模块的情况下使用我当前的模块?谢谢Python 如何创建一个按钮,当您按下它时,它会继续运行您的代码,但当您单击其他位置时,它会被打断?,python,Python,我的代码有一个问题,如果你运行它,你会看到在一个矩形里面有一个“点击滚动”的文本。如果在矩形内单击,如何使代码继续运行;如果在矩形外单击,如何使代码中断并关闭?有没有办法在不添加新模块的情况下使用我当前的模块?谢谢 import graphics from graphics import * from random import randrange max_x = 500 max_y = 300 win = GraphWin("Dice Rolls", max_x,max_y) #drives
import graphics
from graphics import *
from random import randrange
max_x = 500
max_y = 300
win = GraphWin("Dice Rolls", max_x,max_y)
#drives the program
def main():
class dots():
#Drawn dots
def __init__(self,p_x=0,p_y=0,p_s=50):
self.m_x = p_x
self.m_y = p_y
self.m_dice_size = p_s
self.m_items = []
dot_size = 4
x = self.m_x
y = self.m_y
s = self.m_dice_size
d = s/4
self.m_items.append(Circle(Point(x+2*d, y+2*d), dot_size))
self.m_items.append(Circle(Point(x+1*d, y+1*d), dot_size))
self.m_items.append(Circle(Point(x+1*d, y+2*d), dot_size))
self.m_items.append(Circle(Point(x+1*d, y+3*d), dot_size))
self.m_items.append(Circle(Point(x+3*d, y+1*d), dot_size))
self.m_items.append(Circle(Point(x+3*d, y+2*d), dot_size))
self.m_items.append(Circle(Point(x+3*d, y+3*d), dot_size))
for dot in self.m_items:
dot.setFill('black')
#Displays three dice images based on the random value
def display_dice(self):
return (self.m_x,self.m_y,self.m_s)
def undraw(self):
for dot in self.m_items:
dot.undraw()
#Drawn Dice
def draw(self, p_win, p_num):
for dot in self.m_items:
dot.undraw()
if (p_num==1):
self.m_items[0].draw(p_win)
elif (p_num==2):
self.m_items[3].draw(p_win)
self.m_items[4].draw(p_win)
elif (p_num==3):
self.m_items[0].draw(p_win)
self.m_items[3].draw(p_win)
self.m_items[4].draw(p_win)
elif (p_num==4):
self.m_items[1].draw(p_win)
self.m_items[3].draw(p_win)
self.m_items[4].draw(p_win)
self.m_items[6].draw(p_win)
elif (p_num==5):
self.m_items[0].draw(p_win)
self.m_items[1].draw(p_win)
self.m_items[3].draw(p_win)
self.m_items[4].draw(p_win)
self.m_items[6].draw(p_win)
elif (p_num==6):
self.m_items[1].draw(p_win)
self.m_items[2].draw(p_win)
self.m_items[3].draw(p_win)
self.m_items[4].draw(p_win)
self.m_items[5].draw(p_win)
self.m_items[6].draw(p_win)
#Prepares for next roll
class dice_t:
def __init__(self,x=0,y=0):
self.m_x = x
self.m_y = y
self.m_s = 50
self.m_item = Rectangle(Point(self.m_x,self.m_y),Point(self.m_x+self.m_s,self.m_y+self.m_s))
self.m_item.setFill('white')
self.m_dots = dots(self.m_x,self.m_y,self.m_s)
def display_dice(self):
return (self.m_x,self.m_y,self.m_s)
def draw_die(self, p_win):
self.m_item.undraw()
self.m_item.draw(p_win)
def draw(self, p_win, p_num):
self.draw_die(p_win)
self.m_dots.draw(p_win,p_num)
def undraw(self):
self.m_item.undraw()
self.m_dots.undraw()
#Winnings and losing calculation
def check_winner(p_rolls=[]):
last = None
total = 0
triple = True
for r in p_rolls:
if (last!=None) and (last!=r):
triple = False
last = r
total += r
if (total==3) or (total==18):
return 10
elif (total==4) or (total==17):
return 5
elif (triple ==True):
return 2
return -1
#Text and instructions/rules
def get_bet(p_win,p_balance,p_def_bet):
inst = []
inst.append(Text(Point(max_x/2,20), "MAKE YOUR BET: "))
inst.append(Text(Point(max_x/2,40), "BALANCE:"+str(p_balance)))
inst.append(Text(Point(max_x/2,70), "Rules: "))
inst.append(Text(Point(max_x/2,90), "If you roll a 3 or 18 in total your bet winnings will be 10x your bet."))
inst.append(Text(Point(max_x/2,110), "If you roll a 4 or 17 in total your bet winnings will be 5x your bet."))
inst.append(Text(Point(max_x/2,130), "If you roll triples besides a 3 and 18 your bet winnings will be 2x your bet."))
inst.append(Text(Point(max_x/2,150), 'If you roll anything else, you lose your bet.'))
inst.append(Rectangle(Point(max_x/2-59,190), Point(max_x/2+59, 210)))
inst.append(Text(Point(max_x/2, 200), 'CLICK TO ROLL'))
for item in inst:
item.draw(p_win)
bet_text = str(p_def_bet)
bet_input = Entry(Point (max_x/2+100, 20),5)
bet_input.setText(bet_text)
bet_input.draw(p_win)
p_win.getMouse()
bet_text = bet_input.getText()
bet = int(bet_text)
bet_input.undraw()
for item in inst:
item.undraw()
return bet
#Shows winnings, checks for winner, updates total, and returns the updated total
def show_winnings(p_win, p_winnings):
inst = []
inst.append(Text(Point(max_x/2,90), "Your WINNINGS:"+str(winnings)))
inst.append(Rectangle(Point(max_x/2-50,190), Point(max_x/2+50, 210)))
inst.append(Text(Point(max_x/2, 200), 'PLAY AGAIN'))
for item in inst:
item.draw(p_win)
p_win.getMouse()
for item in inst:
item.undraw()
#Shows bet
def show_bet_invalid(p_win):
inst = []
inst.append(Text(Point(max_x/2,90), "YOUR BET WAS INVALID"))
inst.append(Rectangle(Point(max_x/2-50,190), Point(max_x/2+50, 210)))
inst.append(Text(Point(max_x/2, 200), 'TRY AGAIN'))
for item in inst:
item.draw(p_win)
p_win.getMouse()
for item in inst:
item.undraw()
#Shows game over
def show_game_over(p_win):
inst = []
inst.append(Text(Point(max_x/2,90), "YOU ARE OUT OF MONEY"))
inst.append(Rectangle(Point(max_x/2-50,190), Point(max_x/2+50, 210)))
inst.append(Text(Point(max_x/2, 200), 'QUIT'))
for item in inst:
item.draw(p_win)
p_win.getMouse()
for item in inst:
item.undraw()
# M A I N and balances along with random outputs
#################################################
dice = []
for d in range(0,3):
dice.append(dice_t(max_x/2-90+d*60,5))
balance = 100
def_bet = 10
while ( balance > 0 ):
bet_invalid = True
while (bet_invalid):
bet = get_bet(win,balance,def_bet)
if (bet>=1) and (bet<=balance):
bet_invalid = False
else:
show_bet_invalid(win)
def_bet = bet
rolls = []
for r in range(0,3):
roll = randrange(1, 7)
dice[r].draw(win,roll)
rolls.append(roll)
winnings = check_winner(rolls) * bet
balance += winnings
show_winnings(win, winnings)
for r in range(0,3):
dice[r].undraw()
show_game_over(win)
main()
导入图形
从图形导入*
从随机输入范围
最大x=500
最大值=300
win=GraphWin(“骰子卷”,最大x,最大y)
#驱动程序
def main():
类dots():
#画点
定义初始值(self,p_x=0,p_y=0,p_s=50):
self.m_x=p_x
self.m_y=p_y
self.m_dice_size=p_s
self.m_项目=[]
圆点大小=4
x=自我m_x
y=self.m_y
s=self.m_骰子大小
d=s/4
self.m_items.append(圆(点(x+2*d,y+2*d),点大小))
self.m_items.append(圆(点(x+1*d,y+1*d),点大小))
self.m_items.append(圆(点(x+1*d,y+2*d),点大小))
self.m_items.append(圆(点(x+1*d,y+3*d),点大小))
self.m_items.append(圆(点(x+3*d,y+1*d),点大小))
self.m_items.append(圆(点(x+3*d,y+2*d),点大小))
self.m_items.append(圆(点(x+3*d,y+3*d),点大小))
对于self.m_项目中的dot:
圆点设置填充(“黑色”)
#根据随机值显示三个骰子图像
def显示骰子(自身):
返回(self.m\x,self.m\y,self.m\s)
def undraw(自身):
对于self.m_项目中的dot:
dot.undraw()
#抽骰子
def抽签(自我、p_赢、p_数):
对于self.m_项目中的dot:
dot.undraw()
如果(p_num==1):
self.m_项目[0]。抽签(p_-win)
elif(p_num==2):
self.m_项目[3]。抽签(p_-win)
self.m_items[4]。抽签(p_-win)
elif(p_num==3):
self.m_项目[0]。抽签(p_-win)
self.m_项目[3]。抽签(p_-win)
self.m_items[4]。抽签(p_-win)
elif(p_num==4):
self.m_项目[1]。抽签(p_-win)
self.m_项目[3]。抽签(p_-win)
self.m_items[4]。抽签(p_-win)
self.m_项目[6]。抽签(p_-win)
elif(p_num==5):
self.m_项目[0]。抽签(p_-win)
self.m_项目[1]。抽签(p_-win)
self.m_项目[3]。抽签(p_-win)
self.m_items[4]。抽签(p_-win)
self.m_项目[6]。抽签(p_-win)
elif(p_num==6):
self.m_项目[1]。抽签(p_-win)
self.m_items[2]。抽签(p_-win)
self.m_项目[3]。抽签(p_-win)
self.m_items[4]。抽签(p_-win)
self.m_项目[5]。抽签(p_-win)
self.m_项目[6]。抽签(p_-win)
#准备下一卷
类骰子:
定义初始化(self,x=0,y=0):
self.m_x=x
self.m_y=y
self.m_s=50
self.m_项=矩形(点(self.m_x,self.m_y),点(self.m_x+self.m_s,self.m_y+self.m_s))
self.m_item.setFill('白色')
self.m_点=点(self.m_x,self.m_y,self.m_s)
def显示骰子(自身):
返回(self.m\x,self.m\y,self.m\s)
def draw_die(self,p_win):
self.m_item.undraw()
self.m_item.draw(p_win)
def抽签(自我、p_赢、p_数):
自抽式模具(p_win)
self.m_dots.draw(p_win,p_num)
def undraw(自身):
self.m_item.undraw()
self.m_dots.undraw()
#盈亏计算
def check_winner(p_rolls=[]):
最后一个=无
总数=0
三重=真
对于p_辊中的r:
如果(最后一个!=无)和(最后一个!=r):
三重=假
最后=r
总数+=r
如果(总计=3)或(总计=18):
返回10
elif(总计=4)或(总计=17):
返回5
elif(三重==真):
返回2
返回-1
#文本和说明/规则
def get_bet(p_win、p_balance、p_def_bet):
inst=[]
inst.append(文本(点数(max_x/2,20),“下注:”)
仪器附加(文本(点(最大x/2,40),“平衡:+str(p_平衡)))
指令附加(文本(点(max_x/2,70),“规则:”)
inst.append(文本(点数(max_x/2,90),“如果你总共掷3或18个骰子,你的赌注赢款将是你赌注的10倍。”)
inst.append(文本(Point(max_x/2110),“如果您总共掷4或17,您的赌注赢款将是您的赌注的5倍。”)
inst.append(文本(Point(max_x/2130),“如果您在3和18之外再掷三倍,您的赌注赢款将是您的赌注的2倍。”)
inst.append(文本(Point(max_x/2150),“如果您掷其他任何东西,您将输掉赌注”。)
指令附加(矩形(点(max_x/2-59190)、点(max_x/2+59210)))
inst.append(文本(点(max_x/2200),‘点击滚动’)
对于仪表中的项目:
项目.抽签(p_-win)
bet_text=str(p_def_bet)
下注输入=输入(点数(最大x/2+100,20),5)
bet_input.setText(bet_文本)
下注输入抽奖(p_赢)
p_win.getMouse()
bet\u text=bet\u input.getText()
bet=int(bet\u文本)
bet_input.undraw()
对于仪表中的项目:
项目.undraw()
回注
#显示赢款、检查赢家、更新总数并返回更新后的总数
def show_Winning(p_win,p_Winning):
inst=[]
inst.append(文本(点数(max_x/2,90),“您的奖金:”+str(奖金)))
指令附加(矩形(点(最大x/2-50190)、点(最大x/2+50210)))
inst.append(文本(点(max_x/2200),“再次播放”))
对于仪表中的项目:
项目.抽签(p_-win)
p_win.getMouse()
对于仪表中的项目:
项目.undraw()
#显示赌注
def show_bet_无效(p_win):
inst=[]
inst.append(文本(点数(max_x/2,90),“您的赌注无效”))
指令附加(矩形(点(最大x/2-50190)、点(最大x/2+50210)))
inst.append(文本(点(max_x/2200),“重试”))
对于仪表中的项目:
项目.抽签(p_-win)
p_win.getMouse()
对于仪表中的项目:
项目.undraw()
#比赛结束
def显示游戏结束(p_赢):
inst=[]
inst.append(文本(点(max_x/2,90),“你没钱了”))
指令附加(R)
class Rect:
"""A rectangle identified by two points.
The rectangle stores left, top, right, and bottom values.
Coordinates are based on screen coordinates.
origin top
+-----> x increases |
| left -+- right
v |
y increases bottom
set_points -- reset rectangle coordinates
contains -- is a point inside?
overlaps -- does a rectangle overlap?
top_left -- get top-left corner
bottom_right -- get bottom-right corner
expanded_by -- grow (or shrink)
"""
def __init__(self, pt1, pt2):
"""Initialize a rectangle from two points."""
self.set_points(pt1, pt2)
def set_points(self, pt1, pt2):
"""Reset the rectangle coordinates."""
(x1, y1) = (pt1.x, pt1.y)
(x2, y2) = (pt2.x, pt2.y)
self.left = min(x1, x2)
self.top = min(y1, y2)
self.right = max(x1, x2)
self.bottom = max(y1, y2)
def contains(self, pt):
"""Return true if a point is inside the rectangle."""
x,y = pt.x,pt.y
return (self.left <= x <= self.right and
self.top <= y <= self.bottom)
def overlaps(self, other):
"""Return true if a rectangle overlaps this rectangle."""
return (self.right > other.left and self.left < other.right and
self.top < other.bottom and self.bottom > other.top)
def top_left(self):
"""Return the top-left corner as a Point."""
return Point(self.left, self.top)
def bottom_right(self):
"""Return the bottom-right corner as a Point."""
return Point(self.right, self.bottom)
def expanded_by(self, n):
"""Return a rectangle with extended borders.
Create a new rectangle that is wider and taller than the
immediate one. All sides are extended by "n" points.
"""
p1 = Point(self.left-n, self.top-n)
p2 = Point(self.right+n, self.bottom+n)
return Rect(p1, p2)
def __str__( self ):
return "<Rect (%s,%s)-(%s,%s)>" % (self.left,self.top,
self.right,self.bottom)
def __repr__(self):
return "%s(%r, %r)" % (self.__class__.__name__,
Point(self.left, self.top),
Point(self.right, self.bottom))
def inRec(ms, rec):
"""
ms is the mouse,
rec is the rectangle cords.
"""
p = Point(ms.x, ms.y)
return rec.contains(p)
while ( balance > 0 ):
bet_invalid = True
while (bet_invalid):
bet = get_bet(win,balance,def_bet)
if (bet>=1) and (bet<=balance):
bet_invalid = False
else:
show_bet_invalid(win)
def_bet = bet
mouse = mouse = win.getMouse()
if not inRec(mouse, checkRec):
return 1
rolls = []
for r in range(0,3):
roll = randrange(1, 7)
dice[r].draw(win,roll)
rolls.append(roll)
winnings = check_winner(rolls) * bet
balance += winnings
show_winnings(win, winnings)
for r in range(0,3):
dice[r].undraw()
import graphics
from graphics import *
from random import randrange
class Rect:
"""A rectangle identified by two points.
The rectangle stores left, top, right, and bottom values.
Coordinates are based on screen coordinates.
origin top
+-----> x increases |
| left -+- right
v |
y increases bottom
set_points -- reset rectangle coordinates
contains -- is a point inside?
overlaps -- does a rectangle overlap?
top_left -- get top-left corner
bottom_right -- get bottom-right corner
expanded_by -- grow (or shrink)
"""
def __init__(self, pt1, pt2):
"""Initialize a rectangle from two points."""
self.set_points(pt1, pt2)
def set_points(self, pt1, pt2):
"""Reset the rectangle coordinates."""
(x1, y1) = (pt1.x, pt1.y)
(x2, y2) = (pt2.x, pt2.y)
self.left = min(x1, x2)
self.top = min(y1, y2)
self.right = max(x1, x2)
self.bottom = max(y1, y2)
def contains(self, pt):
"""Return true if a point is inside the rectangle."""
x,y = pt.x,pt.y
return (self.left <= x <= self.right and
self.top <= y <= self.bottom)
def overlaps(self, other):
"""Return true if a rectangle overlaps this rectangle."""
return (self.right > other.left and self.left < other.right and
self.top < other.bottom and self.bottom > other.top)
def top_left(self):
"""Return the top-left corner as a Point."""
return Point(self.left, self.top)
def bottom_right(self):
"""Return the bottom-right corner as a Point."""
return Point(self.right, self.bottom)
def expanded_by(self, n):
"""Return a rectangle with extended borders.
Create a new rectangle that is wider and taller than the
immediate one. All sides are extended by "n" points.
"""
p1 = Point(self.left-n, self.top-n)
p2 = Point(self.right+n, self.bottom+n)
return Rect(p1, p2)
def __str__( self ):
return "<Rect (%s,%s)-(%s,%s)>" % (self.left,self.top,
self.right,self.bottom)
def __repr__(self):
return "%s(%r, %r)" % (self.__class__.__name__,
Point(self.left, self.top),
Point(self.right, self.bottom))
def inRec(ms, rec):
"""
ms is the mouse,
rec is the rectangle cords.
"""
p = Point(ms.x, ms.y)
return rec.contains(p)
max_x = 500
max_y = 300
win = GraphWin("Dice Rolls", max_x,max_y)
checkRec = Rect(Point(max_x/2 - 59, 180), Point(max_x/2+59, 230))
#drives the program
def main():
class dots():
#Drawn dots
def __init__(self,p_x=0,p_y=0,p_s=50):
self.m_x = p_x
self.m_y = p_y
self.m_dice_size = p_s
self.m_items = []
dot_size = 4
x = self.m_x
y = self.m_y
s = self.m_dice_size
d = s/4
self.m_items.append(Circle(Point(x+2*d, y+2*d), dot_size))
self.m_items.append(Circle(Point(x+1*d, y+1*d), dot_size))
self.m_items.append(Circle(Point(x+1*d, y+2*d), dot_size))
self.m_items.append(Circle(Point(x+1*d, y+3*d), dot_size))
self.m_items.append(Circle(Point(x+3*d, y+1*d), dot_size))
self.m_items.append(Circle(Point(x+3*d, y+2*d), dot_size))
self.m_items.append(Circle(Point(x+3*d, y+3*d), dot_size))
for dot in self.m_items:
dot.setFill('black')
#Displays three dice images based on the random value
def display_dice(self):
return (self.m_x,self.m_y,self.m_s)
def undraw(self):
for dot in self.m_items:
dot.undraw()
#Drawn Dice
def draw(self, p_win, p_num):
for dot in self.m_items:
dot.undraw()
if (p_num==1):
self.m_items[0].draw(p_win)
elif (p_num==2):
self.m_items[3].draw(p_win)
self.m_items[4].draw(p_win)
elif (p_num==3):
self.m_items[0].draw(p_win)
self.m_items[3].draw(p_win)
self.m_items[4].draw(p_win)
elif (p_num==4):
self.m_items[1].draw(p_win)
self.m_items[3].draw(p_win)
self.m_items[4].draw(p_win)
self.m_items[6].draw(p_win)
elif (p_num==5):
self.m_items[0].draw(p_win)
self.m_items[1].draw(p_win)
self.m_items[3].draw(p_win)
self.m_items[4].draw(p_win)
self.m_items[6].draw(p_win)
elif (p_num==6):
self.m_items[1].draw(p_win)
self.m_items[2].draw(p_win)
self.m_items[3].draw(p_win)
self.m_items[4].draw(p_win)
self.m_items[5].draw(p_win)
self.m_items[6].draw(p_win)
#Prepares for next roll
class dice_t:
def __init__(self,x=0,y=0):
self.m_x = x
self.m_y = y
self.m_s = 50
self.m_item = Rectangle(Point(self.m_x,self.m_y),Point(self.m_x+self.m_s,self.m_y+self.m_s))
self.m_item.setFill('white')
self.m_dots = dots(self.m_x,self.m_y,self.m_s)
def display_dice(self):
return (self.m_x,self.m_y,self.m_s)
def draw_die(self, p_win):
self.m_item.undraw()
self.m_item.draw(p_win)
def draw(self, p_win, p_num):
self.draw_die(p_win)
self.m_dots.draw(p_win,p_num)
def undraw(self):
self.m_item.undraw()
self.m_dots.undraw()
#Winnings and losing calculation
def check_winner(p_rolls=[]):
last = None
total = 0
triple = True
for r in p_rolls:
if (last!=None) and (last!=r):
triple = False
last = r
total += r
if (total==3) or (total==18):
return 10
elif (total==4) or (total==17):
return 5
elif (triple ==True):
return 2
return -1
#Text and instructions/rules
def get_bet(p_win,p_balance,p_def_bet):
inst = []
inst.append(Text(Point(max_x/2,20), "MAKE YOUR BET: "))
inst.append(Text(Point(max_x/2,40), "BALANCE:"+str(p_balance)))
inst.append(Text(Point(max_x/2,70), "Rules: "))
inst.append(Text(Point(max_x/2,90), "If you roll a 3 or 18 in total your bet winnings will be 10x your bet."))
inst.append(Text(Point(max_x/2,110), "If you roll a 4 or 17 in total your bet winnings will be 5x your bet."))
inst.append(Text(Point(max_x/2,130), "If you roll triples besides a 3 and 18 your bet winnings will be 2x your bet."))
inst.append(Text(Point(max_x/2,150), 'If you roll anything else, you lose your bet.'))
inst.append(Rectangle(Point(max_x/2 - 59, 180), Point(max_x/2+59, 230)))
inst.append(Text(Point(max_x/2, 200), 'CLICK TO ROLL'))
for item in inst:
item.draw(p_win)
bet_text = str(p_def_bet)
bet_input = Entry(Point (max_x/2+100, 20),5)
bet_input.setText(bet_text)
bet_input.draw(p_win)
p_win.getMouse()
bet_text = bet_input.getText()
bet = int(bet_text)
bet_input.undraw()
for item in inst:
item.undraw()
return bet
#Shows winnings, checks for winner, updates total, and returns the updated total
def show_winnings(p_win, p_winnings):
inst = []
inst.append(Text(Point(max_x/2,90), "Your WINNINGS:"+str(winnings)))
inst.append(Rectangle(Point(max_x/2-50,190), Point(max_x/2+50, 210)))
inst.append(Text(Point(max_x/2, 200), 'PLAY AGAIN'))
for item in inst:
item.draw(p_win)
p_win.getMouse()
for item in inst:
item.undraw()
#Shows bet
def show_bet_invalid(p_win):
inst = []
inst.append(Text(Point(max_x/2,90), "YOUR BET WAS INVALID"))
inst.append(Rectangle(Point(max_x/2-50,190), Point(max_x/2+50, 210)))
inst.append(Text(Point(max_x/2, 200), 'TRY AGAIN'))
for item in inst:
item.draw(p_win)
p_win.getMouse()
for item in inst:
item.undraw()
#Shows game over
def show_game_over(p_win):
inst = []
inst.append(Text(Point(max_x/2,90), "YOU ARE OUT OF MONEY"))
inst.append(Rectangle(Point(max_x/2-50,190), Point(max_x/2+50, 210)))
inst.append(Text(Point(max_x/2, 200), 'QUIT'))
for item in inst:
item.draw(p_win)
p_win.getMouse()
for item in inst:
item.undraw()
# M A I N and balances along with random outputs
#################################################
dice = []
for d in range(0,3):
dice.append(dice_t(max_x/2-90+d*60,5))
balance = 100
def_bet = 10
while ( balance > 0 ):
bet_invalid = True
while (bet_invalid):
bet = get_bet(win,balance,def_bet)
if (bet>=1) and (bet<=balance):
bet_invalid = False
else:
show_bet_invalid(win)
def_bet = bet
mouse = mouse = win.getMouse()
if not inRec(mouse, checkRec):
return 1
rolls = []
for r in range(0,3):
roll = randrange(1, 7)
dice[r].draw(win,roll)
rolls.append(roll)
winnings = check_winner(rolls) * bet
balance += winnings
show_winnings(win, winnings)
for r in range(0,3):
dice[r].undraw()
show_game_over(win)
main()