From b76ef75556525c8b7c44fe56e120573b8cf42c21 Mon Sep 17 00:00:00 2001 From: Oskar Kapala Date: Mon, 3 Aug 2026 12:40:51 +0200 Subject: [PATCH] docs: rewrite pdf plans into plan.md with all links Co-authored-by: Junie --- docs/credit_notes_1675-13993_Fastmail.pdf | Bin 46237 -> 0 bytes docs/wyop.pdf | Bin 42633 -> 0 bytes plan.md | 135 ++++++++++++++++++++++ 3 files changed, 135 insertions(+) delete mode 100644 docs/credit_notes_1675-13993_Fastmail.pdf delete mode 100644 docs/wyop.pdf create mode 100644 plan.md diff --git a/docs/credit_notes_1675-13993_Fastmail.pdf b/docs/credit_notes_1675-13993_Fastmail.pdf deleted file mode 100644 index 11166db40a53392ad9050e0a738262b94f8c987e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 46237 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 diff --git a/docs/wyop.pdf b/docs/wyop.pdf deleted file mode 100644 index 6484623508e17f023f4fd392d886ba3c8c5af831..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 42633 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 diff --git a/plan.md b/plan.md new file mode 100644 index 0000000..aeb2c7a --- /dev/null +++ b/plan.md @@ -0,0 +1,135 @@ +# Plan 5-dniowy (intensywny): OOP w Pythonie + Arcade + +Dla ucznia znającego proceduralnego Pythona na poziomie Olimpiady Informatycznej Juniorów • ok. 6–8 h dziennie + +Zasada: teoria OOP w małych dawkach rano, resztę dnia kodowanie w Arcade. Arcade jest obiektowe od podstaw, więc każdy dzień praktyki utrwala klasy, dziedziczenie i metody w naturalnym kontekście. Przed startem: `pip install arcade` (Python 3.9+). + +## Dzień 1 — Podstawy OOP + pierwsze okno + +**Rano (2–3 h): teoria** +* Corey Schafer — Python OOP Tutorials, odcinki 1–3 (klasy i instancje, zmienne klasowe, classmethod/staticmethod). Oglądać z pauzami i przepisywać kod samodzielnie. + [https://www.youtube.com/playlist?list=PL-osiE80TeTsqhIuOqKhwlXsIBIdSeYtc](https://www.youtube.com/playlist?list=PL-osiE80TeTsqhIuOqKhwlXsIBIdSeYtc) + +**Po południu (4–5 h): praktyka** +* Real Python — „Arcade: A Primer on the Python Game Framework”: okno, rysowanie, sprite'y, pętla gry, klawiatura. Przejść cały tutorial, potem zmodyfikować grę po swojemu (inne prędkości, nowy typ obiektu). + [https://realpython.com/arcade-python-game-framework/](https://realpython.com/arcade-python-game-framework/) + +**Wieczorem, do poduszki:** +* PyCon 2018, Paul Craven — „Easy 2D Game Creation With Arcade” (~30 min) — przegląd możliwości biblioteki od jej autora. + [https://www.youtube.com/watch?v=DAWHMHMPVHU](https://www.youtube.com/watch?v=DAWHMHMPVHU) + +--- + +## Dzień 2 — Dziedziczenie + sprite'y, kolizje, zdarzenia + +**Rano (1,5–2 h): teoria** +* Corey Schafer, odcinki 4–5 (dziedziczenie i klasy pochodne, dunder methods). + +**Po południu (5–6 h): praktyka** +* Wybrane rozdziały kursu autora biblioteki Arcade Academy — Learn Python: sprite'y, kolizje, poruszanie się, dźwięki. Rozdziały czysto wstępne (zmienne, pętle) pominąć — to poziom dawno opanowany. + [https://learn.arcade.academy/](https://learn.arcade.academy/) +* Ćwiczenie na koniec dnia: własna mini-gra typu „zbieraj monety, unikaj wrogów” z klasą bazową Enemy i dwoma typami przeciwników dziedziczącymi po niej. + +--- + +## Dzień 3 — Platformówka, część 1 + +* Oficjalny tutorial platformówki (dokumentacja Arcade, zgodny z aktualnym API): gracz, fizyka, grawitacja, skoki, kamera, mapa poziomu. Przejść mniej więcej pierwszą połowę kroków. + [https://api.arcade.academy/en/latest/tutorials/platform_tutorial/index.html](https://api.arcade.academy/en/latest/tutorials/platform_tutorial/index.html) +* Równolegle jako wideo-wsparcie: PyCon 2019, Paul Craven — „Build Your Own 2D Platformer Game”. + [https://www.youtube.com/watch?v=Djtm1DzWSvo](https://www.youtube.com/watch?v=Djtm1DzWSvo) +* Darmowe assety (grafiki, dźwięki): [kenney.nl/assets](https://kenney.nl/assets) + +--- + +## Dzień 4 — Platformówka, część 2 + szlify OOP + +* Dokończyć tutorial platformówki: wrogowie, punkty, wiele poziomów, ekran końca gry. +* Corey Schafer, odcinek 6 (property, gettery/settery) — 20 min teorii i zastosować w kodzie platformówki (np. property „health” z ograniczeniem 0–100). +* Alternatywne ujęcie platformówki (tekst): Real Python — „Build a Platform Game in Python With Arcade” — uwaga: pisany pod starsze API, przy rozbieżnościach wygrywa oficjalna dokumentacja. + [https://realpython.com/platformer-python-arcade/](https://realpython.com/platformer-python-arcade/) + +--- + +## Dzień 5 — Własny projekt + +* Cały dzień na grę własnego pomysłu od zera: remake Tetrisa / Snake'a / Flappy Birda albo coś autorskiego. Wymóg projektowy: minimum 3 własne klasy, w tym jedna hierarchia dziedziczenia — tu OOP naprawdę „klika”. +* Kopalnia gotowych przykładów do podglądania (kod źródłowy dziesiątek mini-gier): + [https://api.arcade.academy/en/latest/example_code/index.html](https://api.arcade.academy/en/latest/example_code/index.html) +* Na koniec: wrzucić projekt na GitHuba — dobre domkniecie tygodnia. + +--- + +## Uwagi + +* Arcade 3.x zmieniło część API względem starszych tutoriali (np. `arcade.start_render()` → `self.clear()`). Przy rozbieżnościach zawsze wygrywa aktualna dokumentacja: [api.arcade.academy](https://api.arcade.academy). +* Materiały są po angielsku — przy poziomie olimpijskim to dobra okazja do angielskiego technicznego. +* Jeśli tempo okaże się za szybkie, dzień 5 można poświęcić na dokończenie platformówki, a własny projekt przenieść na później. +* Skill Tree w dokumentacji ([api.arcade.academy](https://api.arcade.academy)) pokazuje, co zgłębiać po tych 5 dniach: shadery, GUI, sieć itd. + +--- +--- + +# Wersja PL: Plan 5-dniowy (intensywny) + +Teoria OOP po polsku • praktyka w Arcade po angielsku (z tłumaczeniem przeglądarki) • ok. 6–8 h dziennie + +Zasada: teoria OOP w małych dawkach rano — po polsku. Resztę dnia kodowanie w Arcade — tutoriale są po angielsku, ale tekstowe strony świetnie działają z tłumaczeniem przeglądarki. Przed startem: `pip install arcade` (Python 3.9+). + +## Dzień 1 — Podstawy OOP (PL) + pierwsze okno + +**Rano (2–3 h): teoria po polsku** +* Kacper Sieradziński — „Kurs programowania obiektowego: Podstawy, Metody specjalne, Dziedziczenie w Pythonie” (YouTube, PL): obejrzeć część o podstawach — klasy, obiekty, atrybuty, metody, konstruktor, self. Oglądać z pauzami i przepisywać kod. + [https://www.youtube.com/watch?v=XYmt6foUCFI](https://www.youtube.com/watch?v=XYmt6foUCFI) +* Kodologia — „Python. Programowanie obiektowe” (PL, interaktywny, kodowanie w przeglądarce, 22 automatycznie sprawdzane zadania): zrobić pierwsze rozdziały jako ćwiczenia. + [https://kodologia.pl/kursy/python-programowanie-obiektowe](https://kodologia.pl/kursy/python-programowanie-obiektowe) + +**Po południu (4–5 h): praktyka w Arcade** +* Real Python — „Arcade: A Primer on the Python Game Framework” (ang., czytać z tłumaczeniem przeglądarki): okno, rysowanie, sprite'y, pętla gry, klawiatura. Przejść całość, potem zmodyfikować grę po swojemu. + [https://realpython.com/arcade-python-game-framework/](https://realpython.com/arcade-python-game-framework/) +* Alternatywnie/pomocniczo: polska (maszynowo tłumaczona) wersja tego primera: + [https://pl.python-3.com/?p=333](https://pl.python-3.com/?p=333) + +## Dzień 2 — Dziedziczenie (PL) + sprite'y, kolizje, zdarzenia + +**Rano (1,5–2 h): teoria po polsku** +* Sieradziński — część o dziedziczeniu i metodach specjalnych (dunder methods) z tego samego filmu; do tego odpowiednie rozdziały Kodologii (dziedziczenie) jako zadania. + +**Po południu (5–6 h): praktyka w Arcade** +* Wybrane rozdziały kursu autora biblioteki Arcade Academy — Learn Python (ang., dobrze działa z tłumaczeniem przeglądarki): sprite'y, kolizje, poruszanie, dźwięki. + [https://learn.arcade.academy/](https://learn.arcade.academy/) +* Ćwiczenie na koniec dnia: mini-gra „zbieraj monety, unikaj wrogów” z klasą bazową Enemy i dwoma typami przeciwników dziedziczącymi po niej. + +## Dzień 3 — Platformówka, część 1 + +* Oficjalny tutorial platformówki (dokumentacja Arcade, ang. + tłumaczenie przeglądarki; zgodny z aktualnym API): gracz, fizyka, grawitacja, skoki, kamera, mapa poziomu. Pierwsza połowa kroków. + [https://api.arcade.academy/en/latest/tutorials/platform_tutorial/index.html](https://api.arcade.academy/en/latest/tutorials/platform_tutorial/index.html) +* Wideo-wsparcie: PyCon 2019, Paul Craven — „Build Your Own 2D Platformer Game” (YouTube; włączyć automatyczne polskie napisy). + [https://www.youtube.com/watch?v=Djtm1DzWSvo](https://www.youtube.com/watch?v=Djtm1DzWSvo) +* Darmowe assety: [kenney.nl/assets](https://kenney.nl/assets) + +## Dzień 4 — Platformówka, część 2 + szlify OOP (PL) + +* Dokończyć tutorial platformówki: wrogowie, punkty, wiele poziomów, ekran końca gry. +* Teoria PL (30–45 min): rozdziały Kodologii o hermetyzacji i property (dekorator @property, gettery/settery) — i od razu zastosować w platformówce. +* Alternatywne ujęcie platformówki (ang., tekst): Real Python — „Build a Platform Game in Python With Arcade” — pisany pod starsze API. + [https://realpython.com/platformer-python-arcade/](https://realpython.com/platformer-python-arcade/) + +## Dzień 5 — Własny projekt + +* Cały dzień na grę własnego pomysłu od zera. Wymóg projektowy: minimum 3 własne klasy, w tym jedna hierarchia dziedziczenia. +* Kopalnia przykładów: [https://api.arcade.academy/en/latest/example_code/index.html](https://api.arcade.academy/en/latest/example_code/index.html) +* Na koniec: wrzucić projekt na GitHuba. + +## Uwagi (PL) + +* Płatna alternatywa PL dla teorii: „Programowanie obiektowe w Python” (strefakursow.pl) albo kurs Karola Kurka „50 zadań praktycznych z programowania obiektowego” (Videopoint/Helion). +* Arcade 3.x API różni się od wersji 2.x. Zawsze sprawdzaj [api.arcade.academy](https://api.arcade.academy). + +--- +--- + +# Inne dokumenty + +## Wypowiedzenie umowy ubezpieczenia OC (z wyop.pdf) +*Uwaga: Ten dokument zawiera dane osobowe i dotyczy wypowiedzenia polisy OC dla pojazdu Mazda 6 (GA431JA) w InterRisk TU S.A. z dnia 07.06.2026.*