Prva korisna stvar na faksu, prva igrica - WriteSmart

10:27

Došao sam na fakultet, "naučio" gomilu gluposti, izgubio pola godine života i tek sam sada počeo raditi nešto korisno. Iz Arhitekture računara imao sam priliku da radim projekat kod kuće za 30 bodova što sam jedva dočekao. Nakon duže rasprave sa asistentom odlučio sam da pravim igricu u C++ koristeći SDL biblioteku.

Moram napomenuti da mi je ovo prva igrica i da sam posljednji put sa OOP u C++ susreo u trećem razredu srednje iz Programiranja. S obzirom na to ovaj projekat je bio odličan način da se podsjetim nekih stvari i naučim nešto novo. Ovo je prvi put da nešto korisno naučim na fakultetu, tačnije dok sam na fakultetu, jer ovaj projekat radim "kod kuće".

Organizacija koda i datoteka je bio prvi problem sa kojim sam se suočio. Vjerovatno zbog neiskustva u pravljenju ovakvih aplikacija, nepoznavanja SDLa i lošeg znanja OOPa u C++ bilo je mi je jako teško da napravim dobru strukturu. Iz tog razloga često sam dosta stvari mijenjao i počinjao iz početka. Sada, kada je projekat završen uviđam greške i imam mnogo jasniju sliku strukture koja je bila pogodna za ovakve aplikacije. Sigurno bih narpravio klasu za rad sa tekstovima koja bi obavezno sadržala podrazumjevane vrijednosti, veličinu, boju i naziv fonta, zatim funkciju za prelamanje teksta i destruktor koji bi oslobađao zauzetu memoriju.

Za grafiku nisam smio koristiti slike sa Interneta, pa sam odlučio da ih sam napravim. Prvo sam nacrtao na papiru kako bi neka slika trebala da izgleda, zatim fotografisao telefonom i tu forografiju koristio kao "pozadinski layer" u GIMPu. Preko toga u novim layerima sa Paintbrushom crtao sam novu sliku. Ograničenja C/C++ i same SDL biblioteke su me dosta usporavali. C/C++ ne posjeduje standardnu bibloteku sa funkcijom koja konvertuje integer u string, pa sam je morao sam napisati. Takođe, SDL nema mogućnost prelamanja teksta, pa sam morao napisati i funkciju za to koja nije radila dovoljno dobro.

Realistično kretanje olovke sam pokušao da realizujem tako što bi se olovka u prvom frejmu pomjerila za x tačaka, a sljedećem za (x – y) tačaka. Na sličan način napravio sam i naginjanje olovke zavisno od djelovanja sila.

Link za preuzimanje igrice

You Might Also Like

0 коментара