ROZDZIAŁ 17 · STRONA 1081

Project: Gra w kółko i krzyżyk z Tkinter

Zbudujmy pierwszą pełnoprawną GUI- grę jako prawdziwy mały projekt programistyczny: przeanalizujemy system zdarzeń Tkinter, oddzielimy stan gry od widżetów, zaimplementujemy zasady i testy, dodamy obsługę myszy i klawiatury, wizualną informację zwrotną, liczenie meczów i końcową architekturę aplikacji.

~6–7 godzin wydarzenia · status · zasady · architektura 30 praktyk
17.1Event Binding – Dynamiczne tworzenie aplikacji!108317.2Wyjaśnienie gry kółko i krzyżyk1084Konfigurujemy Tkinter17.3Tworzenie zmiennych globalnych1085Tworzenie przycisków17.4Podczas naciśnięcia przycisku rysujemy na nim108617.5Sprawdzaj po każdym ruchu, czy gracz wygrał108717.6Nowa gra i pierwsza pełna wersja108917.7Event, callback, command i binding109117.8Obiekt Event109417.9Składnia zdarzeń Tk109617.10command vs bind — co wybrać109717.11Focus i klawiatura109917.12Mouse Enter/Leave i hover110017.13Model stanu gry110317.14Indeksy, wiersze i kolumny110617.15Poprawny algorytm ruchu110717.16Osiem linii płatnych111017.17Wygrać, zremisować i terminal state111517.18Od widgets-as-state do board model111717.19GameState z dataclass112017.20Architektura TicTacToeApp112117.21Adaptacyjne pole gry112317.22X/O stylu wizualnego112417.23Hover preview przez bind()112617.24Sterowanie klawiaturą112717.25Wyróżnianie linii zwycięskiej112917.26Wyniki meczów113117.27New Round vs New Match113217.28Testowanie gry bez Tkinter113417.29Debug Labs113617.30Visual effects i after()115317.31Tic-Tac-Toe Pro - Streszczenie rozdziału1155