Gå til innhold

Taktikk for å løse dette problemet?


Anbefalte innlegg

Hei,

jeg skal lage et spill Sokoban som innlevering. ( http://www.pimpernel.com/sokoban/sokoban.html ) .

Spillet skal spilles på et todimensjonalt array, der vegger er gitt ved '#', spiller ved '@', kasser ved '$', og targets ved ' . ' .

 

Lurer bare på hvilken taktikk jeg kan bruke for å løse dette? Siden det oppstår veldig mange ulike kombinasjoner , feks:

 

1) Er det to kasser foran deg, kan du ikke flytte dem.

2) Hvis du går på et target, er det lett for at targetet forsvinner når du flytter deg videre.

osvsov..

Noen som kan hjelpe? (Klarer syntaxen, så det er taktikken for å løse dette jeg vil frem til).

 

Mvh. Andreas

Lenke til kommentar
Videoannonse
Annonse

Spiller kan bare bevege deg i 4 retninger; nord, sør, vest og øst.

 

Den veien veien spilleren velgerer er rettningen du skal sjekk i arrayet, inntil 3 steps.

 

Gitt at spiller står i position 5,6 (x,y) og velger og gå øst (dvs at x øker med 1)

Sjekk posisjon 6,6:

Kriterie 1: Hvis ledig, flytt spiller

Kriterie 2: hvis kasse (i 6,6) sjekk posisjon 7,6. Flytt spiller og kasse hvis ledig.

Kriterie 3: Sjekk om alle kassene er plassert riktig.

 

Jeg hadde lagd en felles sjekkrutine med 3 returnvalues og en overordnet rutine for håndtering av x & y kordinatert basert på rettningen.

 

Forøvrig ville jeg ha lagd det i C++ ;) Sjekk evnt ut JSoko og bli inspirert av løsningen derfra: http://sourceforge.net/projects/jsokoapplet/files/

Lenke til kommentar

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...