This commit is contained in:
eyFlorian 2024-12-23 20:50:46 +01:00
parent 4045d3ce7b
commit 424dd2544e
2 changed files with 20 additions and 4 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();

View File

@ -26,8 +26,9 @@ public class HitResponse {
return this.point;
}
public void setType(HitResponseType type) {
public HitResponse setType(HitResponseType type) {
this.type = type;
return null;
}
@Override