[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: 3895
  • 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 634 korisnika na forumu :: 49 registrovanih, 6 sakrivenih i 579 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 1567 - dana 15 Jul 2016 19:18

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: _Petar, A.R.Chafee.Jr., aramis s, Arhiv, Atomski čoban, bojank2, Boris90, Bude Pusonjic, darkstar101, Davor Kondic, Drug pukovnik, Dzoni Stek, Filip Ilic, Georgius, goran.vvv, GreenMan, havoc995, imperator10, kingsmenns, Koca Popovic, Kos93, KUZMAR, ljuba.b, Marko Marković2, MarkoRapic, mačković, Mercury, mgaji21, Mikulino, Mirage 2000N, nenad812, nuke92, Oluj2.1, Outis, pedja63, petkovic56, powSrb, RADOVAN.S, renoje2, S-lash, sasa.zoric, Ssssssss, Toni, vasa.93, vespa nikola, vlvl, Voja1978, zax22r, |_MeD_|