[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 1324 korisnika na forumu :: 304 registrovanih, 25 sakrivenih i 995 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 15694 - dana 01 Feb 2026 12:23

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: -[CoA]-, -Max-, 015, 9k38, _stipa_, acatomic, akaherz994, amadeus, amonsrb, AndrejPetar, Andrija357, Apok, aramis s, Armadillo, ArmFPGA, atmel, avijacija, Avladi, baltazar01, Batinas, Batko.VD.65, Battlehammer, Baždaranac, BB, bb929, Bbbggg1979, bbrasnjo3, Ben Roj, Bickoooo, bluesky, Bo96, Bobrock1, bojan_t, bojank, boracbl1389, Borkanović, boromir, Boroš, BORUTUS, borya90, bounty hunters, Bozjidar87, bpop, Brabant, BradaRS, brandža84, BraneS, BrcakRS, brufen, Bubimir, bufanje, Butcher, BWG, C-Gun, celt, Cicumile, cifra, Cirkon, comi, comi991, CrazyDiablo, Crazzer, cuvarkuca, dacanaldo, Darko Jovanovic, darkojovxp, Dd41d41, dejandr, DejanSt, dekan.m, deki1001, deLacy, djboj, djonsule, DJUNTA, Djuza, dnevnasoba, Dogma21, Draganeli, draganl, DragoslavS, drimer, Drug Mimi, Drugsparrow, Dusko Nikolin, Dzoni2412, Ercomero, eulereix, EXIT78, fokac, Fructo, fugasa, gajasvi, galerija, Gall, Gerilac, Gforce_6, Gibli, glados, Glavni Oružni, GM2006, gobrad, grunff2, hajduk1911, Hans Gajger, hyla, Ice, igorkozar83, IQ116, ivan1973, Jan, jednokratni akaunt, Jeremiah, Jerry Drake, Joco Skljoco, jopicus, Jose, Josip77, Jovan.D, Jozo74, Kajzer_Soze, Kamov, kaput21, Kazablankasrb, kikisp, Knovakov, komenski, KostaN, Kozi-RS, Kredit, Krsman78, Krusarac, Kubovac, kuntakinte, Kuroje, kutija11, kybonacci, laganini123, lakson001, Leonov, Levi, Lj_ubo, LjutaGuja, lord sir giga, LostInSpaceandTime, Lubenica303, Lucije Kvint, macak44, MaCS, Malahit, malimedo01, Manesaur, Manjane, Marko Marković, marko.markovic, Markobreee, mat, matejman, MB120mm, medaTT, Mercury, Metanoja, Miki281, mikrimaus, Milan 84, milanpb, milenko crazy north, Milenko1980., Miletić Zoran, Milo97, MiloradKomadic, milos.cbr, Milos82, milos97, Milovan Dinic, MiroslavD, Mitch22, mladen.zovko, mm1811, monomah, Mozgonja, MrG, Muki 123, Mzee, Naj-Turs, Natuzzi, nebidrag, nebojsag, nelezele, nemkea71, nenad81, neutrino, nikolapetkovic, nnovakis, novator, oblivion, OgnjenMitric, oldtimer, operniki, Orlova, OtacMakarije, ozzy, Panter, pedja.st, pein, Pekman, peradetlić, Permaldar, Pero Petković, petar0301, Petjan, Pewac21, picknick, pisac12, Podmukli neprijatelj, Posmatrac77OKB, procesor, rachmoff, Radogost, RajkoB, Ray1973, Recce, Resnica, RiV, Rok A Bit, Rothmans, sajorg, Salence74, sales, samsung, sap, Savantije, Savkec, Sevatar, Sevetar, shadower78, Sharpshooter, shlauf, sickmouse, simazr, Simon simonović, Singidunumac, siwoti, Sky diver 29, SMF, Smiljkovich, Sone1983, sova72, spektorsky, Srle993, srđan, steksi, Stoilkovic, superwhy, synergia, T55, Tas011, Tastatura ratnik, theNedjeljko, timo boll, Timočka Divizija, tm, tmanda323, Tragač, Tribal, trinitrotoluen, trutcina, TTN, UncleSAM, Underwood, uruk, Valter071, Vanderx, vddutina, veljko82, Vitomir, VladimirV, vladoo, vlahale, voja64, Vojvoda81, volimpivuvolimrakiju, Volkhov-M, VPV, vranjanac29, Vrač, Wehicle, wize, wolf431, xAlex2, Yekaterinburg, zdrebac, Zeka_Peka, zgoljo, zil10, Zimbabwe, zixmix, Zmaj Tolak, zmajognjeniivan, Zorge, Zrcalo, zrno, zzeljko, Žoržo