Merge branch 'FH_Last_changes' into kommentar-check

This commit is contained in:
Luca Conte 2024-12-23 20:51:53 +01:00
commit a4cb3f68d5
1 changed files with 18 additions and 3 deletions

View File

@ -1,6 +1,6 @@
/**
* Die Klasse AiPlayer ist die Basis für alle Ki Spieler und jede Spezifische Ki erweitert diese Klasse.
* @author Florian und Florian
* @author Florian Alexy und Florian Hantzschel
* */
import java.util.ArrayList;
@ -27,6 +27,7 @@ public abstract class AiPlayer extends LocalPlayer implements Runnable {
/**
* Gibt einen zufälligen Punkt im Spielfeld zurück.
* @return Ein zufälliger Punkt
* @author Florian Alexy und Florian Hantzschel
*/
public Point RandomPoint() {
Random random = new Random(); // Pseudo Random für zufallszahlen
@ -38,6 +39,7 @@ public abstract class AiPlayer extends LocalPlayer implements Runnable {
/**
* Initialisiert das Board.
* @param size größe des Boards
* @author Florian Alexy und Florian Hantzschel
*/
@Override
public void createBoard(int size) {
@ -48,6 +50,7 @@ public abstract class AiPlayer extends LocalPlayer implements Runnable {
/**
* Ki Methode zum zufälligen Setzten der Schiffe
* @author Florian Alexy und Florian Hantzschel
*/
public void aiSetShips() {
for(int i = 0; i < super.board.getShips().size(); i++) { // Interiert durch alle Shiffe
@ -58,6 +61,7 @@ public abstract class AiPlayer extends LocalPlayer implements Runnable {
}
/**
* Ki Methode zum zufälligen Schießen auf das gegnerische Board.
* @author Florian Alexy und Florian Hantzschel
*/
public void aiShoot() {
if (!this.myTurn) return;
@ -65,7 +69,12 @@ public abstract class AiPlayer extends LocalPlayer implements Runnable {
return;
}
/**
* Nachdem receiveShoot beim gegner den schuss verarbeitet hat,
* wird diese Methode mit der antwort aufgerufen.
* @param hitResponse the hitresponse
* @author Florian Alexy und Florian Hantzschel
*/
@Override
public synchronized void receiveHit(HitResponse hitResponse) {
// Eltern-Klasse LocalPlayer updatet myTurn
@ -79,6 +88,11 @@ public abstract class AiPlayer extends LocalPlayer implements Runnable {
}
/**
* Erhält einen schuss vom gegner und verarbeitet ihn.
* @param point the location to be shot
* @author Florian Alexy und Florian Hantzschel
*/
@Override
public synchronized void receiveShoot(Point point) {
super.receiveShoot(point);
@ -92,6 +106,7 @@ public abstract class AiPlayer extends LocalPlayer implements Runnable {
/**
* Wird aufgerufen, wenn in determineCoinToss festgestellt wurde das die Ki anfängt.
* Erster Schuss wird gestartet.
* @author Florian Alexy und Florian Hantzschel
*/
@Override
public void beginTurn() {
@ -102,7 +117,7 @@ public abstract class AiPlayer extends LocalPlayer implements Runnable {
/**
* Closes past threads and tries firing a shot.
* @author Luca Conte
* @author Luca Conte, Florian Alexy und Florian Hantzschel
*/
public void run() {
Iterator<Thread> i = this.shootThreads.iterator();