ZAP - Tutorial Bomber (Curses) (2019/2020)

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 tvorbe hry Bomber pomocou knižnice curses, ktorá slúži na jednoduchú ASCII grafiku v termináli a súvisí so zadaním číslo 6. Vysvetľuje sa princíp hry, kde bombardér preletáva nad mestom a zhadzuje bomby na budovy, pričom cieľom je zničiť všetky poschodia všetkých budov. Podrobne sa preberá inicializácia knižnice (funkcie InitScreen, EndWin, noecho, keypad, curs_set, nodelay), nastavenie kompilátorového prepínača lcurses v súbore .bashrc a overenie funkčnosti preloženého programu. Ďalej sa rieši vytvorenie sveta ako jednorozmerného poľa výšok budov generovaných náhodne pomocou funkcie rand a time, s obmedzením na polovicu výšky obrazovky a vynechaním okrajov obrazovky. Na záver sa ukazuje vykresľovanie mesta pomocou funkcií move, printw a refresh, spolu s implementáciou oneskorenia pomocou nanosleep a štruktúry timespec pre riadenie rýchlosti pohybu bombardéra.

  • - Cvičenie z tutoriálov demonštruje prácu s knižnicou curses potrebnou pre zadanie č. 6
  • - Princíp hry: bombardér preletáva nad mestom a zhadzuje bomby, cieľom je zbúrať všetky budovy
  • - Inicializácia curses pomocou initscr, noecho, keypad, curs_set, nodelay a ukončenie pomocou endwin
  • - Nutnosť nastaviť prepínač -lcurses v .bashrc, inak preklad zlyhá
  • - Mesto sa reprezentuje jednorozmerným poľom výšok budov generovaných náhodne cez rand a time
  • - Výšky budov sú obmedzené na polovicu výšky obrazovky (macro LINES) a okraje obrazovky ostávajú bez budov
  • - Vykresľovanie sveta pomocou move, printw a refresh doplnené o oneskorenie cez nanosleep a štruktúru timespec

Zhrnutie pripravené s pomocou AI z prepisu videa.