ApeBapsen Skrevet 27. januar 2015 Del Skrevet 27. januar 2015 (endret) Halois! I det siste har jeg holdt på med et spill, en slags Flappy Bird klone til Python. Et problem oppstår når sirkelen (altså spilleren) beveger seg mellom rørene, og da skal telle score. Siden while-loopen (altså spillloopen) går tre ganger MENS spilleren er mellom rørene! Slik jeg gjør det nå er å dele finalScore med 3, og da får jeg den egentlige scoren. Problemet påvirker koden virkelig når jeg setter ned pipeSpeed (hastigheten til rørene mot venstre), siden da blir score talt enda flere ganger! Fryktelig vanskelig å forklare, men jeg lurte på om dere kunne se på problemet? Ps. jeg omformulerer gjerne tittelen hvis dere har noen forslag! Bare trykk "Download game", så lastes filen ned med tilhørende filer herfra: amundsen.co Fra linje 376-378 er "detectionen" for score forresten! Dette er en tidligere versjon av spillet, fordi jeg ikke har lastet opp nyeste til nettsiden. Har jo forsåvidt ingen betydning, men hvis dere er intressert så legger jeg gjerne ut den nyeste koden EDIT (her er et utsnitt av koden): Dette er altså detectionen for å skjekke om spilleren er mellom rørene: if x+20 > lead_x and x < lead_x: global finalScore finalScore = finalScore + 1 Og dette er den nådværende løsningen! outputScore = int(finalScore/3) renderInGameText(outputScore) Endret 27. januar 2015 av MrPear Lenke til kommentar
Enthroner Skrevet 27. januar 2015 Del Skrevet 27. januar 2015 I stede for å sjekke om 'spilleren er i rørene' så kan du skrive litt logikk for å sjekke om spilleren gikk fra innsiden av rørene, til usiden. isCollisionWithPipes = checkCollision() if !isCllisionWithPipes && wasCollisionWithPipes: # increase score baby! wasCollisionWithPipes = isCollisionWithPipes Bare spør om du lurer på noe. Kanskje lettere å hjelpe om du viser noe kode rundt akkurat hvordan du gjør dette Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå