Hi Leute,
muss folgendes in Java für die Uni programmieren:
Aufgabenstellung:
"Schreiben Sie einen Backtracking-Algorithmus zum Auffinden einer verträglichen Schiffsverteilung. (Die wahrscheinlich einfachste Lösung erweitert die möglichen Einträge im Spielfeld um eine angenommene Schiffskoordinate). Modifizieren Sie den Backtracking-Algorithmus, sodass nacheinander alle möglichen Schiffsverteilungen bestimmt werden. Für jede Koordinate des Spielfeldes soll berechnet werden, wie oft sie durch ein Schiff belegt wurde. Die Koordinate mit der häufigsten Belegung wird als nächstes Ziel gewählt."
Ich habe ein zweidimensionales Spielfeld-Array [10][10], in dem ich die Positionen speichere und mehrere Schiffe mit unterschiedlicher Länge und Anzahl positionieren kann:
Name: battleship, Länge: 5, Breite: 1, Anzahl: 1
Name: cruiser, Länge: 4, Breite: 1, Anzahl: 2
Name: tankship, Länge: 3, Breite: 1, Anzahl: 1
Name: minesweeper, Länge: 2, Breite: 1, Anzahl: 2
Name: speedboat, Länge: 1, Breite: 1, Anzahl: 3
Die Schiffe können sowohl horizonatl als auch vertikal platziert werden und dürfen sich nicht berühren und nicht um die Ecke gehen!
Nun sollen die Schiffe mittels Rekursion und Backtracking auf dem Spielfeld platziert werden wie in der Angabe gefordert.
Kann mir wer einen Denkanstoß geben, wie ich da Anfange soll? Brauche kein fertigen Code, mir reichen Idee, wie man das umsetzten könnte. Pseudocode reicht auch
Sitz auf dem Schlauch!
muss folgendes in Java für die Uni programmieren:
Aufgabenstellung:
"Schreiben Sie einen Backtracking-Algorithmus zum Auffinden einer verträglichen Schiffsverteilung. (Die wahrscheinlich einfachste Lösung erweitert die möglichen Einträge im Spielfeld um eine angenommene Schiffskoordinate). Modifizieren Sie den Backtracking-Algorithmus, sodass nacheinander alle möglichen Schiffsverteilungen bestimmt werden. Für jede Koordinate des Spielfeldes soll berechnet werden, wie oft sie durch ein Schiff belegt wurde. Die Koordinate mit der häufigsten Belegung wird als nächstes Ziel gewählt."
Ich habe ein zweidimensionales Spielfeld-Array [10][10], in dem ich die Positionen speichere und mehrere Schiffe mit unterschiedlicher Länge und Anzahl positionieren kann:
Name: battleship, Länge: 5, Breite: 1, Anzahl: 1
Name: cruiser, Länge: 4, Breite: 1, Anzahl: 2
Name: tankship, Länge: 3, Breite: 1, Anzahl: 1
Name: minesweeper, Länge: 2, Breite: 1, Anzahl: 2
Name: speedboat, Länge: 1, Breite: 1, Anzahl: 3
Die Schiffe können sowohl horizonatl als auch vertikal platziert werden und dürfen sich nicht berühren und nicht um die Ecke gehen!
Nun sollen die Schiffe mittels Rekursion und Backtracking auf dem Spielfeld platziert werden wie in der Angabe gefordert.
Kann mir wer einen Denkanstoß geben, wie ich da Anfange soll? Brauche kein fertigen Code, mir reichen Idee, wie man das umsetzten könnte. Pseudocode reicht auch
Sitz auf dem Schlauch!