/python-textovka

introduction to python by creating the text based adventure game (interactive fiction)

Primary LanguagePython

Python 101

rozsah: 5 dní (40 hodín)

Kurz pre všetkých, ktorí sa chcú naučiť základy programovania v jazyku Python. Počas kurzu účastníci postupne vytvoria jednoduchú textovú adventúru, ktorá bude mať rozsah zhruba 500 až 700 riadkov kódu. Popri tom sa prakticky zoznámia so všetkými základnými konštrukciami jazyka, ako aj s organizáciou projektu do modulov a balíkov.

Nahrávacia obrazovka hry Indiana Jones 2

Textová adventúra, ktorá sa vytvára počas kurzu, je remake-om klasickej textovky Indiana Jones 2, ktorú v roku 1987 vytvoril Františka Fuku pre mikropočítače ZX Spectrum.

Kurz sa priamo nevenuje základom algoritmizácie, takže sa od účastníkov očakáva, že majú skúsenosť aspoň so základmi programovania alebo skriptovania v inom jazyku.

Preberané témy

  • štandardný vstup a výstup
  • riadenie toku programu pomocou vetvenia a cyklov
  • tvorba vlastných funkcií
  • dátové triedy pomocou balíka Pydantic
  • vyvolávanie a ošetrovanie výnimiek
  • práca s textovými súbormi
  • práca so základnými údajovými typmi a kolekciami
  • moduly a balíky
  • type hints
  • defenzívne programovanie
  • práca s farbami v konzole pomocou knižnice rich

Literatúra

Mapa herného sveta

                                         +--+                                  sever
                                         |  v                                    ^
+------------+                      +--------------+                    západ  < + >  východ
| v lietadle |                   +->|     púšť     |<-+                          v
+------------+                   |  +--------------+  |                         juh
      |                          |         ^          |
      v                          |         v          |
+------------+                   |  +--------------+  |
| voľný pád  |                   +--|     oáza     |--+
+------------+                      +--------------+
                                           ^
                                           v
                                    +--------------+
                                    | pred táborom |
                                    +--------------+
                                           ^
                                           v
                +--------------+    +--------------+    +----------------+
                |  malý stan   |<-->|   v tábore   |<-->| veliteľov stan |
                +--------------+    +--------------+    +----------------+
                                                                                    +---------------+
                                                                                    |    vyklenok   |
                                                                                    +---------------+
                                                                                            ^
                                                                                            v
+---------------+    +---------------+    +---------------+    +---------------+    +---------------+
|   žltá hmla   |<-->| koniec chodby |    |   podzemie    |<-->|  uzka chodba  |<-->|     oltar     |
+---------------+    +---------------+    +---------------+    +---------------+    +---------------+
        ^                                        ^
        v                                        v
+---------------+    +---------------+    +--------------+    +-------------------+
|   žltá hmla   |<-->|   žltá hmla   |<-->|    chodba    |<-->| prázdna miestnosť |
+---------------+    +---------------+    +--------------+    +-------------------+
                                                                       ^
                                                                       v
                                                               +---------------+
                                                               |    komôrka    |
                                                               +---------------+