I've been modifying the code for the past few day adding different things. I made my dice in a separate file to make sure they looked right then copied them over to my game, but when I try to call the functions in my game nothing happens. I don't even get a canvas. I'm not 100% sure what I"m doing wrong. Any help would be appreciated. I tried to add the first function in line 106.
Edit** I just put
if rolled==1:
draw1()
mainloop()
this starts at the same place line 106, it makes the dice show, but now I have a different problem it stops the game completely when it shows the dice...
from tkinter import*
master=Tk()
canvas = Canvas(master, width = 300, height = 200);
canvas.pack();
from random import randint
def draw1():
canvas.create_rectangle(5,50,105,150)
canvas.create_oval(45,85,65,105, fill="black")
def draw12():
canvas.create_rectangle(195,50,295,150)
canvas.create_oval(235,85,255,105, fill="black")
def draw2():
canvas.create_rectangle(5,50,105,150)
canvas.create_oval(12,52,32,72, fill="black")
canvas.create_oval(82,122,102,142, fill="black")
def draw22():
canvas.create_rectangle(195,50,295,150)
canvas.create_oval(220,75,200,55, fill="black")
canvas.create_oval(290,125,270,145, fill="black")
def draw3():
canvas.create_rectangle(5,50,105,150)
canvas.create_oval(45,85,65,105, fill="black")
canvas.create_oval(12,52,32,72, fill="black")
canvas.create_oval(82,122,102,142, fill="black")
def draw32():
canvas.create_rectangle(195,50,295,150)
canvas.create_oval(235,85,255,105, fill="black")
canvas.create_oval(220,75,200,55, fill="black")
canvas.create_oval(290,125,270,145, fill="black")
def draw4():
canvas.create_rectangle(5,50,105,150)
canvas.create_oval(12,52,32,72, fill="black")
canvas.create_oval(82,122,102,142, fill="black")
canvas.create_oval(12,122,32,142, fill="black")
canvas.create_oval(82,52,102,72, fill="black")
def draw42():
canvas.create_rectangle(195,50,295,150)
canvas.create_oval(220,75,200,55, fill="black")
canvas.create_oval(290,125,270,145, fill="black")
canvas.create_oval(220,125,200,145, fill="black")
canvas.create_oval(290,75,270,55, fill="black")
def draw5():
canvas.create_rectangle(5,50,105,150)
canvas.create_oval(45,85,65,105, fill="black")
canvas.create_oval(12,52,32,72, fill="black")
canvas.create_oval(82,122,102,142, fill="black")
canvas.create_oval(12,122,32,142, fill="black")
canvas.create_oval(82,52,102,72, fill="black")
def draw52():
canvas.create_rectangle(195,50,295,150)
canvas.create_oval(235,85,255,105, fill="black")
canvas.create_oval(220,75,200,55, fill="black")
canvas.create_oval(290,125,270,145, fill="black")
canvas.create_oval(220,125,200,145, fill="black")
canvas.create_oval(290,75,270,55, fill="black")
def draw6():
canvas.create_rectangle(5,50,105,150)
canvas.create_oval(12,52,32,72, fill="black")
canvas.create_oval(82,122,102,142, fill="black")
canvas.create_oval(12,122,32,142, fill="black")
canvas.create_oval(82,52,102,72, fill="black")
canvas.create_oval(47,52,67,72, fill="black")
canvas.create_oval(47,122,67,142, fill="black")
def draw62():
canvas.create_rectangle(195,50,295,150)
canvas.create_oval(220,75,200,55, fill="black")
canvas.create_oval(290,125,270,145, fill="black")
canvas.create_oval(220,125,200,145, fill="black")
canvas.create_oval(290,75,270,55, fill="black")
canvas.create_oval(235,75,255,55, fill="black")
canvas.create_oval(235,125,255,145, fill="black")
playercount = 2
maxscore = 100
safescore = [0] * playercount
player = 0
score=0
while max(safescore) < maxscore:
if player == 0:
rolling = 0
if score < 17 and score + safescore[player] < maxscore:
rolling = 1
else:
rolling = input("Player %i: (%i, %i) Rolling? (Y) "
% (player, safescore[player], score)).strip().lower() in {'yes', 'y', ''}
if rolling:
rolled = randint(1, 6)
rolled2 = randint(1, 6)
print(' Rolled %i' % rolled)
print(' Rolled %i' % rolled2)
if rolled==1:
draw1()
if rolled ==1 and rolled2 ==1:
print(' Snake Eyes!! your score is set to 0')
safescore[player] = 0
player = (player + 1) % playercount
elif rolled == 1:
print(' Bust! you lose %i but still keep your previous %i'
% (score, safescore[player]))
score, player = 0, (player + 1) % playercount
elif rolled2 == 1:
print(' Bust! you lose %i but still keep your previous %i'
% (score, safescore[player]))
score, player = 0, (player + 1) % playercount
else:
score += rolled + rolled2
else:
safescore[player] += score
if safescore[player] >= maxscore:
break
print(' Sticking with %i' % safescore[player])
score, player = 0, (player + 1) % playercount
print('\nPlayer %i wins with a score of %i' %(player, safescore[player]))