Curses | Základy algoritmizácie a programovania (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
Prednáška predstavuje knižnicu curses, ktorá umožňuje pracovať s obrazovkou terminálu textovým, no grafickejším spôsobom než štandardný výstup, s podporou farieb a presúvania kurzora – podobne ako pri robotovi Karlovi. Vysvetľuje sa nastavenie prekladača (pridanie prepínača -lcurses do .bashrc alebo .profile), keďže curses nepatrí medzi štandardné knižnice jazyka C. Na ukážkových príkladoch (rolling text, screen saver, sokoban, ovládanie postavičky) sa demonštrujú možnosti knižnice, ktoré môžu inšpirovať pri riešení zadania. Hlavnou praktickou časťou je prerobenie hry piškvorky z cvičenia z opakovaného vypisovania na obrazovku pomocou printf/scanf na prácu s curses funkciami initscr, endwin, printw, mvprintw a refresh, pričom hracie pole sa vykreslí len raz a ďalej sa iba aktualizuje. Spomína sa aj domáci lab s hrou bombardér využívajúci rovnakú knižnicu.
- - Curses je knižnica pre prácu s terminálovou obrazovkou s podporou pohybu kurzora a farieb.
- - Treba upraviť .bashrc/.profile a pridať prepínač -lcurses pri preklade programu.
- - Ukážkové príklady (rolling text, screen saver, sokoban, ovládanie postavičky) slúžia ako inšpirácia pre zadanie.
- - Program musí inicializovať obrazovku funkciou initscr a na konci ju ukončiť funkciou endwin.
- - Funkcie printf a scanf sa nahrádzajú funkciami printw a scanw, prípadne mvprintw pre presun kurzora a výpis.
- - Hracie pole piškvoriek sa vykreslí iba raz (first draw) a ďalej sa len prepisuje obsah pomocou refresh.
- - Makrá LINES a COLS určujú rozmery obrazovky pre výpočet maximálnych súradníc.
Zhrnutie pripravené s pomocou AI z prepisu videa.
nechodím na prednášky