onsdag den 21. april 2010

Godmode on (kodeproblemer og løsninger)

Vi har nu fået implementeret collision detection i spillet, og har derefter påtaget os rollen som brugere og testet det at spillet generer en masse baner(nye levels), altså level-designet.
Vi har hermed fundet ud af, at de tilfældigt generede kasser kan skabe gameplaymæssige problemer, idet playeren kan blive fanget imellem kasserne når der påbegyndes en ny level. Samtidigt bliver vores level-design ikke særlig spændende hvis de tilfældigt oprettede kasser oprettes oven i hinanden i en stor klump.

Pt. har vi kun halvdelen af løsningen klar. Dette indebærer at playeren spawner i det nederste venstre hjørne, og at kasserne generes minimum playerens diameter væk fra det nederste venstre hjørne. Det andet problem vedrørende kassernes klyngedannelser, har vi endnu ikke en løsning på rent kodemæssigt, men vi går efter at få spredt kasserne fra hinanden med en minimum afstand på playerens diameter fra hinanden, så playeren kan bevæg sig imellem alle kasserne. Midlertidigt ser vores kode til at løse det sådan her ud, den er dog ikke ikke tilfredstillende endnu:

c.beginFill(Math.random()*0xFFFFFF);
xLevelArray[0] = Math.random()*50+14
yLevelArray[0] = Math.random()*50+15
widthLevelArray[0] = Math.random()*70+30
heightLevelArray[0] = Math.random()*70+30
for (var i:int = 0; i < int =" 0;"> xLevelArray[l] && xLevelArray[i] <> yLevelArray[l] && yLevelArray[i] < yLevelArray[l]+heightLevelArray[l]){yLevelArray[i] = yLevelArray[l] + heightLevelArray[l] + 20}

}
c.drawRect(xLevelArray[i], yLevelArray[i], widthLevelArray[i], heightLevelArray[i])
}

Når man rammer et hjørne har tests endvidere vist, at kassen ikke helt ved hvor den skal sende playeren ud, og ender derfor med at lade playeren gå igennem kassen.

Ingen kommentarer:

Send en kommentar