Bomber (Curses) | ZAP Tutorial (2024/2025)

Zdroj
ručne priradené
Pridané

Pozrieť na YouTube →

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.

Otvoriť AI: ChatGPT · Claude · Gemini

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.