diff --git a/src/GameController.java b/src/GameController.java index 797def8..1d562eb 100644 --- a/src/GameController.java +++ b/src/GameController.java @@ -7,8 +7,15 @@ public class GameController { public void startLocalGame(Class localPlayerClass, Class enemyClass, int size) throws InstantiationException, IllegalAccessException { - LocalPlayer localPlayer = localPlayerClass.newInstance(); - AiPlayer aiPlayer = enemyClass.newInstance(); + LocalPlayer localPlayer; + AiPlayer aiPlayer; + try { + localPlayer = localPlayerClass.getDeclaredConstructor().newInstance(); + aiPlayer = enemyClass.getDeclaredConstructor().newInstance(); + } catch (Exception e) { + e.printStackTrace(); + return; + } localPlayer.setEnemy(aiPlayer); aiPlayer.setEnemy(localPlayer); } diff --git a/src/OnlinePlayer.java b/src/OnlinePlayer.java index f53d50d..66316d6 100644 --- a/src/OnlinePlayer.java +++ b/src/OnlinePlayer.java @@ -2,4 +2,10 @@ import java.net.Socket; public abstract class OnlinePlayer extends Player{ private Socket socket; + + public OnlinePlayer(int size, Socket socket) { + super(size); + this.socket = socket; + //TODO Auto-generated constructor stub + } } diff --git a/src/SpecificAiPlayerEasy.java b/src/SpecificAiPlayerEasy.java index 0bcce8c..c3ac64f 100644 --- a/src/SpecificAiPlayerEasy.java +++ b/src/SpecificAiPlayerEasy.java @@ -1,7 +1,7 @@ -public class SpecificAiPlayer1 extends AiPlayer{ +public class SpecificAiPlayerEasy extends AiPlayer{ - public SpecificAiPlayer1(int size) { + public SpecificAiPlayerEasy(int size) { super(size); } } diff --git a/src/SpecificAiPlayerHard.java b/src/SpecificAiPlayerHard.java index 0bcce8c..a28fa6c 100644 --- a/src/SpecificAiPlayerHard.java +++ b/src/SpecificAiPlayerHard.java @@ -1,7 +1,7 @@ -public class SpecificAiPlayer1 extends AiPlayer{ +public class SpecificAiPlayerHard extends AiPlayer{ - public SpecificAiPlayer1(int size) { + public SpecificAiPlayerHard(int size) { super(size); } } diff --git a/src/SpecificAiPlayerMedium.java b/src/SpecificAiPlayerMedium.java index b808ff9..c122f43 100644 --- a/src/SpecificAiPlayerMedium.java +++ b/src/SpecificAiPlayerMedium.java @@ -1,3 +1,6 @@ +import java.util.ArrayList; +import java.util.List; +import java.awt.Point; public class SpecificAiPlayerMedium extends AiPlayer{ @@ -13,7 +16,7 @@ public class SpecificAiPlayerMedium extends AiPlayer{ // Shoot at the enemy and receive the hit response enemy.receiveShoot(nextShot); - HitResponse hitResponse = enemy.board.getHitResponsOnPoint(nextShot) + HitResponse hitResponse = enemy.board.getHitResponsOnPoint(nextShot); // If it's a hit or sunk, add adjacent cells to the hitsQueue if (hitResponse.getHitResponse() == HitResponseType.HIT) { addAdjacentPoints(nextShot); @@ -58,6 +61,11 @@ public class SpecificAiPlayerMedium extends AiPlayer{ } } + private boolean alreadyShot(Point p) { + // TODO Auto-generated method stub + throw new UnsupportedOperationException("Unimplemented method 'alreadyShot'"); + } + private boolean isValidPoint(Point point) { return point.x >= 0 && point.x < board.getSize() && point.y >= 0 && point.y < board.getSize();