[ panterloki @ 17.06.2013. 12:15 ] @
Imam problem sa skupljanjem hrane iako sam postavio da skok iznosi po 20 i objekti su istih velicina (40*40) ipak zmijica prolazi kroz polovinu hrane iako nije logicno da se to desi.
Zmijice.rar sa slikom problema i source kodom
[ dusans @ 17.06.2013. 12:36 ] @
Code:

            if (x==c && y==b)
            {
                c = rnd.Next(1, 20);
                c = c * 20;
                b = rnd.Next(1, 20);
                b = b * 20;
            }


Ovaj uslov ti ne valja i igra se ponaša u skladu sa tim.
Ovako kako stoji, zmija će da pojede hranu samo ako se baš nađu u istom položaju tj. kad se preklapaju.
Napiši ovde kako bi trebalo da radi.
[ plague @ 17.06.2013. 12:38 ] @
Probem se desava jer se koordinate zmije i hrane tumace preko jedne tacke koja je gonji levi ugao objekta. Hrana biva pojedena tek ako se gornji levi ugao zmije poklopi sa gonjim levim uglom hrane.

Ako hoces drugacije uslove, moras promeniti deo if (x==c && y==b) tako da se poklapa sa onim sto zelis da bude.
[ panterloki @ 17.06.2013. 12:40 ] @
Ne zelim ja da se hrana pojede ako se samo dotaknu, hocu da se pojedu samo u slucaju ako zmija prodje tacno kroz hranu, ali iz nekog razloga ona moze da prodje kroz polovinu hrane, ja hocu da skokovi budu takvi da zmijica uvek prolazi tacno kroz hranu.
[ dusans @ 17.06.2013. 12:44 ] @
Pa ne mogu dimenzije da ti budu 40x40 a korak 20, normalno da će da ti se prekalapaju polovično.
Svedi korak i dimenzije na istu vrednost i onda ćeš dobiti šta treba.
[ panterloki @ 17.06.2013. 12:54 ] @
Potpuno logicno, hvala
[ panterloki @ 17.06.2013. 19:05 ] @
Razmisljam kako da zmijica raste kad pojede hranu i kako ti segmenti koji su iza nje da se pomere i dobijem jednu komediju od igrice, kako bi mogao da resim ovo potreban mi je samo hint ne resenje jer pokusavam da naucim, hvala unapred.
Zmijice u progresu pracenje segmenata
[ plague @ 17.06.2013. 19:25 ] @
Tretiraj zmiju kao Listu kvadrata koji imaju koordinate. Kada se zmija pomeri, skini poslednji kvadrat i stavi nov na poziciju koja je sledeca. Svakim potezom proveravaj da li nakon pomeranja postoje 2 kvadata koja imaju iste koordinate - to znaci da si udario u sebe.

Takodje uvedi da zmija stoji dok neko ne pritisne dugme za kretanje na tastaturi jer iritira ovako. Mislim kada se startuje aplikacija. ;]
[ panterloki @ 17.06.2013. 20:12 ] @
Napravio sam ga da tretira svaki kvadrat tjh. segment zmije kao koordinate prethodne pozicije prvog segmenta, ali cim zmija "pojede" hranu izadje mi blanko forma.Zmijice u progresu, blanko forma.
[ plague @ 17.06.2013. 20:55 ] @
Dobijas gresku jer pristupas indeksu koji ne postoji. Liste nisu kao nizovi, imas .Add() funkciju da dodas na kraj Liste, .Insert() da ubacis element na npr pocetak preko indexa, .RemoveAt() da izbrsises element na zadatom indexu...

Takodje pomeranje bi se tada vrsilo drugacije. Skidas sa liste prvi element, dodajas je kraj nov cija je koordinate jednaka onom prethodnom +- sirina/visina zavisno od smera kretanja.

Umesto 2 liste, napravi jednu strukturu koja ce imati polja X i Y, a zatim listu te strukture. Kada pojedes hranu nemoj da brises zadnji element nego dodaj jedan nov ispred (jer zmija treba da raste).

Najbolje bi bilo klasu, ali dobro, to mozes posle da nadogradjujes.

Ako ti treba neka konkretnija pomoc slobodno je trazi, ali bilo bi bolje da sam shvatis kako treba.
[ panterloki @ 18.06.2013. 13:10 ] @
Uspeo sam da napravim da se krece kako treba i da poraste, ali samo za jedan segment ne znam sta da radim? (nisam odradio to sto mi je plague predlozio) Zmijica sa jednim segmentom
[ Boyka @ 03.07.2013. 09:40 ] @
Ako se ne varam broj elemenata u listi ti je 1 ili 2, ne punis listu novim koordinatama, ubaci u SegmentX i SegmentY koox i kooy, tj. nove koordinate novog clanka, segmenta zmije...