C-ben egyszerű grafikus módot használni. Nem Turbo C-re gondolok, Hanem hagyományos Ansi C-re....
Szükség van egy fejlesztői környezetre, én Dev C++-t használtam, bár tudom elavult, de gyakorlásnak tökéletesen megteszi. Egyébként bármilyen más környezet is teljesen jó fog működni. Szükség van néhány olyan dologra, amit egyébként a Dev C++ nem tartalmaz. Először be kellszerezni a graphics header file-t, aztán a libbgi.a-t. A Dev C++ megnyitása után létre kell hozni egy új C projectet, majd a Project fülön, a Project Optionst kiválasztása. Azon belül a parameters, és a Linker-hez kell bemásolni:
-lbgi
-lgdi32
-lcomdlg32
-luuid
-loleaut32
-lole32
Az oldal ahonnan letölthetők az állományok: http://www.cs.colorado.edu/~main/bgi/dev-c++/
A graphics.h, és a conio állományok includálása után egy grafikus ablakot kell létrehozni, és már mehet is a kódolás. Grafikus ablakot a initwindow() segítségével hozunk létre, amely 3 paramétert vár. Az x, y és az ablak nevét. Grafikus módban x és y tengelyen kell gondolkodni. pl.: initwindow(1200,600,”Elso grafikus ablak”);
A többit már a neten keresgélve, vagy könyvből szépen meglehet csinálni, attól függően mit szeretnék programozni. Az én kódom egy nagyon kezdetleges játék. Az .exe fájl futtatása után egy grafikus ablak jelenik meg „Tank 1.0” címen, majd átvált egy új képernyőre és betöltést szimulál.
Természetesen csak egy egyszerű animálással csináltam meg, hiszen egy ekkora méretű játékon nagyon nincs mit betölteni.A „Press any key” felirat után indul is, egy tank látható (nincs színezés, sem ellenség). A billentyűkkel tudjuk irányítani a tankot, és space billentyűvel lőni.
A „q” billentyű lenyomásával kilép a játékból és kiírja, hogy a játéknak vége. Grafikus módban ugyanúgy használhatók azok az egyszerű ciklus fajták amit már megszokhattunk, és az if és switch elágazások is, mint numerikus módban. Ennek demonstrálására rakom közzé ezt a kódot képekkel. Bár igaz, hogy a mai játékokat már játékmotorral csinálják, de gyakorlásnak és az alapok elsajátításához egy ilyen példa kezdetnek megfelelő.