[ ningpa @ 31.01.2004. 10:15 ] @
| Zeleo bih da napravim PacMan-a u Cpp-u, i treba mi pomoc.
Zamisao je da to bude DOS igra, slicna igrama od pre 10+ godina, posto mi se cini da je tako jednostavnije, uzimajuci u obzir da Cpp ucim tek 2-3 meseca na fakultetu, i da se moje programersko predznanje moze svesti uglavnom na C, takodje ucen u pomenutoj ustanovi.
Ono sto me trenutno muci je iscrtavanje lavirinta, tacnije kako se to radi.
Ako bi neko mogao da mi pomogne bilo bi odlicno, ili bar da me uputi na adresu na kojoj bih mogao nesto vise da saznam o tome, kako ne bih tumarao u mraku.
Hvala... |
[ Mrav @ 31.01.2004. 23:26 ] @
Ako misliš na grafički deo, pošto radiš za dos pogledaj šta možeš da nađeš o vgalib odnosno svgalib. Trebalo bi da ti pruže dovoljno funkcija da iscrtaš na ekranu ono što si poželeo.
Znači uključićeš zaglavlja za te biblioteke i koristiti gotove funkcije za crtanje. Ne znam mnogo o tome kako ona radi jer je nisam koristio, ali ne bi trebalo da je previše komplikovano. Što se tiče logike crtanja tvog lavirinta, to je već drugo pitanje. Moj je savet da počneš sa jednom klasom-strukturom, koja će sadržati lavirint. Prvo što mi pada na pamet je dvodimnzioni niz koji bi sadržao "kocke" od kojih se lavirint sastoji, primera radi 1 za zid i 0 za prazan prostor, to bi kasnije olakšalo programiranje kretanja tvojih pekmena (ne može da se kreće po poljima označenim sa 1 i sl.).
Kada iscrtavaš ovo možeš da iskoristiš (1 crtaj kocku NxN pixela, 0 ostavi crno) da iscrtavaš svoj lavirint.
Itd, itd. Možeš i da probaš sa OpenGL-om, bilo bi ti možda lakše nego da se bakćeš sa dosom, a on isto tako može da se iskoristi za 2d grafiku.
[ ningpa @ 01.02.2004. 10:02 ] @
Potrazio sam vgalib i svgalib po net-u, i koliko sam shvatio: "svgalib provides graphics capabilities to programs running on the system console, without going through the X Window System."
Jos malo sam potrazio i nasao Allegro game programming library, pa cu pokusati sa tim.
Znao sam za OpenGL, cak sam nesto malo gledao code sa OpenGL funkcijama, ali mi se ucinilo isuvise komplikovanim za ovo sta meni treba, a ma koliko voleo time da se bavim u sred sam ispitnog roka.
Hvala ti za ovaj savet sa klasom-strukturom... nesto sam slicno i uradio... napravio sam klasu koja sadrzi podatke o lavirintu, koju ucitava iz .txt file-a, iscrtava ga itd... jos tri klase... class Figura, class Igrac : protected Figura i class Duh: protected Figura... Lavirint sam iscrtavao sa WriteConsoleOutput funkcijom, cini mi se da se tako zove... ali to skoro ni na sta ne lici... zato sam i potrazio savet...
Hvala ti na pomoci...
Ako neko ima jos neku dobru ideju vise je nego dobrodosla...
[ camp @ 03.02.2004. 10:23 ] @
Probaj da pocnes sa
www.gametutorials.com ...
[ leka @ 03.02.2004. 12:12 ] @
Ima toliko kvalitetnih ToolKit-a za pravljenje igara da je to nevidjeno, neki od njih ste vec spomenuli, neke ne. Recimo meni odmah na pamet pade ClanLib. U principu SDL je ono sto je svima sasvim dosta...
U Dev-C++-u (
http://www.bloodshed.net) imate vec gotov Allegro i SDL, tako da samo treba instalirati te pakete i mozete odmah poceti sa izradom igre! :)
[ ningpa @ 05.02.2004. 10:31 ] @
Od tutoriala na
www.gametutorials.com je sve i pocelo...
Pokusao sam sa Dev-C++, ali se compiler buni kad se ukljuce neka, prvestveno mislim na standardna zaglavlja... da bi se to resilo cini mi se da mora da se prevodi sa komandne linije, sa: g++ -D__GTHREAD_HIDE_WIN32API program.cpp -lalleg
sto mu dodje isto kao i sa Borlandovim linijskim prevodiocem, koga trenutno koristim, i koji je posle dosta muke proradio sa allegrom...
[ leka @ 05.02.2004. 11:20 ] @
Ako je tako kako kazes (-D__GTHREAD_HIDE_WIN32API), onda se to moze
resiti na "kulturan" nacin tako sto odes u Project -> Project Options
=> Parameters i tamo podesis parametre za kompajliranje. - U "C++
compiler" text polju (memo) treba samo da upises
"-D__GTHREAD_HIDE_WIN32API" i to je to. Dakle, nema govora da, kao sto
si rekao, bas MORA da se rucno kompajlira. :)
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.