Hey!
ich bin noch ein ziemlicher anfänge in java.
habe gestern abend mal angefangen mir ein paar gedanken zu machen über eine mögliche implementierung von Snake.
anstatt mir erstmal eine grobe struktur auszudenken hab ich das quasi "on the fly" gemacht
(ich weiss das das nicht gut ist).
nun stehe ich vor einem logischen problem.
ich habe die "schlange" als HashMap<Integer, int[]> implementiert.
nun wollte ich eine methode "move()" anfangen doch beim durchdenken hänge ich immer bei dem selbem problem.
durch tastendruck auf die richtungstasten soll die "direction" der schlange geändert werden.
move() soll dann immer in einem bestimmten zeitinterwall aufgerufen werden (vielleicht über einen Timer)
jedoch ist es ja bei snake so, dass die schlange wenn sie sagen wir 10 teile hat und sich zunächst nach rechts bewegt, bei richtungsänderung nach oben eine "ecke" bildet.
ich dachte daran vielleicht die koordinaten dieser "ecke" in einem zweistelligen array zu speichern und in der move() methode entsprechend darauf einzugehen. jedoch kann es bei einer 10 teile langen schlange theoretisch ja auch zu 5 solcher ecken kommen oder?
hat jemand eine geschickte idee damit umzugehen?
lg
ich bin noch ein ziemlicher anfänge in java.
habe gestern abend mal angefangen mir ein paar gedanken zu machen über eine mögliche implementierung von Snake.
anstatt mir erstmal eine grobe struktur auszudenken hab ich das quasi "on the fly" gemacht
nun stehe ich vor einem logischen problem.
ich habe die "schlange" als HashMap<Integer, int[]> implementiert.
nun wollte ich eine methode "move()" anfangen doch beim durchdenken hänge ich immer bei dem selbem problem.
durch tastendruck auf die richtungstasten soll die "direction" der schlange geändert werden.
move() soll dann immer in einem bestimmten zeitinterwall aufgerufen werden (vielleicht über einen Timer)
jedoch ist es ja bei snake so, dass die schlange wenn sie sagen wir 10 teile hat und sich zunächst nach rechts bewegt, bei richtungsänderung nach oben eine "ecke" bildet.
ich dachte daran vielleicht die koordinaten dieser "ecke" in einem zweistelligen array zu speichern und in der move() methode entsprechend darauf einzugehen. jedoch kann es bei einer 10 teile langen schlange theoretisch ja auch zu 5 solcher ecken kommen oder?
hat jemand eine geschickte idee damit umzugehen?
lg