"Snake" - Må den æde æblet eller ej

Tags:    c#

Hej,

jeg har aldrig prøvet at lave et gui spil, så tænkte jeg lige for sjov skyld ville prøve at lave et simpelt lille et.
Det er bare med c# i VS.

Mit problem er, hvordan jeg skal checke om slangen må æde æblet.
Jeg gør bare det, at jeg flytter rundt på 2 picturebox'es, en med æblet og en med slangen.

Det virker, forudsat, at man rammer 100% korrekt. Problemet er at slangen så ind i mellem ikke kan ramme 100%, så den fx er 1 pixel over eller under på x aksen og samme på y måske, så den reelt rammer i forhold til skærmen.

Det er jo lidt voldsomt at skulle loope igennem og checke på, så ville lige høre om nogen havde forslag til, hvordan det kan klares. Kordinaterne genereres random indenfor et panel. Har lavet så det kun kan give ulige tal på x og y som kordinat i et forsøg på at holde de to på bane.

Nuværende kode:
Fold kodeboks ind/udCSharp kode 




2 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 1 karma
Sorter efter stemmer Sorter efter dato
Typisk gør man det at man har sit "snake" objekt og en liste af hvert af alle de andre objekter.Dvs en liste af æbler, en liste af forhindringer osv (på sigt skal du have en liste af slange-dele). Hver gang du flytter din slange skal du lave kollisions validering. Dvs du skal tage det rektangel der udgør din slange, samt hvor det findes på skærmen, fx. (355,46) og den fylder (16,16). Med de informationer laver du en løkke der løber alle æbler (eller hvad det nu er) igennem og checker om æblets rektangel (placering + størrelse) krydser din slanges rektangel. Hvis dine rektangler krydser hinanden (intersect) så er der kollision og du kan kalde en metode på dit æble, der fjerner det og tilskriver dig points.

giver det mening?



Ja, er præcis det jeg også gør, men du foreslår, at jeg er nød til at køre disse check igennem, som jeg udmiddelbart jo vurderer blive rimelig omfattende, og som jeg egentlig blot ønskede at høre om der var en genvej til at undgå :=)

Edit: Nå fik det alligevel presset ned i 4 styk check, så tror det er ok igen, vender tilbage når de næste problemer melder sig, er lidt noget andet end dagligdagen, med SMS gateways og andet trivielt pjat :=)



Indlæg senest redigeret d. 09.08.2011 22:17 af Bruger #10576
t