Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

kontrola protivnika

[es] :: Visual Basic 6 :: kontrola protivnika

[ Pregleda: 3076 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Skuffman
Hrvatska

Član broj: 38315
Poruke: 27
*.cmu.carnet.hr.



+1 Profil

icon kontrola protivnika10.11.2004. u 20:56 - pre 236 meseci
radim packmana..i sve je ok ali ne znam kako da sredim protivnike...napravio sam da kada ih taknem da sam izgubio ali ne znam kako da se oni kreču sami po formi i to svaki put drukčije...

naprimjer imam par pregrada i kako da oni prolaze između pregrada..
kako da idu ravno i onda skrenu desno..(u tom stilu)

ne znam ni krenuti sa tim...ako netko zna hvala unaprijed


 
Odgovor na temu

filjo

Član broj: 17551
Poruke: 136
*.co.yu.



+1 Profil

icon Re: kontrola protivnika10.11.2004. u 21:40 - pre 236 meseci
Za svakog protivnika imas X i Y koordinatu plus imas npr. Xadd i Yadd promenjljive koje mogu biti +1, 0, -1.

U svakom krugu na X dodajes Xadd a na Y dodajes Yadd i ispisujes protivnika na novoj lokaciji. Pazi samo da samo jedno add (npr. Xadd) moze da bude +1 ili -1, a druga koordinata ti onda mora biti 0.(Yadd=0)ili obrnuto. Da jedna nije nula dobio bi kretanje ukoso sto tebi ne treba.

Biranje kretanja protivnika ide otprilike ovako: Kada protivnik udari u zid slucajno izaberes Xadd ili Yadd, a zatim slucajan broj -1,0,+1 a ovu drugu add stavis na 0,i proveris da li se protivnik moze kretati u tom smeru. Ako moze pustis ga da ide do sledece prepreke. Ako ne moze biraj ponovo.

Bio je jedan intervju sa tvorcem Pacmana jos davnih 80-tih mislim u "Racunarima" i koliko se secam tamo je receno da svaki protivnik ima tacno odredjeno kretanje. 1. ide slucajno, drugi juri za tobom itd, tako da oni nemaju nikada identicne putanje. Probaj prvo ovako slucajno pa ce se mozda roditi i neka druga ideja.

Nadam se da sam ti bar malo pomogao.
 
Odgovor na temu

Marko_L
Beograd

Član broj: 20532
Poruke: 2885
*.yubc.net.

Jabber: Marko_L@elitesecurity.org


+828 Profil

icon Re: kontrola protivnika10.11.2004. u 22:55 - pre 236 meseci
Citat:
Biranje kretanja protivnika ide otprilike ovako: Kada protivnik udari u zid slucajno izaberes Xadd ili Yadd

Predpostavljam da Xadd predtavlja kretanje po horizontali, a YAdd po vertikali.Zar nije onda bolje da umesto slučajnog izbora, program prvo proveri da li je zid horizontalan ili vertikalan, pa shodno tome iskoristi XAdd (slučajnim izborom -1 ili 1, a YAdd postavi na 0) ako je zid horizontalan i obrnuto, da ne bi došlo do situacije da protivnik naiđe na zid i vrati se nazad istim putem kojim je došao (pošto to nisam viđao u starijim verzijama pacman-a, za novije ne znam).
Izvini ako sam nešto pogrešno shvatio.

-Odracuonogakomijedrpiorazmaknicu.
-Ne rxdi mi txstxturx, kxd god hocu dx
ukucxm "x" onx ukucx "x".
-Ko kaaz e da ja neuummem da kuuca
m.
-Piše "Insert disk 3", a jedva sam i ova
dva ugurao u drajv
-Postoje samo dve osobe kojima
verujem, jedna sam ja, a druga nisi ti
 
Odgovor na temu

filjo

Član broj: 17551
Poruke: 136
*.co.yu.



+1 Profil

icon Re: kontrola protivnika10.11.2004. u 23:22 - pre 236 meseci
Ma odlicno si shvatio, ali ja sam hteo da mu objasnim sto jednostavnije i dam neku ideju, pa kada napravi kakvo-takvo kretanje po tabli, znace i sam kako to sve da resi efektnije.

Uglavnom je bitno da cuva koordinate protivnika i ima jos 2 pomocne promenljive koje ce pri svakom ciklusu da se sabiraju na X i Y sve dok ne dodje do zida. Kada se dodje do njega, na njemu je da udluci kojim sistemom ce da promeni Xadd i Yadd tako da se likovi "pametno krecu".

Primer: Ako je Xadd bio <>0 onda njega postavi na 0 a Yadd postavlja na +1 ili -1 ako je to moguce tj.ako nije "ćorak".Tako ce da izbegne vracanje unazad. Jos jedna ideja je da se neki krecu brze po +-2 a neki sporije sa +-1.
 
Odgovor na temu

Shadowed
Vojvodina

Član broj: 649
Poruke: 12849



+4784 Profil

icon Re: kontrola protivnika11.11.2004. u 13:58 - pre 236 meseci
Ovo je odlican primer kada treba koristiti objektno orjentisano programiranje. Dobar bi bio i za ucenje istog jer je primer relativno jednostavan.
Trebalo bi napraviti klasu Protivnik koja izmedju ostalog ima metod Move (bez parametara). Pro pozivanju ovog metoda objekat (instanca klase) proveri sta se nalazi sa gornje, donje, leve i desne strane. slucajno odabere varijantu u kojoj stoji prazno polje i promeni svoje koordinate na odogovarajuci nacin (za gore y=y+1, dole y=y-1, desno x=x+1, levo x=x-1). Kad se pozove Move za sve protivnike iscrtava se tabla sa novim koordinatama protivnika.

Mada u sustini ja ne bih koristio potpuno slucajan izbor jer bi izgledalo bez veze vec bih napravio neko malo slozenije pravilo za odlucivanje smera kretanja.

Eto, nekoliko hintova pa ako ti nije velika zurba da zavrsis program mozes usput da naucis malo OOP-a ;).
 
