[ djordje @ 07.02.2006. 19:35 ] @
| Hteo bih da pocnem da radim na razvoju igara. Po savetima sa nekih sajtova poceo sam redom od konzolnih igara tipa iksoks, potapanje brodova itd... E sad imam problem.
Htedoh da napravim tetris. Osmislio sam veci deo posla, zavrsio sam klase figura i teble. Ostaje mi da resim upravljanje figurom koja je u padu.
Ovde sam totalni pocetnik i nadam se da cete me shvatiti sta je problem. Celu igru "vrti" jedna while petlja. Prvi korak je da se pojavi figura u prvom redu ako ne postoji vec na tabli ili da se pomeri ka dole ako postoji na tabli, drugi korak je detekcija sudara sa vec postavljenim figurama, treci ispitivanje da li postoji popunjen red na tabli i ako postoji nestaje.
Kako u ovakav sistem impementiratii kontrolu, dakle, kako tastaturom pomerati figuru po tabli vise od jednog polja za vreme jednog ciklusa while naredbe? |
[ blaza @ 07.02.2006. 20:15 ] @
U originalnom Tetrisu, figura se pomera nadole nakon dva ciklusa tvoje "while" petlje.
Ako ovo ne ispostujes, 'zavlacenje' figure u stranu nakon brzog spustanja figure nece biti omoguceno.
Prilikom umetanja nove figure u tabelu, proverava se preklapanje sa popunjenim poljima table.
Prilikom svakog ciklusa petlje omoguceno je pomeranje za jedno polje, ulevo ili udesno.
Pre svakog pomeranja vrsi se 'detekcija sudara'. (sa ispunjenim poljima koja se nalaze levo i desno)
Nakon parnog ciklusa petlje figura se pomera za jedno polje nadole.
Pre pomeranja nadole, vrsi se 'detekcija sudara'. (sa ispunjenim poljima koja se nalaze ispod figure)
Ako figura lezi na dnu, ispituje se 'ispunjenost redova tabele', i inicira se umetanje nove figure prilikom izvrsavanja sledeceg ciklusa petlje.
[ djordje @ 07.02.2006. 20:27 ] @
Citat:
U originalnom Tetrisu, figura se pomera nadole nakon dva ciklusa tvoje "while" petlje.
Ako ovo ne ispostujes, 'zavlacenje' figure u stranu nakon brzog spustanja figure nece biti omoguceno.
Bravo, ovoga se nisam setio.
Kako resiti tajmer u c++? Prvi put mi sad treba pa ne znam. To je jos jedini problem koji mi je ostao
[ blaza @ 07.02.2006. 20:40 ] @
Svojevremeno sam napisao Tetris/Pentix dual player klon, pa slucajno poznajem tematiku.
Procitaj tutorijal o tajmerima (Windows platforma) koji je napisao jedan nas ES kolega:
http://www.codeproject.com/system/timers_intro.asp
[ djordje @ 07.02.2006. 22:52 ] @
Citat:
Prilikom svakog ciklusa petlje omoguceno je pomeranje za jedno polje, ulevo ili udesno.
Kako resiti da se moze pomerati vise puta levo desno pre pomeranja na dole?
Pretpostavljam da se rusi ceo koncept sa while petljom.
[ blaza @ 08.02.2006. 07:40 ] @
Mozes pomeriti figuru za ukupno dva polja, pre pomeranja za jedno mesto nadole, sto je dovoljno.
[ djordje @ 08.02.2006. 11:45 ] @
Resio sam da ne pravim u kozoli. Ovo ce biti ipak projekat sa prozorima. mnogo je lakse cini mi sse
[ _Doctor_ @ 08.02.2006. 18:58 ] @
Mozda cce ti pomocci moje iskustvo u pravljenju Tetrisa. Radio sam ga JAVI ali dobro bitna je ideja zar ne ?!
Svaka figura se sastoji od niza gradivnih elemenata koji su u stvari Button-i. Matrica predstavlja polje po kom se kreccu figure, a koja opet sluzzi za chuvanje spustenih figura. Znachi svaki element figure ima svoj rowIndex i columnIndex i na osnovi njega se smeshta u matricu kada figura padne. I sada kada figura treba da se pomeri ja prvo proverim da li su odgovarajuca polja u matrici slobodna i ako jesu moze. Takodje svaki put kada se figura spusti proveravam da li ima poponjenih redova u matrici i ako ima brishem taj red i ostale figure spushtam dole.
Nadam se da sam ti bar malo pomogao. :)
A evo i link-a do mog tetrisa:
http://d.turboupload.com/d/332175/Tetris.zip.html
pozdrav
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.