Rozdział 17 · Projekt: „Kółko-krzyżyk”

Tworzenie zmiennych globalnych

gra potrzebuje pamięci między ruchami — ustaw zmienne stanu i zbudujmy pole przycisków w pętli.

Tworzenie zmiennych globalnych

grze musisz pamiętać o swoim stanie między ruchami – czyja jest kolej, czy gra się skończyła i Same przyciski pola zmieniają tekst:

globalnye_peremennye.py
tekuschij_igrok = "X"
polya = []             # lista z 9 przycisków pola
igra_okonchena = False

Tworzenie przycisków

Pole 3×3 to dziewięć przycisków rozmieszczonych przez grid() (rozdział 16). Stworzymy je pętlą, a nie dziewięcioma identycznymi łańcuch znaków kawałkami kodu ręcznie (rozdział 10):

sozdaem_knopki.py
pole_frame = tk.Frame(root)
pole_frame.grid(row=1, column=0, columnspan=3)

for indeks in range(9):
    knopka = tk.Button(
        pole_frame,
        text="",
        font=("Arial", 24, "bold"),
        width=3, height=1,
    )
    knopka.grid(row=indeks // 3, column=indeks % 3)
    polya.append(knopka)
indeks // 3 i indeks % 3 — współrzędne z problemu
Liczby od 0 do 8 powinny być przekształcone w wiersz i kolumnę w Tabeli 3×3. Dzielenie liczb całkowitoliczbowych // (rozdział 5) podaje numer linii (0,0,0,1,1,1,2,2,2), oraz pozostałe % to liczba kolumn (0,1,2,0,1,2,0,1,2).
Dziewięć pustych przycisków w siatce 3×3 i status Ruch gracza: X
Rzeczywiste okno pełnego pliku prototypu: dziewięć pustych przycisków rozłożonych tym cyklem.
Praktyka: zmienne stanowe i pole z przycisków
Moduł tkinter otwiera natywne okno Python — wykonaj lokalnie w VS Code, PyCharm lub Jupyter
Praktyka kursuje lokalnie
Otwórz praktykę →