From 891fbd1901e92075e021112a8243ab484dd3f14c Mon Sep 17 00:00:00 2001 From: MrWilliamC Date: Sat, 28 Feb 2015 14:31:38 -0500 Subject: [PATCH 1/2] added TransactionLimits and modified advanceDailyCycle method, transactions are now counted in createTransaction method updated test class for RPGame --- MerchantRPGCSE2102/src/controller/RPGame.java | 50 ++++++++++++++++++- .../src/tests/TestTransaction.java | 7 +++ 2 files changed, 55 insertions(+), 2 deletions(-) diff --git a/MerchantRPGCSE2102/src/controller/RPGame.java b/MerchantRPGCSE2102/src/controller/RPGame.java index 692abff..5f8e603 100644 --- a/MerchantRPGCSE2102/src/controller/RPGame.java +++ b/MerchantRPGCSE2102/src/controller/RPGame.java @@ -18,11 +18,52 @@ public class RPGame { private Merchant _merchant2; private Merchant _merchant3; private boolean _movement; - + private int _currentDay; + private int _transactionLimit; + + public RPGame() { - //constructor + _currentDay = 1; + _transactionLimit = 3; } + /** + * Will refresh number of transactions the Player has available + * + */ + private void refreshTransactionLimit(){ + _transactionLimit = 3; + } + + /** + * This method will advance the game to the next day, therefore refreshing Merchant cash, + * incrementing the Merchant's max cash every 3 days, refreshing the player's _transactionLimit, + * Will call setDailyRandomPercentage, scaleAllAdjustedPrices, refreshCash, incrementBaseCash + * + */ + private void advanceDailyCycle(){ + _merchant1.setDailyRandomPercentage(50,200); + _merchant2.setDailyRandomPercentage(80,500); + _merchant3.setDailyRandomPercentage(10,1000); + _merchant1.scaleAllAdjustedPrices(); + _merchant2.scaleAllAdjustedPrices(); + _merchant3.scaleAllAdjustedPrices(); + if( (_currentDay % 3) == 0){ + _merchant1.addCash(100); + _merchant1.refreshCash(); + _merchant2.addCash(100); + _merchant2.refreshCash(); + _merchant3.addCash(100); + _merchant3.refreshCash(); + }else{ + _merchant1.refreshCash(); + _merchant2.refreshCash(); + _merchant3.refreshCash(); + } + refreshTransactionLimit(); + _currentDay++; + } + /** * This method scans the inventory.txt file located in src\config. It will read lines of the format and store them in the inventory list member variables * @@ -119,9 +160,14 @@ public ArrayList getPlayerInventoryList() { */ public void createTransaction(Player player, Merchant targetMerchant) { + if(_transactionLimit > 0){ toggleMovement("OFF"); Transaction newTransaction = new Transaction(player, targetMerchant); toggleMovement("ON"); + _transactionLimit -= 1; + }else{ + System.out.println("The shops are closed."); + } } /** diff --git a/MerchantRPGCSE2102/src/tests/TestTransaction.java b/MerchantRPGCSE2102/src/tests/TestTransaction.java index c529250..876e1be 100644 --- a/MerchantRPGCSE2102/src/tests/TestTransaction.java +++ b/MerchantRPGCSE2102/src/tests/TestTransaction.java @@ -23,6 +23,13 @@ public void setup() public void testActionSell() { setup(); + System.out.println("Transaction 1:"); + _rpg.createTransaction(_rpg.getPlayer(), _rpg.getMerchant(1)); + System.out.println("Transaction 2:"); + _rpg.createTransaction(_rpg.getPlayer(), _rpg.getMerchant(1)); + System.out.println("Transaction 3:"); + _rpg.createTransaction(_rpg.getPlayer(), _rpg.getMerchant(1)); + System.out.println("Transaction 4:"); _rpg.createTransaction(_rpg.getPlayer(), _rpg.getMerchant(1)); } } From 37a7b6f99834da2b17cd25c707957ed13bbdd25e Mon Sep 17 00:00:00 2001 From: MrWilliamC Date: Sat, 28 Feb 2015 14:39:14 -0500 Subject: [PATCH 2/2] MainMenuUI --- MerchantRPGCSE2102/src/view/MainMenuUI.java | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 MerchantRPGCSE2102/src/view/MainMenuUI.java diff --git a/MerchantRPGCSE2102/src/view/MainMenuUI.java b/MerchantRPGCSE2102/src/view/MainMenuUI.java new file mode 100644 index 0000000..0af06b8 --- /dev/null +++ b/MerchantRPGCSE2102/src/view/MainMenuUI.java @@ -0,0 +1,5 @@ +package view; + +public class MainMenuUI { + +}