Fixed the Game End screen into Taipan Shop

This commit is contained in:
2019-03-10 23:00:25 -06:00
parent 414a9634b5
commit 91bb72351e
3 changed files with 213 additions and 25 deletions

View File

@@ -65,10 +65,11 @@ public class TaipanShopGUI {
/**
* This method is evoked if the user is eligible to win, and chooses to end the game (by winning).
*/
public void retire(){
public void retire(Stage stage){
player.setRetire(true);
System.out.println("You win!");
System.exit(0);
GameEndGUI gameEndGUI = new GameEndGUI(player);
gameEndGUI.initializeGameEndGUI(stage);
stage.show();
}
/**
@@ -548,7 +549,7 @@ public class TaipanShopGUI {
retireButton.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
retire();
retire(stage);
}
});
retireButton.setMnemonicParsing(false);

View File

@@ -3,8 +3,7 @@ import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.*;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.HBox;
import javafx.scene.layout.VBox;
@@ -38,6 +37,12 @@ public class WarehouseGUI {
private Text inUseWarehouse;
private Text vacantWarehouse;
private BorderPane borderPane;
private TextField textIn;
private SplitMenuButton splitMenu;
private CheckMenuItem general;
private CheckMenuItem arms;
private CheckMenuItem silk;
private CheckMenuItem opium;
public WarehouseGUI(Player player) {
Player playerDummy = new Player(player);
@@ -78,6 +83,15 @@ public class WarehouseGUI {
inUseWarehouse = new Text();
vacantWarehouse = new Text();
borderPane = new BorderPane();
textIn = new TextField();
splitMenu = new SplitMenuButton();
general = new CheckMenuItem();
arms = new CheckMenuItem();
silk = new CheckMenuItem();
opium = new CheckMenuItem();
borderPane.setPrefHeight(480.0);
borderPane.setPrefWidth(600.0);
borderPane.setPrefHeight(480.0);
borderPane.setPrefWidth(600.0);
@@ -89,40 +103,75 @@ public class WarehouseGUI {
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);
borderPane.setAlignment(hBox, javafx.geometry.Pos.CENTER);
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.setPrefWidth(250.0);
withdraw.setText("Withdraw");
// Set the event handler when the deposit button is clicked
withdraw.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
//NATHAN WRITE CODE HERE
}
});
@Override
public void handle(ActionEvent event) {
int withdraw = Integer.parseInt(textIn.getText());
if(opium.isSelected()){
if (player.getwOpium() >= withdraw) {
player.setwOpium(player.getwOpium() - withdraw);
player.setOpiumHeld(player.getOpiumHeld() + withdraw);
} else {
title.setText("You don't have that much opium stored in the warehouse!");
}
}
}
}
);
deposit.setMnemonicParsing(false);
deposit.setPrefWidth(250.0);
deposit.setText("Deposit");
deposit.setTextAlignment(javafx.scene.text.TextAlignment.CENTER);
// Set the event handler when the deposit button is clicked
deposit.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
int deposit = Integer.parseInt(textIn.getText());
}
}
);
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);
deposit.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
//NATHAN WRITE CODE HERE
}
});
borderPane.setAlignment(vBox, javafx.geometry.Pos.CENTER_LEFT);
BorderPane.setAlignment(vBox, javafx.geometry.Pos.CENTER_LEFT);
vBox.setPrefHeight(156.0);
vBox.setPrefWidth(106.0);
@@ -210,6 +259,139 @@ public class WarehouseGUI {
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);
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);
@@ -225,8 +407,15 @@ public class WarehouseGUI {
vacantWarehouse.setFont(new Font(18.0));
borderPane.setRight(vBox1);
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);

View File

@@ -92,7 +92,6 @@ public class bankGUI{
@Override
public void handle(ActionEvent event) {
int withdraw = Integer.parseInt(txtField1.getText());
System.out.println(withdraw);
if(withdraw <= player.getBank()){
player.setMoney(withdraw + player.getMoney());
player.setBank(player.getBank()-withdraw);
@@ -111,7 +110,6 @@ public class bankGUI{
@Override
public void handle(ActionEvent event) {
int deposit = Integer.parseInt(txtField1.getText());
System.out.println(deposit);
if(deposit <= player.getMoney()){
player.setBank(deposit + player.getBank());
player.setMoney(player.getMoney()-deposit);