ich hab mir mal zu lernzwecken ein kleines Kniffel-spiel programmiert (ohne strassen und full-house: daher lite

Wenn überhaupt ist das wohl nur für andere noobs interessant. Man könnte zb. noch ne highscore hinzufügen (ich hab 76 punkte gemacht

Als nächstes sollte ich mir wohl beibringen kommentare in meinen code zu schreiben

Code: Alles auswählen
#!/usr/bin/python
from random import randint
from Tkinter import *
import tkMessageBox
def roll():
global r
r=r+1
if r >=4:
info.configure(text="Schon 3 Versuche!")
else:
info.configure(text="Das war Wurf %i" %r)
for i in range(5):
if v[i].get() == 0:
w[i] = randint(1,6)
ergebnis[i].configure(text=w[i])
def nimm(zahl):
print wert[zahl-1],x
if wert[zahl-1]!=x:
info.configure(text="Schon Vergeben")
else:
global r,w
a=0 #summe
s=0
for i in range(5):
v[i].set(0)
if r!=0:
for elm in w:
if elm == zahl:
a=a+zahl
wert[zahl-1]=a
label[zahl-1].configure(text=wert[zahl-1])
w = [0,0,0,0,0]
for i in range(5):
ergebnis[i].configure(text=w[i])
info.configure(text="Naechster Wurf!")
else:
info.configure(text="Noch nicht gewuerfelt!")
r=0 #counter
if not x in wert:
finish()
def finish():
global x,wert
z=0
for e in wert:
z=z+e
tkMessageBox.showinfo("Ende","Du hast %i Punkte!" %z)
wert = ["x","x","x","x","x","x"]
for e in range(6):
label[e].configure(text=wert[e])
r=0
info.configure(text="Neues Spiel")
root=Tk()
root.title("Kniffel deluxe lite")
links=Frame(root).grid(row=0,column=0)
rechts=Frame(root).grid(row=0,column=4)
w = [0,0,0,0,0]
v = []
ergebnis = []
hold = []
x="x"
wert = [x,x,x,x,x,x]
label = []
spacer=[]
gesamt=0
r=0
einer=Button(links,text="1er",width=5,command=lambda: nimm(1)).grid(row=0,column=0)
zweier=Button(links,text="2er",width=5,command=lambda: nimm(2)).grid(row=1,column=0)
dreier=Button(links,text="3er",width=5,command=lambda: nimm(3)).grid(row=2,column=0)
vierer=Button(links,text="4er",width=5,command=lambda: nimm(4)).grid(row=3,column=0)
fuenfer=Button(links,text="5er",width=5,command=lambda: nimm(5)).grid(row=4,column=0)
sechser=Button(links,text="6er",width=5,command=lambda: nimm(6)).grid(row=5,column=0)
for ro in range(4,10):
label.append(Label(links,text=wert[ro-4],width=5))
label[-1].grid(row=ro-4,column=1)
spacer.append(Label(links,text="|",width=5))
spacer[-1].grid(row=ro-4,column=2)
for col in range(4,9):
ergebnis.append(Label(rechts,text=w[col-4],width=8))
ergebnis[-1].grid(row=0,column=col)
v.append(IntVar())
hold.append(Checkbutton(rechts,variable=v[-1]))
hold[-1].grid(row=1,column=col)
tkMessageBox.showinfo("Start","""Es darf 3 mal gewuerfelt werden.
Markierte Wuerfel bleiben.
Die linken Buttons zaehlen die entsprechenden Wuerfel aus.
Los gehts!""")
logo=Label(links,text="Kniffel DLX!").grid(row=4,column=4,columnspan=5)
info=Label(links,text="Dann wuerfel mal...")
info.grid(row=2,column=4,columnspan=5)
butroll=Button(root,text="Roll",command=roll,fg="#00ff00",bg="#000000").grid(row=5,column=6)
root.mainloop()