Python :: Aufgabe #86 :: Lösung #9
9 Lösungen

#86
Stein, Papier, Schere, Echse, Spock
Anfänger - Python
von Energy
- 24.09.2015 um 15:22 Uhr
Programmiere das Spiel Stein, Papier, Schere, Echse, Spock, sodass man selbst eine Figur auswählen kann und der Computer eine zufällige Figur auswählt. Ermittele dann, wer diese Partie gewonnen hat.
#9

von 0 (0 Punkte)
- 02.10.2017 um 22:50 Uhr

#Stein Papier Schere Echse Spock from random import choice from tkinter import * class Spiel(object): wahl=['Stein','Papier','Schere','Echse','Spock'] def __init__(self): self.f=Tk() self.f.title("Stein Papier Schere :-P") self.ich=StringVar() self.cpu=StringVar() self.point=StringVar() self.layout() self.f.mainloop() def layout(self): self.knoepfe=Frame(self.f) self.knoepfe.pack(side=LEFT) for w in Spiel.wahl: Radiobutton(self.knoepfe,text=w,value=w,variable=self.ich,anchor=W).pack() Button(self.knoepfe,text="Start",command=self.start,anchor=W).pack() Button(self.knoepfe,text="Neu",command=self.neu,anchor=W).pack() self.ausgabe=Frame(self.f) self.ausgabe.pack(side=LEFT) Label(self.ausgabe,textvariable=self.point,anchor=E).pack() Label(self.ausgabe,text="Meine Wahl:",anchor=W).pack() Label(self.ausgabe,textvariable=self.ich,anchor=W).pack() Label(self.ausgabe,text="gegenerische Wahl:",anchor=W).pack() Label(self.ausgabe,textvariable=self.cpu,anchor=W).pack() self.anzeige=Label(self.f,text=" ",width=10) self.anzeige.pack(side=BOTTOM) def start(self): self.cpu.set(choice(Spiel.wahl)) if self.point.get(): p=int(self.point.get()) else: p=0 if self.ich.get()==self.cpu.get(): self.anzeige.config(text="Unentschieden") elif self.check(): p+=1 self.point.set(str(p)) self.anzeige.config(text="Gewonnen") else: p-=1 self.point.set(str(p)) self.anzeige.config(text="Verloren") def check(self): i=self.ich.get() c=self.cpu.get() if i=="Schere" and c=="Papier": return True elif i=="Papier" and c=="Stein": return True elif i=="Stein" and c=="Echse": return True elif i=="Echse" and c=="Spock": return True elif i=="Spock" and c=="Schere": return True elif i=="Schere" and c=="Echse": return True elif i=="Echse" and c=="Papier": return True elif i=="Papier" and c=="Spock": return True elif i=="Spock" and c=="Stein": return True elif i=="Stein" and c=="Schere": return True else: return False def neu(self): self.point.set(str(0)) x=Spiel()
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1