ticktacktoe spiel

Fragen zu Tkinter.
jado
User
Beiträge: 2
Registriert: Montag 5. Februar 2018, 15:29

ticktacktoe spiel

Beitragvon jado » Montag 5. Februar 2018, 15:39

hallo ich fange gerade an python zu lernen und wollte zum üben ein ticktacktoe-spiel programmieren aber komme irgentwie nicht weiter (bitte nicht aufregen, wenn es sehr schlecht ist :( )
ich würde mich sehr freuen,wenn mir wer erklären könnte was alles falsch ist. #
Danke :D


Code: Alles auswählen

from tkinter import*


class TickTakToe():
   
    def __init__(self):
        fenster=Tk()
           
            #dateien erstellen
           
        img=PhotoImage(file="leer.png")
        img2=PhotoImage(file="kreis.png")
        img3=PhotoImage(file="kreuz.png")
        spieler=1
        meldung= Label ( fenster , text="Gewinner: ")
        knopf1=Button(fenster,image=img)
        knopf2=Button(fenster,image=img)
        knopf3=Button(fenster,image=img)
        knopf4=Button(fenster,image=img)
        knopf5=Button(fenster,image=img)
        knopf6=Button(fenster,image=img)
        knopf7=Button(fenster,image=img)
        knopf8=Button(fenster,image=img)
        knopf9=Button(fenster,image=img)
        runden=0   
           
        k1=0
        k2=0
        k3=0
        k4=0
        k5=0
        k6=0
        k7=0
        k8=0
        k9=0

       
           
        def auswertung(knopfnummer):
            global spieler,runden
               
               
            if spieler==1:
                knopf1.configure(image=img2,command=a)
                spieler=0
               
            else :
                    #knoepfe[knopfnummer].configure(image=img3,command=a)
                spieler=1
                   
               
                   
                 #bestimmen ob wer gewonnen hat   
            if k1 & k2 & k3 or k4 & k5& k6 or k7 & k8 & k9 or k1 & k4 & k7 or k2 & k5 & k8 or k3 & k6 & k9 or k1 & k5 & k9 or k3 & k5 & k7==1:
                meldung.config(text="Gewinner: " ,bg="yellow")
            elif k1 & k2 & k3 or k4 & k5 & k6 or k7 & k8 & k9 or k1 & k4 & k7 or k2 & k5 & k8 or k3 & k6 & k9 or k1 & k5 & k9 or k3 & k5 & k7==2:
                meldung.config(text="Gewinner: " ,bg="yellow")
            runden+=1
            #unentschieden
            if runden==9:
                print ("unentschieden")
                 
               
            #variabel um knöpfe ungültig zu machen
        def a():
            print("warum")

        #buttons erstellen
        knopf1.configure,(command=auswertung(1))
        knopf2.configure(command=auswertung(2))
        knopf3.configure(command=auswertung(3))
        knopf4.configure(command=auswertung(4))
        knopf5.configure(command=auswertung(5))
        knopf6.configure(command=auswertung(6))
        knopf7.configure(command=auswertung(7))
        knopf8.configure(command=auswertung(8))
        knopf9.configure(command=auswertung(9))
                   
        knopf1.place(x=50,y=70)
        knopf2.place(x=90,y=70)
        knopf3.place(x=130,y=70)
        knopf4.place(x=50,y=110)
        knopf5.place(x=90,y=110)
        knopf6.place(x=130,y=110)
        knopf7.place(x=50,y=150)
        knopf8.place(x=90,y=150)
        knopf9.place(x=130,y=150)

 
       
       
       
     

   

Sirius3
User
Beiträge: 7052
Registriert: Sonntag 21. Oktober 2012, 17:20

Re: ticktacktoe spiel

Beitragvon Sirius3 » Montag 5. Februar 2018, 15:55

@jado: es ist sehr schlecht, aber warum sollte ich mich deshalb aufregen? Bevor Du anfängst, 88 Zeilen Code, der nicht funktioniert zu schreiben, solltest Du klein anfangen, und das Programm Schritt für Schritt schreiben. Am besten vergißt Du GUIs für's erste und schreibst dein Tic-Tac-Toe als Konsolenspiel, wo Du z.B. die Koordinaten per x,y oder 1-9 über `input` einliest und das Feld per `print` ausgibst.

Nur ein paar Dinge, die Du schnell vergessen solltest: die if's in Zeile 54 und 56 funktionieren nicht, wie Du denksts. Vor GUIs solltest Du Objektorientierung richtig lernen. Lerne was Listen sind, k1, .. k9 zu verwenden ist nicht gut.
jado
User
Beiträge: 2
Registriert: Montag 5. Februar 2018, 15:29

Re: ticktacktoe spiel

Beitragvon jado » Montag 5. Februar 2018, 16:11

Ok ich glaube ich lerne dann noch ein bisschen und probiere es später noch einmal

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder