Szöveges és grafikus megjelenítés

Czirkos Zoltán · 2022.09.21.

A nagy házi feladatban használható, szöveges és grafikus megjelenítést segítő függvénykönyvtárak.

Konzolos megjelenítés, ékezetes karakterek

Aki összetettebb konzolos felületet szeretne csinálni (pl. aknakereső, tetris), használhatja a tárgyhoz készített c-econio-t, amely a konzol képernyő kezelését segítő függvényeket tartalmaz (színek beállítása, adott pozícióra ugrás stb.) Ez egyszerűbb játékokhoz, teljes képernyőn futó programokhoz jól használható Windows és Linux alatt is. Code::Blocks projekthez a szokásos módon adható hozzá: jobb klikk a projekt nevére, és az „Add files...” menüpontot kiválasztva.

Gond szokott lenni Windowson a szöveges képernyőn az ékezetes karakterek megjelenítésével. Ez azért van, mivel a Windows más karakterkódolást (betű→szám hozzárendelést) használ a grafikus és a konzolos programoknál. A probléma egy-két függvényhívással megoldható; erről bővebben a karakterkódolások oldalon.

Konzolon érdemes színeket használni és dobozrajzoló karaktereket. Ez utóbbiak akkor működnek igazán jól, ha Unicode (UTF-8) kódolást használ a program, de régebbi karaktertáblákban is szerepel sok ilyen karakter. Esetleg emoji-k is használhatóak 🍎 🐈 👾.

Vektorgrafikus képformátum

Az SVG képformátum különösen alkalmas lehet pl. egy koordinátageomtriával foglalkozó program számára. Alább látható egy példa SVG fájl, és a kép, amelyet megjelenít.

<svg xmlns="http://www.w3.org/2000/svg" width="7cm" height="9cm">
  <line style="stroke:#000000;" x1="60" y1="0" x2="170" y2="330" />
  <line style="stroke:#000000;" x1="0" y1="60" x2="270" y2="150"  />
  <line style="stroke:#000000;" x1="40" y1="300" x2="270" y2="70"  />
  <circle style="fill:none; stroke:#000000;" cx="140" cy="140" r="70" />
  <circle style="fill:#80aae3; stroke:#000000;" cx="90" cy="90" r="6" />
  <circle style="fill:#80aae3; stroke:#000000;" cx="210" cy="130" r="6" />
  <circle style="fill:#80aae3; stroke:#000000;" cx="130" cy="210" r="6" />
</svg>

Grafikus felületek

A grafikus programokhoz a platformfüggetlen SDL használható. Más platformfüggetlen grafikus könyvtár használata csak a laborvezetővel egyeztetve lehetséges! A grafikus megjelenítés ebben a tárgyban nem tananyag, de önszorgalomból bárki készíthet grafikus programot. Ezzel a házi feladat egyéb követelményeit nem lehet kiváltani.

Letölthető grafikus elemek

Az interneten sok olyan oldal van, ahonnan ingyenesen szerezhetőek grafikus elemek, illetve hangok, amelyek felhasználhatók a játékokban. Ilyen például az OpenGameArt.Org, de sok egyéb oldal van még. Ezeknek a licensze általában megengedi a szabad felhasználást.