Warehouse and Travel events are still work in progress but added their code to the github repo
This commit is contained in:
210
src/RandomEventGUI.java
Normal file
210
src/RandomEventGUI.java
Normal file
@@ -0,0 +1,210 @@
|
|||||||
|
import javafx.scene.Scene;
|
||||||
|
import javafx.scene.control.Button;
|
||||||
|
import javafx.scene.control.Label;
|
||||||
|
import javafx.scene.layout.BorderPane;
|
||||||
|
import javafx.scene.layout.HBox;
|
||||||
|
import javafx.scene.layout.VBox;
|
||||||
|
import javafx.stage.Stage;
|
||||||
|
|
||||||
|
import java.util.Random;
|
||||||
|
|
||||||
|
public class RandomEventGUI extends Player{
|
||||||
|
|
||||||
|
private HBox hBox;
|
||||||
|
private Button yesButton;
|
||||||
|
private Button noButton;
|
||||||
|
private VBox vBox;
|
||||||
|
private Label paymentLabel;
|
||||||
|
private Label sellingItemLabel;
|
||||||
|
private Label cannotAffordLabel;
|
||||||
|
private VBox vBox0;
|
||||||
|
private Label shipHPLabel;
|
||||||
|
private Label gunsShipLabel;
|
||||||
|
private Label moneyPlayerLabel;
|
||||||
|
private Label moneyBankLabel;
|
||||||
|
private Label cargoShipLabel;
|
||||||
|
private Label cargoWarehouseLabel;
|
||||||
|
private BorderPane borderPane;
|
||||||
|
private int eventNumber = 0;
|
||||||
|
private int itemPrice = 10;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* constructor; only runs when a Player object is provided. The constructor is fully encapsulated.
|
||||||
|
*
|
||||||
|
* @param player is a Player object that will be copied and the player instance variable is set to the copy.
|
||||||
|
*/
|
||||||
|
public RandomEventGUI(Player player) {
|
||||||
|
Player playerDummy = new Player(player);
|
||||||
|
setPlayer(playerDummy);
|
||||||
|
}
|
||||||
|
|
||||||
|
public Stage initializeRandomEventGUI(Stage stage) {
|
||||||
|
|
||||||
|
hBox = new HBox();
|
||||||
|
yesButton = new Button();
|
||||||
|
noButton = new Button();
|
||||||
|
vBox = new VBox();
|
||||||
|
paymentLabel = new Label();
|
||||||
|
sellingItemLabel = new Label();
|
||||||
|
cannotAffordLabel = new Label();
|
||||||
|
vBox0 = new VBox();
|
||||||
|
shipHPLabel = new Label();
|
||||||
|
gunsShipLabel = new Label();
|
||||||
|
moneyPlayerLabel = new Label();
|
||||||
|
moneyBankLabel = new Label();
|
||||||
|
cargoShipLabel = new Label();
|
||||||
|
borderPane = new BorderPane();
|
||||||
|
|
||||||
|
|
||||||
|
borderPane.setAlignment(hBox, javafx.geometry.Pos.CENTER);
|
||||||
|
hBox.setAlignment(javafx.geometry.Pos.CENTER);
|
||||||
|
hBox.setPrefHeight(100.0);
|
||||||
|
hBox.setPrefWidth(200.0);
|
||||||
|
hBox.setSpacing(10.0);
|
||||||
|
|
||||||
|
yesButton.setMnemonicParsing(false);
|
||||||
|
yesButton.setText("Yes");
|
||||||
|
yesButton.setDefaultButton(true);
|
||||||
|
|
||||||
|
noButton.setMnemonicParsing(false);
|
||||||
|
noButton.setText("No");
|
||||||
|
borderPane.setBottom(hBox);
|
||||||
|
|
||||||
|
borderPane.setAlignment(vBox, javafx.geometry.Pos.CENTER);
|
||||||
|
vBox.setAlignment(javafx.geometry.Pos.CENTER);
|
||||||
|
vBox.setPrefHeight(200.0);
|
||||||
|
vBox.setPrefWidth(100.0);
|
||||||
|
|
||||||
|
paymentLabel.setText("Would you like to pay?");
|
||||||
|
|
||||||
|
sellingItemLabel.setText("for a Gun?");
|
||||||
|
|
||||||
|
cannotAffordLabel.setFocusTraversable(false);
|
||||||
|
cannotAffordLabel.setText("You can't afford that!");
|
||||||
|
borderPane.setCenter(vBox);
|
||||||
|
|
||||||
|
BorderPane.setAlignment(vBox0, javafx.geometry.Pos.CENTER);
|
||||||
|
vBox0.setAlignment(javafx.geometry.Pos.CENTER);
|
||||||
|
vBox0.setPrefHeight(200.0);
|
||||||
|
vBox0.setPrefWidth(100.0);
|
||||||
|
|
||||||
|
shipHPLabel.setText("Ship Health: " + getPlayer().getHP());
|
||||||
|
|
||||||
|
gunsShipLabel.setText("Number of Guns Remaining: " + getPlayer().getGuns());
|
||||||
|
|
||||||
|
moneyPlayerLabel.setText("Money on Player: " + getPlayer().getMoney());
|
||||||
|
|
||||||
|
moneyBankLabel.setText("Money in Bank: " + getPlayer().getBank());
|
||||||
|
|
||||||
|
cargoShipLabel.setText("Ship Cargo Space: " + getPlayer().getCargoSpace());
|
||||||
|
|
||||||
|
borderPane.setTop(vBox0);
|
||||||
|
|
||||||
|
hBox.getChildren().add(yesButton);
|
||||||
|
hBox.getChildren().add(noButton);
|
||||||
|
vBox.getChildren().add(sellingItemLabel);
|
||||||
|
vBox.getChildren().add(paymentLabel);
|
||||||
|
vBox.getChildren().add(cannotAffordLabel);
|
||||||
|
vBox0.getChildren().add(shipHPLabel);
|
||||||
|
vBox0.getChildren().add(gunsShipLabel);
|
||||||
|
vBox0.getChildren().add(moneyPlayerLabel);
|
||||||
|
vBox0.getChildren().add(moneyBankLabel);
|
||||||
|
vBox0.getChildren().add(cargoShipLabel);
|
||||||
|
|
||||||
|
borderPane.setTop(vBox0);
|
||||||
|
borderPane.setCenter(vBox);
|
||||||
|
borderPane.setBottom(hBox);
|
||||||
|
|
||||||
|
cannotAffordLabel.setVisible(false);
|
||||||
|
|
||||||
|
Random rand = new Random();
|
||||||
|
int randGenNum = rand.nextInt(3) + 1;
|
||||||
|
//Buy Guns
|
||||||
|
if(randGenNum == 1){
|
||||||
|
itemPrice = (int) ((getPlayer().getMoney() * 0.1) + 10);
|
||||||
|
sellingItemLabel.setText("Would you like to pay $" + itemPrice + " for a cannon?");
|
||||||
|
}
|
||||||
|
//Liu Yuen
|
||||||
|
if(randGenNum == 2){
|
||||||
|
itemPrice = (int) ((getPlayer().getMoney()*0.1)+10);
|
||||||
|
sellingItemLabel.setText("Liu Yuen asks $" + itemPrice + " in donation to the temple of Tin Hau, the Sea Goddess");
|
||||||
|
}
|
||||||
|
//Ship Repair
|
||||||
|
if(randGenNum == 3){
|
||||||
|
itemPrice = (int) ((100-getPlayer().getHP())*10 + 10);
|
||||||
|
sellingItemLabel.setText("Mc Henry from the Hong Kong shipyard has arrived, would be willing to repair your ship for $" + itemPrice);
|
||||||
|
}
|
||||||
|
|
||||||
|
eventNumber = randGenNum;
|
||||||
|
|
||||||
|
if((eventNumber == 1 && getCargoSpace() < 10)){
|
||||||
|
TaipanShopGUI taipanShopGUI = new TaipanShopGUI(getPlayer());
|
||||||
|
taipanShopGUI.initializeShop(stage);
|
||||||
|
stage.show();
|
||||||
|
}
|
||||||
|
if((eventNumber == 3 && getPlayer().getHP() == 100)){
|
||||||
|
TaipanShopGUI taipanShopGUI = new TaipanShopGUI(getPlayer());
|
||||||
|
taipanShopGUI.initializeShop(stage);
|
||||||
|
stage.show();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
yesButton.setOnAction(event -> {
|
||||||
|
if(getPlayer().getMoney() > itemPrice) {
|
||||||
|
//Buy Guns
|
||||||
|
if (eventNumber == 1 && (getCargoSpace() >= 10)) {
|
||||||
|
setGuns(getPlayer().getGuns() + 1);
|
||||||
|
setMoney(getPlayer().getMoney() - itemPrice);
|
||||||
|
|
||||||
|
TaipanShopGUI taipanShopGUI = new TaipanShopGUI(getPlayer());
|
||||||
|
taipanShopGUI.initializeShop(stage);
|
||||||
|
stage.show();
|
||||||
|
}
|
||||||
|
|
||||||
|
//Liu Yuen
|
||||||
|
if (eventNumber == 2) {
|
||||||
|
//MAKE LIU YUEN CHANCE BASICALLY 0
|
||||||
|
setMoney(getPlayer().getMoney() - itemPrice);
|
||||||
|
|
||||||
|
TaipanShopGUI taipanShopGUI = new TaipanShopGUI(getPlayer());
|
||||||
|
taipanShopGUI.initializeShop(stage);
|
||||||
|
stage.show();
|
||||||
|
}
|
||||||
|
|
||||||
|
//Ship Repair
|
||||||
|
if (eventNumber == 3 && getPlayer().getHP() != 100) {
|
||||||
|
setHP(100);
|
||||||
|
setMoney(getPlayer().getMoney() - itemPrice);
|
||||||
|
TaipanShopGUI taipanShopGUI = new TaipanShopGUI(getPlayer());
|
||||||
|
taipanShopGUI.initializeShop(stage);
|
||||||
|
stage.show();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
cannotAffordLabel.setVisible(true);
|
||||||
|
yesButton.setVisible(false);
|
||||||
|
noButton.setDefaultButton(true);
|
||||||
|
noButton.setVisible(true);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
//Goes back to shop
|
||||||
|
noButton.setOnAction(event -> {
|
||||||
|
TaipanShopGUI taipanShopGUI = new TaipanShopGUI(getPlayer());
|
||||||
|
taipanShopGUI.initializeShop(stage);
|
||||||
|
stage.show();
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Scene root = new Scene(borderPane, 600, 480);
|
||||||
|
root.getStylesheets().add("styleguide.css");
|
||||||
|
|
||||||
|
stage.setTitle("Travel");
|
||||||
|
stage.setResizable(false);
|
||||||
|
stage.setScene(root);
|
||||||
|
return stage;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -192,6 +192,7 @@ public class StartGUI extends Player{
|
|||||||
if (Start.getSelectedToggle() == cashChoice) {
|
if (Start.getSelectedToggle() == cashChoice) {
|
||||||
setMoney(400);
|
setMoney(400);
|
||||||
setDebt(5000);
|
setDebt(5000);
|
||||||
|
setGuns(0);
|
||||||
}
|
}
|
||||||
if (Start.getSelectedToggle() == gunChoice) {
|
if (Start.getSelectedToggle() == gunChoice) {
|
||||||
setGuns(5);
|
setGuns(5);
|
||||||
|
|||||||
@@ -50,7 +50,6 @@ public class TravelGUI extends Player{
|
|||||||
*/
|
*/
|
||||||
public TravelGUI(Player player) {
|
public TravelGUI(Player player) {
|
||||||
Player playerDummy = new Player(player);
|
Player playerDummy = new Player(player);
|
||||||
this.shop = new TaipanShopGUI(player);
|
|
||||||
setPlayer(playerDummy);
|
setPlayer(playerDummy);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -184,10 +183,19 @@ public class TravelGUI extends Player{
|
|||||||
stage.show();
|
stage.show();
|
||||||
}
|
}
|
||||||
else if(shopScene){
|
else if(shopScene){
|
||||||
|
Random rand = new Random();
|
||||||
|
int randGenNum = rand.nextInt(3) + 1;
|
||||||
|
if(randGenNum >= 2) {
|
||||||
TaipanShopGUI shop = new TaipanShopGUI(getPlayer());
|
TaipanShopGUI shop = new TaipanShopGUI(getPlayer());
|
||||||
shop.initializeShop(stage);
|
shop.initializeShop(stage);
|
||||||
stage.show();
|
stage.show();
|
||||||
}
|
}
|
||||||
|
else {
|
||||||
|
RandomEventGUI randomEventGUI = new RandomEventGUI(getPlayer());
|
||||||
|
randomEventGUI.initializeRandomEventGUI(stage);
|
||||||
|
stage.show();
|
||||||
|
}
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
//Text input for where the player needs to go inside of the game world
|
//Text input for where the player needs to go inside of the game world
|
||||||
|
|||||||
@@ -1,619 +1,286 @@
|
|||||||
import javafx.event.ActionEvent;
|
import javafx.event.ActionEvent;
|
||||||
import javafx.event.EventHandler;
|
import javafx.event.EventHandler;
|
||||||
|
import javafx.geometry.Insets;
|
||||||
import javafx.scene.Scene;
|
import javafx.scene.Scene;
|
||||||
import javafx.scene.control.*;
|
import javafx.scene.control.*;
|
||||||
import javafx.scene.layout.BorderPane;
|
import javafx.scene.layout.BorderPane;
|
||||||
import javafx.scene.layout.HBox;
|
import javafx.scene.layout.HBox;
|
||||||
import javafx.scene.layout.VBox;
|
import javafx.scene.layout.VBox;
|
||||||
import javafx.scene.text.Font;
|
import javafx.scene.text.Font;
|
||||||
import javafx.scene.text.Text;
|
|
||||||
import javafx.stage.Stage;
|
import javafx.stage.Stage;
|
||||||
|
|
||||||
/**
|
|
||||||
* 2019-03-10
|
|
||||||
* Authors: Harkamal, Vikram, Haris, Siddhant, Nathan
|
|
||||||
* WarehouseGUI class, Initializes and displays the graphical interface for the warehouse in Taipan
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public class WarehouseGUI extends Player{
|
public class WarehouseGUI extends Player{
|
||||||
|
|
||||||
private Text title;
|
|
||||||
private HBox hBox;
|
private HBox hBox;
|
||||||
private Button withdraw;
|
|
||||||
private Button deposit;
|
|
||||||
private Button goBack;
|
|
||||||
private VBox vBox;
|
private VBox vBox;
|
||||||
private Text playerName;
|
private TextField textField;
|
||||||
private Text text;
|
private RadioButton generalRadio;
|
||||||
private Label opiumPlayer;
|
private ToggleGroup Goods;
|
||||||
private Label silkPlayer;
|
private RadioButton armsRadio;
|
||||||
private Label armsPlayer;
|
private RadioButton silkRadio;
|
||||||
private Label generalPlayer;
|
private RadioButton opiumRadio;
|
||||||
|
private Button withdrawButton;
|
||||||
|
private Button depositButton;
|
||||||
|
private Button quitButton;
|
||||||
|
private Label title;
|
||||||
|
private HBox hBox0;
|
||||||
private VBox vBox0;
|
private VBox vBox0;
|
||||||
private Text text0;
|
private Label playerLabel;
|
||||||
private Text text1;
|
private Label playerGeneral;
|
||||||
private Text opiumWarehouse;
|
private Label playerArms;
|
||||||
private Text silkWarehouse;
|
private Label playerSilk;
|
||||||
private Text armsWarehouse;
|
private Label playerOpium;
|
||||||
private Text generalWarehouse;
|
|
||||||
private VBox vBox1;
|
private VBox vBox1;
|
||||||
private Text inUseWarehouse;
|
private Label houseLabel;
|
||||||
private Text vacantWarehouse;
|
private Label houseGeneral;
|
||||||
|
private Label houseArms;
|
||||||
|
private Label houseSilk;
|
||||||
|
private Label houseOpium;
|
||||||
private BorderPane borderPane;
|
private BorderPane borderPane;
|
||||||
private TextField textIn;
|
|
||||||
private SplitMenuButton splitMenu;
|
|
||||||
private CheckMenuItem general;
|
|
||||||
private CheckMenuItem arms;
|
|
||||||
private CheckMenuItem silk;
|
|
||||||
private CheckMenuItem opium;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* A constructor that takes an object of type Player as an argument
|
|
||||||
*
|
|
||||||
* @param player object of the class Player
|
|
||||||
*/
|
|
||||||
public WarehouseGUI(Player player) {
|
public WarehouseGUI(Player player) {
|
||||||
Player playerDummy = new Player(player);
|
Player playerDummy = new Player(player);
|
||||||
setPlayer(playerDummy);
|
setPlayer(playerDummy);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* initializes the GUI for the warehouse aspect of our game.
|
|
||||||
*
|
|
||||||
* @param stage an object of type Stage
|
|
||||||
* @return returns the stage of the GUI
|
|
||||||
*/
|
|
||||||
public Stage initializeWarehouse(Stage stage){
|
public Stage initializeWarehouse(Stage stage){
|
||||||
|
|
||||||
title = new Text();
|
|
||||||
hBox = new HBox();
|
hBox = new HBox();
|
||||||
withdraw = new Button();
|
|
||||||
deposit = new Button();
|
|
||||||
vBox = new VBox();
|
vBox = new VBox();
|
||||||
playerName = new Text();
|
generalRadio = new RadioButton();
|
||||||
text = new Text();
|
Goods = new ToggleGroup();
|
||||||
opiumPlayer = new Label();
|
armsRadio = new RadioButton();
|
||||||
silkPlayer = new Label();
|
silkRadio = new RadioButton();
|
||||||
armsPlayer = new Label();
|
opiumRadio = new RadioButton();
|
||||||
generalPlayer = new Label();
|
withdrawButton = new Button();
|
||||||
|
depositButton = new Button();
|
||||||
|
quitButton = new Button();
|
||||||
|
title = new Label();
|
||||||
|
hBox0 = new HBox();
|
||||||
vBox0 = new VBox();
|
vBox0 = new VBox();
|
||||||
text0 = new Text();
|
playerLabel = new Label();
|
||||||
text1 = new Text();
|
playerGeneral = new Label();
|
||||||
opiumWarehouse = new Text();
|
playerArms = new Label();
|
||||||
silkWarehouse = new Text();
|
playerSilk = new Label();
|
||||||
armsWarehouse = new Text();
|
playerOpium = new Label();
|
||||||
generalWarehouse = new Text();
|
|
||||||
vBox1 = new VBox();
|
vBox1 = new VBox();
|
||||||
inUseWarehouse = new Text();
|
houseLabel = new Label();
|
||||||
vacantWarehouse = new Text();
|
houseGeneral = new Label();
|
||||||
|
houseArms = new Label();
|
||||||
|
houseSilk = new Label();
|
||||||
|
houseOpium = new Label();
|
||||||
borderPane = new BorderPane();
|
borderPane = new BorderPane();
|
||||||
textIn = new TextField();
|
textField = new TextField();
|
||||||
splitMenu = new SplitMenuButton();
|
|
||||||
general = new CheckMenuItem();
|
|
||||||
arms = new CheckMenuItem();
|
|
||||||
silk = new CheckMenuItem();
|
|
||||||
opium = new CheckMenuItem();
|
|
||||||
|
|
||||||
borderPane.setPrefHeight(480.0);
|
borderPane.setAlignment(hBox, javafx.geometry.Pos.CENTER);
|
||||||
borderPane.setPrefWidth(600.0);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Sets the preferred width and height of the borderpane window to 600 by 480.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
borderPane.setPrefHeight(480.0);
|
|
||||||
borderPane.setPrefWidth(600.0);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates a label "Hong Kong Warehouse: at the top of the borderpane.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
BorderPane.setAlignment(title, javafx.geometry.Pos.CENTER);
|
|
||||||
|
|
||||||
title.setStrokeType(javafx.scene.shape.StrokeType.OUTSIDE);
|
|
||||||
title.setStrokeWidth(0.0);
|
|
||||||
title.setText("Hong Kong Warehouse");
|
|
||||||
title.setTextAlignment(javafx.scene.text.TextAlignment.CENTER);
|
|
||||||
title.setWrappingWidth(393.63671875);
|
|
||||||
title.setFont(new Font(24.0));
|
|
||||||
borderPane.setPrefHeight(480.0);
|
|
||||||
borderPane.setPrefWidth(600.0);
|
|
||||||
|
|
||||||
BorderPane.setAlignment(title, javafx.geometry.Pos.CENTER);
|
|
||||||
title.setStrokeType(javafx.scene.shape.StrokeType.OUTSIDE);
|
|
||||||
title.setStrokeWidth(0.0);
|
|
||||||
title.setText("Hong Kong Warehouse");
|
|
||||||
title.setTextAlignment(javafx.scene.text.TextAlignment.CENTER);
|
|
||||||
title.setWrappingWidth(393.63671875);
|
|
||||||
title.setFont(new Font(24.0));
|
|
||||||
borderPane.setTop(title);
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* creates an HBox at the center of the borderpane with a width of 200 and height of 100.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
BorderPane.setAlignment(hBox, javafx.geometry.Pos.CENTER);
|
|
||||||
hBox.setAlignment(javafx.geometry.Pos.CENTER);
|
hBox.setAlignment(javafx.geometry.Pos.CENTER);
|
||||||
hBox.setPrefHeight(100.0);
|
hBox.setPrefHeight(100.0);
|
||||||
hBox.setPrefWidth(200.0);
|
hBox.setPrefWidth(200.0);
|
||||||
|
hBox.setSpacing(10.0);
|
||||||
|
|
||||||
/**
|
vBox.setAlignment(javafx.geometry.Pos.CENTER_LEFT);
|
||||||
* Creates a button with text "Withdraw" which handles user events.
|
vBox.setPrefHeight(200.0);
|
||||||
*
|
vBox.setPrefWidth(100.0);
|
||||||
*/
|
|
||||||
withdraw.setContentDisplay(javafx.scene.control.ContentDisplay.CENTER);
|
|
||||||
withdraw.setMnemonicParsing(false);
|
|
||||||
withdraw.setText("Withdraw");
|
|
||||||
updateLabels();
|
|
||||||
withdraw.setOnAction(new EventHandler<ActionEvent>() {
|
|
||||||
/**
|
|
||||||
* Creates a button with text "Deposit" which handles user events.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public void handle(ActionEvent event) {
|
|
||||||
|
|
||||||
int withdraw = Integer.parseInt(textIn.getText());
|
generalRadio.setMnemonicParsing(false);
|
||||||
updateLabels();
|
generalRadio.setSelected(true);
|
||||||
if (opium.isSelected()) {
|
generalRadio.setText("General");
|
||||||
if (getwOpium() >= withdraw) {
|
|
||||||
setwOpium(getwOpium() - withdraw);
|
|
||||||
setOpiumHeld(getOpiumHeld() + withdraw);
|
|
||||||
} else {
|
|
||||||
title.setText("You don't have that much opium stored in the warehouse!");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (silk.isSelected()) {
|
|
||||||
if (getwSilk() >= withdraw) {
|
|
||||||
setwSilk(getwSilk() - withdraw);
|
|
||||||
setSilkHeld(getSilkHeld() + withdraw);
|
|
||||||
} else {
|
|
||||||
title.setText("You don't have that much silk stored in the warehouse!");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (arms.isSelected()) {
|
|
||||||
if (getwArms() >= withdraw) {
|
|
||||||
setwArms(getwArms() - withdraw);
|
|
||||||
setArmsHeld(getArmsHeld() + withdraw);
|
|
||||||
} else {
|
|
||||||
title.setText("You don't have that much arms stored in the warehouse!");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (general.isSelected()) {
|
|
||||||
if (getwGeneral() >= withdraw) {
|
|
||||||
setwGeneral(getwGeneral() - withdraw);
|
|
||||||
setGeneralHeld(getGeneralHeld() + withdraw);
|
|
||||||
} else {
|
|
||||||
title.setText("You don't have that much general stored in the warehouse!");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
deposit.setMnemonicParsing(false);
|
generalRadio.setToggleGroup(Goods);
|
||||||
deposit.setText("Deposit");
|
|
||||||
deposit.setTextAlignment(javafx.scene.text.TextAlignment.CENTER);
|
armsRadio.setMnemonicParsing(false);
|
||||||
|
armsRadio.setText("Arms");
|
||||||
|
armsRadio.setToggleGroup(Goods);
|
||||||
|
|
||||||
|
silkRadio.setMnemonicParsing(false);
|
||||||
|
silkRadio.setText("Silk");
|
||||||
|
silkRadio.setToggleGroup(Goods);
|
||||||
|
|
||||||
|
opiumRadio.setMnemonicParsing(false);
|
||||||
|
opiumRadio.setText("Opium");
|
||||||
|
opiumRadio.setToggleGroup(Goods);
|
||||||
|
|
||||||
|
withdrawButton.setMnemonicParsing(false);
|
||||||
|
withdrawButton.setText("Withdraw");
|
||||||
|
|
||||||
|
depositButton.setMnemonicParsing(false);
|
||||||
|
depositButton.setText("Deposit");
|
||||||
|
|
||||||
|
quitButton.setMnemonicParsing(false);
|
||||||
|
quitButton.setText("Go back");
|
||||||
borderPane.setBottom(hBox);
|
borderPane.setBottom(hBox);
|
||||||
|
|
||||||
deposit.setOnAction(new EventHandler<ActionEvent>() {
|
borderPane.setAlignment(title, javafx.geometry.Pos.CENTER);
|
||||||
@Override
|
title.setText("Hong Kong Warehouse");
|
||||||
public void handle(ActionEvent event) {
|
title.setFont(new Font(24.0));
|
||||||
|
title.setPadding(new Insets(10.0, 0.0, 0.0, 0.0));
|
||||||
|
borderPane.setTop(title);
|
||||||
|
|
||||||
|
borderPane.setAlignment(hBox0, javafx.geometry.Pos.CENTER);
|
||||||
|
hBox0.setAlignment(javafx.geometry.Pos.CENTER);
|
||||||
|
hBox0.setPrefHeight(100.0);
|
||||||
|
hBox0.setPrefWidth(200.0);
|
||||||
|
hBox0.setSpacing(10.0);
|
||||||
|
|
||||||
|
vBox0.setAlignment(javafx.geometry.Pos.CENTER_LEFT);
|
||||||
|
vBox0.setSpacing(10.0);
|
||||||
|
|
||||||
|
playerLabel.setText("Player:");
|
||||||
|
playerLabel.setFont(new Font(18.0));
|
||||||
|
|
||||||
|
playerGeneral.setText("General:");
|
||||||
|
|
||||||
|
playerArms.setText("Arms:");
|
||||||
|
|
||||||
|
playerSilk.setText("Silk:");
|
||||||
|
|
||||||
|
playerOpium.setText("Opium:");
|
||||||
|
|
||||||
|
vBox1.setAlignment(javafx.geometry.Pos.CENTER_LEFT);
|
||||||
|
vBox1.setSpacing(10.0);
|
||||||
|
|
||||||
|
houseLabel.setAlignment(javafx.geometry.Pos.TOP_CENTER);
|
||||||
|
houseLabel.setText("Warehouse:");
|
||||||
|
houseLabel.setFont(new Font(18.0));
|
||||||
|
|
||||||
|
houseGeneral.setText("General:");
|
||||||
|
|
||||||
|
houseArms.setText("Arms:");
|
||||||
|
|
||||||
|
houseSilk.setText("Silk:");
|
||||||
|
|
||||||
|
houseOpium.setText("Opium:");
|
||||||
|
borderPane.setMargin(hBox0, new Insets(0.0));
|
||||||
|
hBox0.setPadding(new Insets(10.0, 0.0, 0.0, 0.0));
|
||||||
|
vBox0.setPadding(new Insets(0, 0.0, 0.0, 0.0));
|
||||||
|
borderPane.setCenter(hBox0);
|
||||||
|
|
||||||
|
vBox.getChildren().add(generalRadio);
|
||||||
|
vBox.getChildren().add(armsRadio);
|
||||||
|
vBox.getChildren().add(silkRadio);
|
||||||
|
vBox.getChildren().add(opiumRadio);
|
||||||
|
|
||||||
|
hBox.getChildren().add(vBox);
|
||||||
|
hBox.getChildren().add(textField);
|
||||||
|
hBox.getChildren().add(withdrawButton);
|
||||||
|
hBox.getChildren().add(depositButton);
|
||||||
|
hBox.getChildren().add(quitButton);
|
||||||
|
|
||||||
|
vBox0.getChildren().add(playerLabel);
|
||||||
|
vBox0.getChildren().add(playerGeneral);
|
||||||
|
vBox0.getChildren().add(playerArms);
|
||||||
|
vBox0.getChildren().add(playerSilk);
|
||||||
|
vBox0.getChildren().add(playerOpium);
|
||||||
|
|
||||||
|
vBox1.getChildren().add(houseLabel);
|
||||||
|
vBox1.getChildren().add(houseGeneral);
|
||||||
|
vBox1.getChildren().add(houseArms);
|
||||||
|
vBox1.getChildren().add(houseSilk);
|
||||||
|
vBox1.getChildren().add(houseOpium);
|
||||||
|
|
||||||
|
hBox0.getChildren().add(vBox0);
|
||||||
|
hBox0.getChildren().add(vBox1);
|
||||||
|
|
||||||
updateLabels();
|
updateLabels();
|
||||||
int deposit = Integer.parseInt(textIn.getText());
|
|
||||||
if (opium.isSelected()) {
|
//Goes back to shop
|
||||||
if (getOpiumHeld() >= deposit) {
|
quitButton.setOnAction(event -> {
|
||||||
setwOpium(getwOpium() + deposit);
|
TaipanShopGUI taipanShopGUI = new TaipanShopGUI(getPlayer());
|
||||||
setOpiumHeld(getOpiumHeld() - deposit);
|
taipanShopGUI.initializeShop(stage);
|
||||||
} else {
|
stage.show();
|
||||||
title.setText("You don't have that much opium stored in the ship!");
|
});
|
||||||
|
|
||||||
|
withdrawButton.setOnAction(event -> {
|
||||||
|
try {
|
||||||
|
int playerInventory = getPlayer().getCargoSpace()-((getPlayer().getGuns()*10)+ getPlayer().getGeneralHeld() + getPlayer().getArmsHeld() + getPlayer().getSilkHeld() + getPlayer().getOpiumHeld());
|
||||||
|
int houseInventory = (10000 -(getPlayer().getwGeneral() + getPlayer().getwArms() + getPlayer().getwSilk() + getPlayer().getwOpium()));
|
||||||
|
int withdraw = Integer.parseInt(textField.getText());
|
||||||
|
if(withdraw <= 0 && (houseInventory-withdraw) <= 0 && (playerInventory+withdraw) >= getCargoSpace()){
|
||||||
|
title.setText("Please enter a valid value");
|
||||||
}
|
}
|
||||||
|
else if(Goods.getSelectedToggle() == generalRadio){
|
||||||
|
setGeneralHeld(getPlayer().getGeneralHeld()+withdraw);
|
||||||
|
setwGeneral(getPlayer().getGeneralHeld()-withdraw);
|
||||||
}
|
}
|
||||||
if (silk.isSelected()) {
|
else if(Goods.getSelectedToggle() == armsRadio){
|
||||||
if (getwSilk() >= deposit) {
|
setArmsHeld(getPlayer().getArmsHeld()+withdraw);
|
||||||
setwSilk(getwSilk() + deposit);
|
setwArms(getPlayer().getArmsHeld()-withdraw);
|
||||||
setSilkHeld(getSilkHeld() - deposit);
|
|
||||||
} else {
|
|
||||||
title.setText("You don't have that much silk stored in the ship!");
|
|
||||||
}
|
}
|
||||||
|
else if(Goods.getSelectedToggle() == silkRadio){
|
||||||
|
setSilkHeld(getPlayer().getSilkHeld()+withdraw);
|
||||||
|
setwSilk(getPlayer().getSilkHeld()-withdraw);
|
||||||
}
|
}
|
||||||
if (arms.isSelected()) {
|
else if(Goods.getSelectedToggle() == opiumRadio){
|
||||||
if (getwArms() >= deposit) {
|
setOpiumHeld(getPlayer().getOpiumHeld()+withdraw);
|
||||||
setwArms(getwArms() + deposit);
|
setwOpium(getPlayer().getOpiumHeld()-withdraw);
|
||||||
setArmsHeld(getArmsHeld() - deposit);
|
|
||||||
} else {
|
|
||||||
title.setText("You don't have that much arms stored in the ship!");
|
|
||||||
}
|
}
|
||||||
|
else{
|
||||||
|
title.setText("Please enter a valid value");
|
||||||
}
|
}
|
||||||
if (general.isSelected()) {
|
updateLabels();
|
||||||
if (getwGeneral() >= deposit) {
|
|
||||||
setwGeneral(getwGeneral() + deposit);
|
|
||||||
setGeneralHeld(getGeneralHeld() - deposit);
|
|
||||||
} else {
|
|
||||||
title.setText("You don't have that much general stored in the ship!");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
catch (Exception e) {
|
||||||
|
title.setText("Please enter a valid value");
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
splitMenu.setMnemonicParsing(false);
|
depositButton.setOnAction(event -> {
|
||||||
splitMenu.setText("Item");
|
try {
|
||||||
|
int playerInventory = getPlayer().getCargoSpace()-((getPlayer().getGuns()*10)+ getPlayer().getGeneralHeld() + getPlayer().getArmsHeld() + getPlayer().getSilkHeld() + getPlayer().getOpiumHeld());
|
||||||
|
int houseInventory = (10000 -(getPlayer().getwGeneral() + getPlayer().getwArms() + getPlayer().getwSilk() + getPlayer().getwOpium()));
|
||||||
|
int deposit = Integer.parseInt(textField.getText());
|
||||||
|
if(deposit <= 0 && (houseInventory-deposit) <= 0 && (playerInventory+deposit) >= getCargoSpace()){
|
||||||
|
title.setText("Please enter a valid value");
|
||||||
|
}
|
||||||
|
else if(Goods.getSelectedToggle() == generalRadio){
|
||||||
|
setGeneralHeld(getPlayer().getGeneralHeld()-deposit);
|
||||||
|
setwGeneral(getPlayer().getGeneralHeld()+deposit);
|
||||||
|
}
|
||||||
|
else if(Goods.getSelectedToggle() == armsRadio){
|
||||||
|
setArmsHeld(getPlayer().getArmsHeld()-deposit);
|
||||||
|
setwArms(getPlayer().getArmsHeld()+deposit);
|
||||||
|
}
|
||||||
|
else if(Goods.getSelectedToggle() == silkRadio){
|
||||||
|
setSilkHeld(getPlayer().getSilkHeld()-deposit);
|
||||||
|
setwSilk(getPlayer().getSilkHeld()+deposit);
|
||||||
|
}
|
||||||
|
else if(Goods.getSelectedToggle() == opiumRadio){
|
||||||
|
setOpiumHeld(getPlayer().getOpiumHeld()-deposit);
|
||||||
|
setwOpium(getPlayer().getOpiumHeld()+deposit);
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
title.setText("Please enter a valid value");
|
||||||
|
}
|
||||||
|
updateLabels();
|
||||||
|
}
|
||||||
|
catch (Exception e) {
|
||||||
|
title.setText("Please enter a valid value");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
general.setMnemonicParsing(false);
|
|
||||||
general.setText("General");
|
|
||||||
|
|
||||||
arms.setMnemonicParsing(false);
|
|
||||||
arms.setText("Arms");
|
|
||||||
|
|
||||||
silk.setMnemonicParsing(false);
|
|
||||||
silk.setText("Silk");
|
|
||||||
|
|
||||||
opium.setMnemonicParsing(false);
|
|
||||||
opium.setText("Opium");
|
|
||||||
borderPane.setBottom(hBox);
|
|
||||||
|
|
||||||
BorderPane.setAlignment(vBox, javafx.geometry.Pos.CENTER_LEFT);
|
|
||||||
vBox.setPrefHeight(156.0);
|
|
||||||
vBox.setPrefWidth(106.0);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates a label with text "Player" with size 18 font and default font style.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
playerName.setStrokeType(javafx.scene.shape.StrokeType.OUTSIDE);
|
|
||||||
playerName.setStrokeWidth(0.0);
|
|
||||||
playerName.setText("Player");
|
|
||||||
playerName.setTextAlignment(javafx.scene.text.TextAlignment.CENTER);
|
|
||||||
playerName.setWrappingWidth(103.47265625);
|
|
||||||
playerName.setFont(new Font(18.0));
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates a label with no text for aesthetic spacing purposes.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
text.setStrokeType(javafx.scene.shape.StrokeType.OUTSIDE);
|
|
||||||
text.setStrokeWidth(0.0);
|
|
||||||
text.setTextAlignment(javafx.scene.text.TextAlignment.CENTER);
|
|
||||||
text.setWrappingWidth(103.47265625);
|
|
||||||
text.setFont(new Font(18.0));
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates a label with text "Opium" under the "Player" label with size 18 font and default font style
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
opiumPlayer.setAlignment(javafx.geometry.Pos.CENTER);
|
|
||||||
opiumPlayer.setContentDisplay(javafx.scene.control.ContentDisplay.CENTER);
|
|
||||||
opiumPlayer.setPrefWidth(100.0);
|
|
||||||
opiumPlayer.setText("Opium");
|
|
||||||
opiumPlayer.setTextAlignment(javafx.scene.text.TextAlignment.CENTER);
|
|
||||||
opiumPlayer.setFont(new Font(18.0));
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates a label with text "Silk" under the "Player" label with size 18 font and default font style.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
silkPlayer.setAlignment(javafx.geometry.Pos.CENTER);
|
|
||||||
silkPlayer.setPrefWidth(100.0);
|
|
||||||
silkPlayer.setText("Silk");
|
|
||||||
silkPlayer.setFont(new Font(18.0));
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates a label with text "Arms" under the "Player" label with size 18 font and default font style.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
armsPlayer.setAlignment(javafx.geometry.Pos.CENTER);
|
|
||||||
armsPlayer.setPrefWidth(100.0);
|
|
||||||
armsPlayer.setText("Arms");
|
|
||||||
armsPlayer.setFont(new Font(18.0));
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates a label with text "General" under the "Player" label with size 18 font and default font style.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
generalPlayer.setAlignment(javafx.geometry.Pos.CENTER);
|
|
||||||
generalPlayer.setPrefWidth(100.0);
|
|
||||||
generalPlayer.setText("General");
|
|
||||||
generalPlayer.setTextAlignment(javafx.scene.text.TextAlignment.CENTER);
|
|
||||||
generalPlayer.setFont(new Font(18.0));
|
|
||||||
borderPane.setLeft(vBox);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates a VBox at the center of the borderpane with a width of 261 and a height of 343.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
BorderPane.setAlignment(vBox0, javafx.geometry.Pos.TOP_LEFT);
|
|
||||||
vBox0.setAlignment(javafx.geometry.Pos.CENTER);
|
|
||||||
vBox0.setPrefHeight(343.0);
|
|
||||||
vBox0.setPrefWidth(261.0);
|
|
||||||
|
|
||||||
text0.setStrokeType(javafx.scene.shape.StrokeType.OUTSIDE);
|
|
||||||
text0.setStrokeWidth(0.0);
|
|
||||||
text0.setText("Warehouse");
|
|
||||||
text0.setTextAlignment(javafx.scene.text.TextAlignment.CENTER);
|
|
||||||
text0.setWrappingWidth(103.47265625);
|
|
||||||
text0.setFont(new Font(18.0));
|
|
||||||
|
|
||||||
text1.setStrokeType(javafx.scene.shape.StrokeType.OUTSIDE);
|
|
||||||
text1.setStrokeWidth(0.0);
|
|
||||||
text1.setTextAlignment(javafx.scene.text.TextAlignment.CENTER);
|
|
||||||
text1.setWrappingWidth(103.47265625);
|
|
||||||
text1.setFont(new Font(18.0));
|
|
||||||
|
|
||||||
opiumWarehouse.setStrokeType(javafx.scene.shape.StrokeType.OUTSIDE);
|
|
||||||
opiumWarehouse.setStrokeWidth(0.0);
|
|
||||||
opiumWarehouse.setText("Opium");
|
|
||||||
opiumWarehouse.setTextAlignment(javafx.scene.text.TextAlignment.CENTER);
|
|
||||||
opiumWarehouse.setWrappingWidth(103.47265625);
|
|
||||||
opiumWarehouse.setFont(new Font(18.0));
|
|
||||||
|
|
||||||
silkWarehouse.setStrokeType(javafx.scene.shape.StrokeType.OUTSIDE);
|
|
||||||
silkWarehouse.setStrokeWidth(0.0);
|
|
||||||
silkWarehouse.setText("Silk");
|
|
||||||
silkWarehouse.setTextAlignment(javafx.scene.text.TextAlignment.CENTER);
|
|
||||||
silkWarehouse.setWrappingWidth(103.47265625);
|
|
||||||
silkWarehouse.setFont(new Font(18.0));
|
|
||||||
|
|
||||||
armsWarehouse.setStrokeType(javafx.scene.shape.StrokeType.OUTSIDE);
|
|
||||||
armsWarehouse.setStrokeWidth(0.0);
|
|
||||||
armsWarehouse.setText("Arms");
|
|
||||||
armsWarehouse.setTextAlignment(javafx.scene.text.TextAlignment.CENTER);
|
|
||||||
armsWarehouse.setWrappingWidth(103.47265625);
|
|
||||||
armsWarehouse.setFont(new Font(18.0));
|
|
||||||
|
|
||||||
generalWarehouse.setStrokeType(javafx.scene.shape.StrokeType.OUTSIDE);
|
|
||||||
generalWarehouse.setStrokeWidth(0.0);
|
|
||||||
generalWarehouse.setText("General");
|
|
||||||
generalWarehouse.setTextAlignment(javafx.scene.text.TextAlignment.CENTER);
|
|
||||||
generalWarehouse.setWrappingWidth(103.47265625);
|
|
||||||
generalWarehouse.setFont(new Font(18.0));
|
|
||||||
borderPane.setCenter(vBox0);
|
|
||||||
|
|
||||||
BorderPane.setAlignment(vBox1, javafx.geometry.Pos.CENTER);
|
|
||||||
vBox1.setPrefHeight(48.0);
|
|
||||||
vBox1.setPrefWidth(152.0);
|
|
||||||
|
|
||||||
inUseWarehouse.setStrokeType(javafx.scene.shape.StrokeType.OUTSIDE);
|
|
||||||
inUseWarehouse.setStrokeWidth(0.0);
|
|
||||||
inUseWarehouse.setText("In use:");
|
|
||||||
inUseWarehouse.setFont(new Font(18.0));
|
|
||||||
|
|
||||||
vacantWarehouse.setStrokeType(javafx.scene.shape.StrokeType.OUTSIDE);
|
|
||||||
vacantWarehouse.setStrokeWidth(0.0);
|
|
||||||
vacantWarehouse.setText("Vacant:");
|
|
||||||
vacantWarehouse.setFont(new Font(18.0));
|
|
||||||
borderPane.setRight(vBox1);
|
|
||||||
borderPane.setTop(title);
|
|
||||||
|
|
||||||
BorderPane.setAlignment(hBox, javafx.geometry.Pos.CENTER);
|
|
||||||
hBox.setAlignment(javafx.geometry.Pos.CENTER);
|
|
||||||
hBox.setPrefHeight(100.0);
|
|
||||||
hBox.setPrefWidth(200.0);
|
|
||||||
|
|
||||||
withdraw.setContentDisplay(javafx.scene.control.ContentDisplay.CENTER);
|
|
||||||
withdraw.setMnemonicParsing(false);
|
|
||||||
withdraw.setText("Withdraw");
|
|
||||||
|
|
||||||
deposit.setMnemonicParsing(false);
|
|
||||||
deposit.setText("Deposit");
|
|
||||||
deposit.setTextAlignment(javafx.scene.text.TextAlignment.CENTER);
|
|
||||||
|
|
||||||
splitMenu.setMnemonicParsing(false);
|
|
||||||
splitMenu.setText("Item");
|
|
||||||
|
|
||||||
general.setMnemonicParsing(false);
|
|
||||||
general.setText("General");
|
|
||||||
|
|
||||||
arms.setMnemonicParsing(false);
|
|
||||||
arms.setText("Arms");
|
|
||||||
|
|
||||||
silk.setMnemonicParsing(false);
|
|
||||||
silk.setText("Silk");
|
|
||||||
|
|
||||||
opium.setMnemonicParsing(false);
|
|
||||||
opium.setText("Opium");
|
|
||||||
borderPane.setBottom(hBox);
|
|
||||||
|
|
||||||
BorderPane.setAlignment(vBox, javafx.geometry.Pos.CENTER_LEFT);
|
|
||||||
vBox.setPrefHeight(156.0);
|
|
||||||
vBox.setPrefWidth(106.0);
|
|
||||||
|
|
||||||
playerName.setStrokeType(javafx.scene.shape.StrokeType.OUTSIDE);
|
|
||||||
playerName.setStrokeWidth(0.0);
|
|
||||||
playerName.setText("Player");
|
|
||||||
playerName.setTextAlignment(javafx.scene.text.TextAlignment.CENTER);
|
|
||||||
playerName.setWrappingWidth(103.47265625);
|
|
||||||
playerName.setFont(new Font(18.0));
|
|
||||||
|
|
||||||
text.setStrokeType(javafx.scene.shape.StrokeType.OUTSIDE);
|
|
||||||
text.setStrokeWidth(0.0);
|
|
||||||
text.setTextAlignment(javafx.scene.text.TextAlignment.CENTER);
|
|
||||||
text.setWrappingWidth(103.47265625);
|
|
||||||
text.setFont(new Font(18.0));
|
|
||||||
|
|
||||||
opiumPlayer.setAlignment(javafx.geometry.Pos.CENTER);
|
|
||||||
opiumPlayer.setContentDisplay(javafx.scene.control.ContentDisplay.CENTER);
|
|
||||||
opiumPlayer.setPrefWidth(100.0);
|
|
||||||
opiumPlayer.setText("Opium");
|
|
||||||
opiumPlayer.setTextAlignment(javafx.scene.text.TextAlignment.CENTER);
|
|
||||||
opiumPlayer.setFont(new Font(18.0));
|
|
||||||
|
|
||||||
silkPlayer.setAlignment(javafx.geometry.Pos.CENTER);
|
|
||||||
silkPlayer.setPrefWidth(100.0);
|
|
||||||
silkPlayer.setText("Silk");
|
|
||||||
silkPlayer.setFont(new Font(18.0));
|
|
||||||
|
|
||||||
armsPlayer.setAlignment(javafx.geometry.Pos.CENTER);
|
|
||||||
armsPlayer.setPrefWidth(100.0);
|
|
||||||
armsPlayer.setText("Arms");
|
|
||||||
armsPlayer.setFont(new Font(18.0));
|
|
||||||
|
|
||||||
generalPlayer.setAlignment(javafx.geometry.Pos.CENTER);
|
|
||||||
generalPlayer.setPrefWidth(100.0);
|
|
||||||
generalPlayer.setText("General");
|
|
||||||
generalPlayer.setTextAlignment(javafx.scene.text.TextAlignment.CENTER);
|
|
||||||
generalPlayer.setFont(new Font(18.0));
|
|
||||||
borderPane.setLeft(vBox);
|
|
||||||
|
|
||||||
BorderPane.setAlignment(vBox0, javafx.geometry.Pos.TOP_LEFT);
|
|
||||||
vBox0.setAlignment(javafx.geometry.Pos.CENTER);
|
|
||||||
vBox0.setPrefHeight(343.0);
|
|
||||||
vBox0.setPrefWidth(261.0);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates a label with text "Warehouse" with size 18 font and default font style.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
text0.setStrokeType(javafx.scene.shape.StrokeType.OUTSIDE);
|
|
||||||
text0.setStrokeWidth(0.0);
|
|
||||||
text0.setText("Warehouse");
|
|
||||||
text0.setTextAlignment(javafx.scene.text.TextAlignment.CENTER);
|
|
||||||
text0.setWrappingWidth(103.47265625);
|
|
||||||
text0.setFont(new Font(18.0));
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates a label with no text for aesthetic spacing purposes.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
text1.setStrokeType(javafx.scene.shape.StrokeType.OUTSIDE);
|
|
||||||
text1.setStrokeWidth(0.0);
|
|
||||||
text1.setTextAlignment(javafx.scene.text.TextAlignment.CENTER);
|
|
||||||
text1.setWrappingWidth(103.47265625);
|
|
||||||
text1.setFont(new Font(18.0));
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates a label with text "Opium" under the "Warehouse" label with size 18 font and default font style.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
opiumWarehouse.setStrokeType(javafx.scene.shape.StrokeType.OUTSIDE);
|
|
||||||
opiumWarehouse.setStrokeWidth(0.0);
|
|
||||||
opiumWarehouse.setText("Opium");
|
|
||||||
opiumWarehouse.setTextAlignment(javafx.scene.text.TextAlignment.CENTER);
|
|
||||||
opiumWarehouse.setWrappingWidth(103.47265625);
|
|
||||||
opiumWarehouse.setFont(new Font(18.0));
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates a label with text "Silk" under the "Warehouse" label with size 18 font and default font style.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
silkWarehouse.setStrokeType(javafx.scene.shape.StrokeType.OUTSIDE);
|
|
||||||
silkWarehouse.setStrokeWidth(0.0);
|
|
||||||
silkWarehouse.setText("Silk");
|
|
||||||
silkWarehouse.setTextAlignment(javafx.scene.text.TextAlignment.CENTER);
|
|
||||||
silkWarehouse.setWrappingWidth(103.47265625);
|
|
||||||
silkWarehouse.setFont(new Font(18.0));
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates a label with text "Arms" under the "Warehouse" label with size 18 font and default font style.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
armsWarehouse.setStrokeType(javafx.scene.shape.StrokeType.OUTSIDE);
|
|
||||||
armsWarehouse.setStrokeWidth(0.0);
|
|
||||||
armsWarehouse.setText("Arms");
|
|
||||||
armsWarehouse.setTextAlignment(javafx.scene.text.TextAlignment.CENTER);
|
|
||||||
armsWarehouse.setWrappingWidth(103.47265625);
|
|
||||||
armsWarehouse.setFont(new Font(18.0));
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates a label with text "General" under the "Warehouse" label with size 18 font and default font style.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
generalWarehouse.setStrokeType(javafx.scene.shape.StrokeType.OUTSIDE);
|
|
||||||
generalWarehouse.setStrokeWidth(0.0);
|
|
||||||
generalWarehouse.setText("General");
|
|
||||||
generalWarehouse.setTextAlignment(javafx.scene.text.TextAlignment.CENTER);
|
|
||||||
generalWarehouse.setWrappingWidth(103.47265625);
|
|
||||||
generalWarehouse.setFont(new Font(18.0));
|
|
||||||
borderPane.setCenter(vBox0);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates a VBox at the center of the borderpane with a width of 152 and a height of 48.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
BorderPane.setAlignment(vBox1, javafx.geometry.Pos.CENTER);
|
|
||||||
vBox1.setPrefHeight(48.0);
|
|
||||||
vBox1.setPrefWidth(152.0);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates a label with "In use:" text with size 18 font and default font style.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
inUseWarehouse.setStrokeType(javafx.scene.shape.StrokeType.OUTSIDE);
|
|
||||||
inUseWarehouse.setStrokeWidth(0.0);
|
|
||||||
inUseWarehouse.setText("In use:");
|
|
||||||
inUseWarehouse.setFont(new Font(18.0));
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates a label with "Vacant:" text with size 18 font and default font style.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
vacantWarehouse.setStrokeType(javafx.scene.shape.StrokeType.OUTSIDE);
|
|
||||||
vacantWarehouse.setStrokeWidth(0.0);
|
|
||||||
vacantWarehouse.setText("Vacant:");
|
|
||||||
vacantWarehouse.setFont(new Font(18.0));
|
|
||||||
borderPane.setRight(vBox1);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Adds all the labels and buttons to their respective boxes.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
splitMenu.getItems().add(general);
|
|
||||||
splitMenu.getItems().add(arms);
|
|
||||||
splitMenu.getItems().add(silk);
|
|
||||||
splitMenu.getItems().add(opium);
|
|
||||||
hBox.getChildren().add(textIn);
|
|
||||||
hBox.getChildren().add(withdraw);
|
|
||||||
hBox.getChildren().add(deposit);
|
|
||||||
hBox.getChildren().add(splitMenu);
|
|
||||||
vBox.getChildren().add(playerName);
|
|
||||||
vBox.getChildren().add(text);
|
|
||||||
vBox.getChildren().add(opiumPlayer);
|
|
||||||
vBox.getChildren().add(silkPlayer);
|
|
||||||
vBox.getChildren().add(armsPlayer);
|
|
||||||
vBox.getChildren().add(generalPlayer);
|
|
||||||
vBox0.getChildren().add(text0);
|
|
||||||
vBox0.getChildren().add(text1);
|
|
||||||
vBox0.getChildren().add(opiumWarehouse);
|
|
||||||
vBox0.getChildren().add(silkWarehouse);
|
|
||||||
vBox0.getChildren().add(armsWarehouse);
|
|
||||||
vBox0.getChildren().add(generalWarehouse);
|
|
||||||
vBox1.getChildren().add(inUseWarehouse);
|
|
||||||
vBox1.getChildren().add(vacantWarehouse);
|
|
||||||
|
|
||||||
Scene root = new Scene(borderPane, 600, 480);
|
Scene root = new Scene(borderPane, 600, 480);
|
||||||
root.getStylesheets().add("styleguide.css");
|
root.getStylesheets().add("styleguide.css");
|
||||||
|
|
||||||
stage.setTitle("Warehouse");
|
stage.setTitle("Warehouse");
|
||||||
stage.setResizable(false);
|
stage.setResizable(false);
|
||||||
stage.setScene(root);
|
stage.setScene(root);
|
||||||
updateLabels();
|
|
||||||
|
|
||||||
return stage;
|
return stage;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* When run, shows the stage as a graphical interface through JavaFX.
|
|
||||||
*
|
|
||||||
* @param primaryStage object of type Stage
|
|
||||||
*/
|
|
||||||
public void start(Stage primaryStage) {
|
|
||||||
WarehouseGUI warehouseGUI = new WarehouseGUI(getPlayer());
|
|
||||||
warehouseGUI.initializeWarehouse(primaryStage);
|
|
||||||
primaryStage.show();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The purpose of this class is to create a warehouse where the goods
|
|
||||||
* can be safely stored without holing space on the ship!
|
|
||||||
*/
|
|
||||||
public void updateLabels(){
|
public void updateLabels(){
|
||||||
generalPlayer.setText("General: " + getGeneralHeld());
|
playerLabel.setText("Player: " + (getPlayer().getCargoSpace()-((getPlayer().getGuns()*10)+ getPlayer().getGeneralHeld() + getPlayer().getArmsHeld() + getPlayer().getSilkHeld() + getPlayer().getOpiumHeld())));
|
||||||
armsPlayer.setText("Arms: " + getArmsHeld());
|
houseLabel.setText("Warehouse: " + (10000 -(getPlayer().getwGeneral() + getPlayer().getwArms() + getPlayer().getwSilk() + getPlayer().getwOpium())));
|
||||||
silkPlayer.setText("Silk: " + getSilkHeld());
|
|
||||||
opiumPlayer.setText("Opium: " + getOpiumHeld());
|
|
||||||
|
|
||||||
generalWarehouse.setText("General: " + getwGeneral());
|
playerGeneral.setText("General: " + getPlayer().getGeneralHeld());
|
||||||
armsWarehouse.setText("Arms: " + getwArms());
|
playerArms.setText("Arms: " + getPlayer().getArmsHeld());
|
||||||
silkWarehouse.setText("Silk: " + getwSilk());
|
playerSilk.setText("Silk: " + getPlayer().getSilkHeld() );
|
||||||
opiumWarehouse.setText("Opium: " + getwOpium());
|
playerOpium.setText("Opium: " + getPlayer().getOpiumHeld());
|
||||||
|
|
||||||
|
houseGeneral.setText("General: " + getPlayer().getwGeneral());
|
||||||
|
houseArms.setText("Arms: " + getPlayer().getwArms());
|
||||||
|
houseSilk.setText("Silk: " + getPlayer().getwSilk());
|
||||||
|
houseOpium.setText("Opium: " + getPlayer().getwOpium());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user