From 233521b6a72f5c266ba13938d10dfb7c4beb0781 Mon Sep 17 00:00:00 2001
From: KahootChampion
Date: Sat, 6 Apr 2019 22:50:54 -0600
Subject: [PATCH] Have logic and ShipWarfareGUI sufficiently separated
---
src/ShipWarfareGUI.java | 43 ++++++++++++++++++++++++++++++-----------
1 file changed, 32 insertions(+), 11 deletions(-)
diff --git a/src/ShipWarfareGUI.java b/src/ShipWarfareGUI.java
index 8dfd718..8183087 100644
--- a/src/ShipWarfareGUI.java
+++ b/src/ShipWarfareGUI.java
@@ -17,7 +17,6 @@ import javafx.util.Duration;
import java.io.FileInputStream;
import java.util.Random;
-import java.util.concurrent.ExecutionException;
/**
* 2019-03-10 (Edited on 2019-03-23)
@@ -28,6 +27,8 @@ import java.util.concurrent.ExecutionException;
public class ShipWarfareGUI extends Player {
+ ShipWarfareGUILogic logic = new ShipWarfareGUILogic(getPlayer());
+
private ShipWarfareGUI ship;
private Circle cannon;
private VBox buttonBox;
@@ -103,6 +104,7 @@ public class ShipWarfareGUI extends Player {
* @return true if the user wins, loses, or flees, it returns false otherwise
*/
public boolean destroyLittyShipsOrEscape(Stage stage) throws Exception {
+
cannon.setLayoutX(beginningX);
cannon.setLayoutY(beginningY);
int calculateLoot = 0;
@@ -124,12 +126,22 @@ public class ShipWarfareGUI extends Player {
int hitOrMiss = randomValue.nextInt(2) + 1;
if (hitOrMiss == 2) {
- numOfLittyShips--;
- if (numOfLittyShips <= 0) {
+ //numOfLittyShips--;
+ logic.setNumOfLittyShips(logic.getNumOfLittyShips()-1);
+
+ /*if (numOfLittyShips <= 0) {
exitValue = 1;
//break;
}
hitCounter++;
+ */
+
+ if (logic.getNumOfLittyShips() <= 0) {
+ exitValue = 1;
+ //break;
+ }
+ hitCounter++;
+
} else {
@@ -151,18 +163,26 @@ public class ShipWarfareGUI extends Player {
}
+ /*
if (numOfLittyShips <= 0) {
exitValue = 1;
//break;
}
+ */
+
+ if (logic.getNumOfLittyShips() <= 0) {
+ exitValue = 1;
+ //break;
+ }
+
if (getGuns() > 0) {
chanceOfEnemyRun = randomValue.nextInt(2) + 1;
if (chanceOfEnemyRun == 2) {
howMuchRun = randomValue.nextInt(15) + 1;
- if (howMuchRun != 0 && howMuchRun < numOfLittyShips) {
+ if (howMuchRun != 0 && howMuchRun < logic.getNumOfLittyShips()) {
- setNumOfLittyShips(numOfLittyShips - howMuchRun);
+ logic.setNumOfLittyShips(logic.getNumOfLittyShips() - howMuchRun);
if (userAttacks == true) {
if (howMuchRun > 0) {
runAwayOrLeft.setText(String.format("Cowards! %d ships ran away %s! ", howMuchRun, getName()));
@@ -178,14 +198,14 @@ public class ShipWarfareGUI extends Player {
}
}
- shipsRemaining.setText(String.format("%d ships remaining and they look angry!", numOfLittyShips));
+ shipsRemaining.setText(String.format("%d ships remaining and they look angry!", logic.getNumOfLittyShips()));
//Computer volley
int takeGunChance = randomValue.nextInt(4) + 1;
if (takeGunChance == 1 && getGuns() > 0) {
setGuns(getGuns() - 1);
gunFrustration = true;
} else {
- if (numOfLittyShips > 0) {
+ if (logic.getNumOfLittyShips() > 0) {
int HPTaken = randomValue.nextInt(10);
setHP(getHP() - (HPTaken));
@@ -212,7 +232,7 @@ public class ShipWarfareGUI extends Player {
if (exitValue == 1) {
wipe();
- int calculateLoot = calculateLoot();
+ calculateLoot = logic.calculateLoot();
report.setText(String.format("Our firm has earned $%,d in loot! ", calculateLoot));
continueButton.setVisible(true);
completeWipe();
@@ -306,7 +326,8 @@ public class ShipWarfareGUI extends Player {
* @throws Exception in case of interruptions withing the graphical interface
*/
public void initializeShip(Stage primaryStage) throws Exception {
- setNumOfLittyShips(numOfShips());
+
+ logic.setNumOfLittyShips(logic.numOfShips());
Pane root = new Pane();
HBox usAgainstEnemyDivisor;
@@ -334,7 +355,7 @@ public class ShipWarfareGUI extends Player {
shipsRemaining = new Label();
report = new Label();
- title.setText(String.format("%d ships from Liu Yuen's Fleet are attacking, Would you like to fight or run?", numOfLittyShips));
+ title.setText(String.format("%d ships from Liu Yuen's Fleet are attacking, Would you like to fight or run?", logic.getNumOfLittyShips()));
fightButton.setText("Fight");
@@ -490,7 +511,7 @@ public class ShipWarfareGUI extends Player {
report.setText("Epic");
counter++;
- if (runFromShips(userAttacks) == false) {
+ if (logic.runFromShips(userAttacks) == false) {
report.setText(("Couldn't run away"));
try {
winOrLose = destroyLittyShipsOrEscape(primaryStage);