Odgovor na temu

Skuffman
Hrvatska

Član broj: 38315
Poruke: 27
*.cmu.carnet.hr.



+1 Profil

icon Re: kontrola protivnika11.11.2004. u 19:56 - pre 236 meseci
hvala idem pokušat nešto složit javit ču ako zapnem
 
Odgovor na temu

Skuffman
Hrvatska

Član broj: 38315
Poruke: 27
*.cmu.carnet.hr.



+1 Profil

icon Re: kontrola protivnika13.11.2004. u 14:14 - pre 236 meseci
iskreno ne znam kako ni da krenem...možete li mi pokazati neki jednostavan primjer sa xadd i yadd...

Ili neki mali tutor gdje da skinem
 
Odgovor na temu

filjo

Član broj: 17551
Poruke: 136
*.co.yu.



+1 Profil

icon Re: kontrola protivnika13.11.2004. u 14:53 - pre 236 meseci
Daj malo koda.Mislim na to kako detektujes sudare, organizaciju i ispis lavirinta, kako detektujes udar o zid.
Ne mogu ni da zamislim kako sve to izgleda pa je mi je glupo da pisem neke nebuloze.

 
Odgovor na temu

TheAlas
Bojan Sala
Senior Software Eng
IGT
Beograd

Član broj: 36584
Poruke: 119
*.nat-pool.bgd.sbb.co.yu.



+1 Profil

icon Re: kontrola protivnika13.11.2004. u 16:46 - pre 236 meseci
Pacman je teska igra za pocetnika, ovo ti je prevelik zalogaj , forum ti moze samo pomoci da nadjes neki dobar tutorijal/primer za pakmana.
Pre nego sto pocnes da pravis igru, trebas da imas gotove algoritme i detaljne planove za najbrzi i najmanji kod. Ako se zaustavis samo zato sto ne znas "kako nesto da uradis" onda imas los plan, nadji neke resurse na internetu koji ce ti resiti probleme sa kolizijom/kretanjem, itd.

Koliko se secam, crveni duh je najpametniji, ima i najgluplji... zuti valjda...
 
Odgovor na temu

[es] :: Visual Basic 6 :: kontrola protivnika

[ Pregleda: 3076 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.