Bomber (Curses) | ZAP Tutorial (2024/2025)
Preber si túto prednášku so svojou AI
Skopíruj pripravený podklad a vlož ho do ChatGPT, Claude alebo inej AI — bude ťa učiť alebo skúšať len z tejto prednášky.
Zhrnutie prednášky
Cvičenie sa venuje práci s knižnicou curses v jazyku C na príklade tvorby hry Bomber, kde lietadlo preletáva nad mestom a búra budovy, čo je zároveň príprava na zadanie číslo šesť. Najprv sa vysvetľuje inicializácia knižnice curses, jej pridanie do prekladača (napríklad cez súbor bashrc alebo profile pomocou prepínača -lcurses) a základné funkcie ako initscr a endwin na vytvorenie a ukončenie samostatnej obrazovky. Následne sa demonštruje generovanie mesta pomocou poľa World, ktoré je naplnené náhodnými výškami budov s využitím knižnice time a funkcie rand, pričom výšky sú obmedzené podľa veľkosti terminálu. V ďalšom kroku sa ukazuje vykresľovanie budov na obrazovku pomocou funkcií move a mvprintw, spolu s použitím refresh na zobrazenie zmien a malým oneskorením pre vizuálny efekt postupného vykresľovania.
- - Cieľom cvičenia je naučiť sa prakticky pracovať s knižnicou curses pri tvorbe hry Bomber.
- - Knižnicu curses treba pridať do prekladača (napr. cez -lcurses v bashrc/profile) a znovu načítať konfiguráciu (exec bash alebo source).
- - Funkcia initscr vytvára novú obrazovku prekrývajúcu štandardný výstup, endwin ju na konci ruší.
- - Pole World sa napĺňa náhodnými výškami budov pomocou rand a knižnice time, s obmedzením na max. polovicu výšky terminálu.
- - Šírka mesta sa počíta z veľkosti terminálu mínus okraje (5 znakov z každej strany) pre lepšiu hrateľnosť.
- - Vykresľovanie budov prebieha pomocou move a mvprintw, zmeny sa zobrazia až po zavolaní refresh.
- - Medzi vykresľovaním jednotlivých budov je vložené krátke oneskorenie pre vizuálny efekt postupného rastu mesta.
Zhrnutie pripravené s pomocou AI z prepisu videa.
nechodím na prednášky