Kurs Tworzenia Gry Szachy w Pythonie
Szachy w Pythonie to idealny sposób, by połączyć naukę programowania z logicznym myśleniem! W naszym kursie nauczysz się krok po kroku tworzyć kompletną aplikację: od rysowania szachownicy i ruchów figur, przez wykrywanie szacha i mata, aż po responsywny interfejs z animacjami.
Proponowany wiek
12 lat+ (lub każdy, kto posiada solidne podstawy Pythona i chce rozwinąć umiejętności!)
Wymagania
Bardzo dobra znajomość podstaw Pythona, chęć nauki zaawansowanych technologii, stabilne połączenie z internetem oraz dobry humor. Reszty nauczymy Cię na zajęciach!
Program kursu – 4 moduły (16 lekcji)
Moduł 1: Podstawy gry i grafiki +
- Wprowadzenie do projektu – gra w szachy w Pythonie: Przegląd narzędzi (Python, Pygame), plan projektu.
- Tworzenie planszy szachowej (8x8): Rysowanie szachownicy, siatka pól, kolorowanie pól.
- Wczytywanie i wyświetlanie figur: Ładowanie grafik figur (PNG lub sprite'y).
- Podstawy interakcji: kliknięcia, zaznaczanie pól: Obsługa myszki, zaznaczanie wybranej figury.
Moduł 2: Zasady ruchu i logika gry +
- Implementacja podstawowych ruchów – piony i wieże: Ruch pionów (w tym o 2 pola), ruchy wieży – bez kolizji.
- Ruch gońca, hetmana i króla: Ruchy po przekątnej, w każdą stronę, sprawdzanie granic planszy.
- Ruch skoczka i logika kolizji z figurami: Nietypowe ruchy skoczka, unikanie bicia swoich figur.
- Logika bicia figur i podstawowe reguły: Usuwanie zbitej figury z planszy, aktualizacja stanu gry.
Moduł 3: Złożone reguły i stany gry +
- Roszada i promocja pionka: Warunki wykonania roszady, zamiana pionka na figurę (np. hetmana).
- Szach i mat – wykrywanie zagrożeń: Sprawdzanie, czy król jest atakowany, brak ruchów = mat.
- Remis – pat, powtórzenia, brak ruchów: Obsługa wyjątkowych zakończeń partii.
- System tury – zmiana gracza, kontrola przebiegu gry: Naprzemienne ruchy białych i czarnych.
Moduł 4: Interfejs, zapis i rozwinięcia +
- Zapis historii ruchów i cofanie ruchu: Rejestrowanie wykonanych ruchów, cofanie na podstawie historii.
- Zapis i wczytywanie stanu gry: Serializacja (pickle/json), zapisywanie rozgrywki, kontynuacja gry.
- Poprawa UI – podświetlenia, komunikaty, wygląd: Ulepszenia interfejsu, zaznaczenia, informacje o stanie gry.
- Finalizacja i testowanie gry szachowej: Testy, debugowanie, pomysły na rozwój (np. tryb AI, multiplayer).
Harmonogram: 1 spotkanie w tygodniu – 60 minut
Płatność: 50–80 zł za lekcję
Ilość osób w grupie: 1–4
