Hallo miteinander!
Ich studiere seit ein paar Wochen in Richtung IT etwas, bin aber leider kompletter Anfänger was das Programmieren anbelangt (wir arbeiten mit Java 8 ). Nun sitze ich schon seit einigen Tagen immer mal wieder an dieser Aufgabe und komme einfach nicht weiter, obwohl bereits morgen, also am 1.12. am Abend Abgabetermin ist. =/
Dementsprechend wäre ich unglaublich dankbar, wenn mir jemand helfen könnte! Ich bin gerade wirklich etwas verzweifelt, weil ich auch nicht gerade gesund bin, aber am PC festsitze, solange ich das nicht erledigt habe...
Aufgabenstellung:
Ich soll ein Programm entwickeln, das ausgehend von einer Position auf
einem Schachfeld alle möglichen Züge eines Springers berechnet (also nur von einem Spielzug ausgehend, nicht, welche im nächsten od. übernächsten (etc.) dann auch noch möglich wären).
Anwendungsbeispiel:
Springer sp = new Springer ("e5");
System.out.println(sp.ermittleZiele ());
// Ausgabe : g6;f7;g4;f3;c6;d7;c4;d3
Sprich, eigentlich soll ich eh nur die möglichen Züge ermittlen, die bei der Position "e5" möglich wären, aber natürlich soll das auch für andere Positionen funktionieren.
Weiters gäbe es noch diesen Zusatz bei der Aufgabenstellung:
Springer-Klasse soll wie folgt realisiert werden:
+ öffentliches Klassenvariable spalte (vertikal, Linie)
Wertbereich 0 bis 7 für die Spalten a bis h
+ öffentliches Klassenvariable reihe (horizontal, Zeile)
Wertbereich 0 bis 7 für die Reihen 1 bis 8
+ Konstruktor, an den die Position des Springers als
Zeichenkette in der Schreibweise a1 oder e5 oder h8 übergeben
wird; wenn die Startposition ungültig ist, soll eine
IllegalArgumentException ausgelöst werden
+ öffentliche Methode ermittleZiele (ohne Parameter), die alle
erreichbaren Felder als Zeichenkette zurückgibt; die Felder sind
durch Strichpunkte zu trennen, z.B. b3;c2 oder
g6;f7;g4;f3;c6;d7;c4;d3
Ich sitze heute schon den ganzen Tag daran, komm aber einfach nicht wirklich dahinter, wie genau ich zur Lösung komme. Bin ich richtig in der Annahme, dass ich das mit mehrdimensionalen Arrays erledigen muss? Schließlich benötigt man ja immer die Werte von zwei Arrays, einmal von spalte und einmal von reihe. Abgesehen davon muss ich auch die Werte umwandeln, oder? Da ein Schachbrett ja aus 8x8 Feldern besteht und die werte des arrays jeweils von 0-7 gehen sollen, aber eig 1-8 bzw. a-h ausgegeben werden sollen. Ich habe nur leider absolut keinen Plan, wie ich das umsetze, da wir noch kaum mit Arrays gearbeitet haben...
Wäre wirklich toll, wenn mir jemand helfen könnte!
MfG,
Archie
Ich studiere seit ein paar Wochen in Richtung IT etwas, bin aber leider kompletter Anfänger was das Programmieren anbelangt (wir arbeiten mit Java 8 ). Nun sitze ich schon seit einigen Tagen immer mal wieder an dieser Aufgabe und komme einfach nicht weiter, obwohl bereits morgen, also am 1.12. am Abend Abgabetermin ist. =/
Dementsprechend wäre ich unglaublich dankbar, wenn mir jemand helfen könnte! Ich bin gerade wirklich etwas verzweifelt, weil ich auch nicht gerade gesund bin, aber am PC festsitze, solange ich das nicht erledigt habe...
Aufgabenstellung:
Ich soll ein Programm entwickeln, das ausgehend von einer Position auf
einem Schachfeld alle möglichen Züge eines Springers berechnet (also nur von einem Spielzug ausgehend, nicht, welche im nächsten od. übernächsten (etc.) dann auch noch möglich wären).
Anwendungsbeispiel:
Springer sp = new Springer ("e5");
System.out.println(sp.ermittleZiele ());
// Ausgabe : g6;f7;g4;f3;c6;d7;c4;d3
Sprich, eigentlich soll ich eh nur die möglichen Züge ermittlen, die bei der Position "e5" möglich wären, aber natürlich soll das auch für andere Positionen funktionieren.
Weiters gäbe es noch diesen Zusatz bei der Aufgabenstellung:
Springer-Klasse soll wie folgt realisiert werden:
+ öffentliches Klassenvariable spalte (vertikal, Linie)
Wertbereich 0 bis 7 für die Spalten a bis h
+ öffentliches Klassenvariable reihe (horizontal, Zeile)
Wertbereich 0 bis 7 für die Reihen 1 bis 8
+ Konstruktor, an den die Position des Springers als
Zeichenkette in der Schreibweise a1 oder e5 oder h8 übergeben
wird; wenn die Startposition ungültig ist, soll eine
IllegalArgumentException ausgelöst werden
+ öffentliche Methode ermittleZiele (ohne Parameter), die alle
erreichbaren Felder als Zeichenkette zurückgibt; die Felder sind
durch Strichpunkte zu trennen, z.B. b3;c2 oder
g6;f7;g4;f3;c6;d7;c4;d3
Ich sitze heute schon den ganzen Tag daran, komm aber einfach nicht wirklich dahinter, wie genau ich zur Lösung komme. Bin ich richtig in der Annahme, dass ich das mit mehrdimensionalen Arrays erledigen muss? Schließlich benötigt man ja immer die Werte von zwei Arrays, einmal von spalte und einmal von reihe. Abgesehen davon muss ich auch die Werte umwandeln, oder? Da ein Schachbrett ja aus 8x8 Feldern besteht und die werte des arrays jeweils von 0-7 gehen sollen, aber eig 1-8 bzw. a-h ausgegeben werden sollen. Ich habe nur leider absolut keinen Plan, wie ich das umsetze, da wir noch kaum mit Arrays gearbeitet haben...
Wäre wirklich toll, wenn mir jemand helfen könnte!
MfG,
Archie
Zuletzt bearbeitet: