docs: rewrite pdf plans into plan.md with all links
Co-authored-by: Junie <junie@jetbrains.com>
This commit is contained in:
parent
2098f77a23
commit
b76ef75556
Binary file not shown.
BIN
docs/wyop.pdf
BIN
docs/wyop.pdf
Binary file not shown.
135
plan.md
Normal file
135
plan.md
Normal file
|
|
@ -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.*
|
||||||
Loading…
Reference in a new issue