Beste tweakers,
Ik heb een speler en deze moet ik laten bewegen aan de hand van zijn buurvelden(objecten)
De buurvelden worden bijgehouden in een HashMap<Richting r, Veld v>
Richting is een enum met rechts,links,enz
Ik kan nu naar boven,links,linksboven en rechtsboven
Naar mijn weten is
links c-1
rechts c+1
boven row-1
onder row+1
Of zie ik dit verkeerd?
Probleem: Hij wilt niet naar onder, rechts, rechtsonder of linksonder.
code voor de buren te zetten per veld:
kan ook nog de hele method neerzetten maar dan wordt het wel erg veel code
Als iemand de oplossing weet hoor ik dat graag
Bij voorbaat dank,
Donny
Ik heb een speler en deze moet ik laten bewegen aan de hand van zijn buurvelden(objecten)
De buurvelden worden bijgehouden in een HashMap<Richting r, Veld v>
Richting is een enum met rechts,links,enz
Ik kan nu naar boven,links,linksboven en rechtsboven
Naar mijn weten is
links c-1
rechts c+1
boven row-1
onder row+1
Of zie ik dit verkeerd?
Probleem: Hij wilt niet naar onder, rechts, rechtsonder of linksonder.
code voor de buren te zetten per veld:
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| Veld v = this.veld[row][c]; if (row > 0) v.setBuurvelden(Richting.BOVEN, this.veld[row-1][c]); if (row > 0 && c > 0) v.setBuurvelden(Richting.LINKSBOVEN, this.veld[row-1][c-1]); if (row > 0 && c < veld[row].length) v.setBuurvelden(Richting.RECHTSBOVEN, this.veld[row-1][c+1]); if (row < veld.length) v.setBuurvelden(Richting.ONDER, this.veld[row+1][c]); if (row < veld.length && c > 0) v.setBuurvelden(Richting.LINKSONDER, this.veld[row+1][c-1]); if (row < veld.length && c < veld[row].length) v.setBuurvelden(Richting.RECHTSONDER, this.veld[row+1][c+1]); if (c > 0) v.setBuurvelden(Richting.LINKS, this.veld[row][c-1]); if (c < veld[row].length) v.setBuurvelden(Richting.RECHTS, this.veld[row][c+1]); |
kan ook nog de hele method neerzetten maar dan wordt het wel erg veel code
Als iemand de oplossing weet hoor ik dat graag
Bij voorbaat dank,
Donny
[Voor 255% gewijzigd door RobIII op 08-06-2011 19:27]