das is der Code den bisher zusammenhab:
Code: Alles auswählen
from Tkinter import*
class Karten:
def __init__(self, canvas):
canvas.create_rectangle(9,9,109,159,fill='#FFFFFF', outline='#000000')
canvas.create_rectangle(119,9,219,159,fill='#FFFFFF', outline='#000000')
canvas.create_rectangle(229,9,329,159,fill='#FFFFFF', outline='#000000')
canvas.create_rectangle(339,9,439,159,fill='#FFFFFF', outline='#000000')
canvas.create_rectangle(449,9,549,159,fill='#FFFFFF', outline='#000000')
canvas.create_rectangle(175,169,275,319,fill='#FFFFFF', outline='#000000')
canvas.create_rectangle(285,169,385,319,fill='#FFFFFF', outline='#000000')
class Money: #giebt die Informationen über blinds und einsatz
def __init__(self, master, canvas, m, e, bb):
self.einsatz=canvas.create_text(450,200,text='Einsatz: '+ str(e)+ ' Schlotties', fill='#FFFF00')
self.bigblind=canvas.create_text(80, 210, text='Bigblind: ' + str(bb) + ' Schlotties', fill='#FFFF00')
self.smallblind=canvas.create_text(80, 190, text='Smallblind: ' + str(bb/2) + ' Schlotties', fill='#FFFF00')
self.konto=Label(master, text='Konto: '+ str(m) +' Schlotties', fg='#FFFF00', bg='#000050')
self.konto.grid(column=6, row=2)
def destroy(self, canvas):
self.konto.destroy()
canvas.delete(self.einsatz)
canvas.delete(self.bigblind)
canvas.delete(self.smallblind)
class Quitfrage:
def __init__(self, master):
self.top=Toplevel(master)
self.frage=Label(self.top, text='Wollen sie das Spiel\nwirklich beenden?', font='Arial 10')
self.frage.grid(row=0, column=0, columnspan=2)
self.ja=Button(self.top, text='JA', command=root.destroy)
self.ja.grid(row=1, column=0)
self.nein=Button(self.top, text='NEIN', command=self.top.destroy)
self.nein.grid(row=1, column=1)
class Gui:
def __init__(self, master):
mp=2000
mk=mp
e=0
bb=50
def raiseP(e, mp): #<------
if self.raiseE.get()=='':
r=0 #********
else:
r=int(self.raiseE.get())
e=e+r
mp=mp-r
self.money.destroy(self.kartentisch)
self.money=Money(self.frame, self.kartentisch, mp, e, bb)
def callP():
pass
def checkP():
p='c'
def foldP():
pass
def shureC():
self.shureT=Quitfrage(master)
self.frame=Frame(master, bg='#000050')
self.frame.grid()
self.kartentisch=Canvas(self.frame, bg='#002F20', width=560, height=330, borderwidth=1, relief=SOLID)
self.kartentisch.grid(column=0, row=1, columnspan=8)
self.karten=Karten(self.kartentisch)
self.money=Money(self.frame, self.kartentisch, mp, e, bb)
self.raiseE=Entry(self.frame, justify=RIGHT)
self.raiseE.grid(column=1, row=2)
self.raiseB=Button(self.frame, text='Raise!', command=raiseP(e, mp))
self.raiseB.grid(column=2, row=2)
self.callB=Button(self.frame, text='Call!', command=callP)
self.callB.grid(column=3, row=2)
self.checkB=Button(self.frame, text='Check!', command=checkP)
self.checkB.grid(column=4, row=2)
self.foldB=Button(self.frame, text='Fold!', command=foldP)
self.foldB.grid(column=5, row=2)
self.quitB=Button(self.frame, text='Quit', command=shureC)
self.quitB.grid(column=7, row=2)
root=Tk()
root.title('Poker')
game=Gui(root)
root.mainloop
Am Anfang habe ich eine klasse Money kontruiert. um sie dann zu aktualisiern lösche ich sie zu erst und ertelle sie dann neu mit aktuellen Parametern.
das problem ist er scheint die funktion schon einmal auszufüren wenn ich das programm starte denn wenn ich bei ******* für r zb 17 einsetze steht der einsatz (e) von anfang an auf 17 und nicht 0. auch führt er die funktion nicht erneut aus wenn ich eine zahl bei raiseE eingebe und auf den Button klicke.
ist das ein grundsätzlicher gedanken/aufbau fehler oder hab ich irgendwo einfach nur was verdreht.
schon mal danke
Arthur