[4] Allegro - Glavni ciklus igre

[4] Allegro - Glavni ciklus igre

offline
  • Més que un club
  • Glavni vokal @ Harpun
  • Pridružio: 27 Feb 2009
  • Poruke: 3898
  • Gde živiš: Novi Sad,Klisa

U prošlom tutorijalu smo obradili kako da promenimo font, u ovom tutorijalu ćemo obrađivati glavnu petlju u kojoj se igra izvršava. Ovde ću pokazati kako da na ekranu prikažete reč, koja se pojavljuje slovo po slovo.

Napomena: Kod za C i C++ se razlikuju.




C
#include<allegro.h> //posto radimo sa stringovima, dodajemo biblioteku string.h #include<string.h> //Ovde sam uveo novu boju, za bojenje teksta na ekranu #define TamnoPlava makecol (44, 117, 255) #define SirinaEkrana 800 #define VisinaEkrana 600 int main() {    allegro_init();    install_keyboard();    set_color_depth(32);    set_gfx_mode(GFX_AUTODETECT_WINDOWED, SirinaEkrana, VisinaEkrana, 0, 0);    set_window_title("Lekcija 4");     //Uvodimo brojac kako bismo string koji imamo, slovo po slovo, kopirali u jedan prazan string.    int brojac = 0;     char rec[10] = "Lekcija 4";    char CrtajRec[10] = "";     //Uslov izlaska iz petlje nam je da brojac mora da bude veci ili jednak broju karaktera koje ima promenljiva rec.    while(brojac < strlen(rec))    {        CrtajRec[brojac] = rec[brojac]; //Posto ovde kopiramo karaktere, a ne citav string, mozemo koristiti operator dodele, a ne funkciju strcpy();        brojac++;        //Ispisujemo trenutni string na ekran.         textout_centre_ex(screen, font, CrtajRec, SirinaEkrana / 2, VisinaEkrana / 2, TamnoPlava, -1);         //Funkcija rest zamrzava ekran na odredjeni broj milisekundi, na isti nacin kao funkcija delay() ili Sleep();         rest(200);         clear_bitmap(screen);    }    allegro_exit();    return 0; } END_OF_MAIN()



C++
#include<allegro.h> //posto radimo sa stringovima, dodajemo biblioteku string #include<string> //Ovde sam uveo novu boju, za bojenje teksta na ekranu #define TamnoPlava makecol (44, 117, 255) #define SirinaEkrana 800 #define VisinaEkrana 600 int main() {    allegro_init();    install_keyboard();    set_color_depth(32);    set_gfx_mode(GFX_AUTODETECT_WINDOWED, SirinaEkrana, VisinaEkrana, 0, 0);    set_window_title("Lekcija 4");         //Uvodimo brojac kako bismo string koji imamo, slovo po slovo, kopirali u jedan prazan string.    int brojac = 0;    std::string rec = "Lekcija 4";    std::string CrtajRec = "";         //Uslov izlaska iz petlje nam je da brojac mora da bude veci ili jednak broju karaktera koje ima promenljiva rec. Za to koristimo metodu length()    while( brojac < rec.length())    {        CrtajRec += rec[brojac];        brojac++;                 /*Posto je Allegro 4 pisan za rad sa C-om, nas string mroamo konvertovati u string koji je Allegru citljiv.            To cemo uraditi dodavanjem .c_str() metode nakon pisanja imena  promenljive CratjRec.         */         textout_centre_ex(screen, font, CrtajRec.c_str(), SirinaEkrana / 2, VisinaEkrana / 2, TamnoPlava, -1);                         //Funkcija rest zamrzava ekran na odredjeni broj milisekundi, na isti nacin kao funkcija delay() ili Sleep();         rest(200);         clear_bitmap(screen);    }    allegro_exit();    return 0; } END_OF_MAIN()



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
Ko je trenutno na forumu
 

Ukupno su 734 korisnika na forumu :: 61 registrovanih, 10 sakrivenih i 663 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 20624 - dana 04 Apr 2026 04:18

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: 16.mabr, Automaticar, Ba4e, bakos022, bb929, bojanM84, Bole72, Boskovic, Comyymoc, dekiz, DonRumataEstorski, Dorcolac, Electron, ElGenius, EVIDENTICAR, g0xy, Giskard, glados, GORDI, gost321, howyesno, ivica976, jarovitt, Jecmendo, jodzula, Jose, Kamov, king011, Lazur_01, Marko Marković, Marko00, Metanoja, MiGac, milan.tatanac1, milenko crazy north, milivoje_vatrogasac, momcilob55, Nemanja.M, nevjerna beba, Peruta, PlayerOne, raptorsi, redstar72, Remain, samp1389, sekretar, sickmouse, Smiljkovich, Sonic, stingD, Toper, trajkoni018, Tvrtko I, umpah-pah, volimpivuvolimrakiju, vrgudinac, vrlenija, Wepp, zeljko71, zule2, |_MeD_|