Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <string>
- using namespace std;
- int main()
- {
- //Declarations
- void displayMenu(string options[]);
- void displaySaleItems(string itemNames[10], int itemPrices[10]);
- void displayPlayerInventory(string playerItemNames[10], int playerItemPrices[10]);
- void addItemToInventory(int storeItemIn, string storeItemNames[10], int storeItemPricse[10], string playerItemNamez[10], int playerItemPricez[10]);
- void removeItemFromInventory(int index, string inventoryItemNames[10], int inventoryItemPrices[10]);
- string storeItemName[10] = {"Item1", "Item2", "Item3", "Item4",
- "Item5", "Item6", "Item7", "Item8",
- "Item9", "Item10"};
- int storeItemPrice[10] = {10, 40, 50, 70, 90,
- 200, 30, 5, 11, 65};
- string menuOptions[3] = {"Buy", "Sell", "Quit"};
- string playerItemName[10];
- int playerItemPrice[10];
- int menuOptionSelected = 0;
- int playerMoney = 500;
- int storeItemIndex;
- int inventorySelectionIndex;
- //display the menu
- displayMenu(menuOptions);
- //setup the loop
- while(menuOptionSelected != 3)
- {
- //prompt + read + validate user input
- cout << "Please selct an option from the menu: ";
- cin >> menuOptionSelected;
- while(menuOptionSelected != 1 &&
- menuOptionSelected !=2 &&
- menuOptionSelected !=3)
- {
- cout << "Please selct an option from the menu: ";
- cin.clear();
- cin.ignore(100, '\n');
- cin >> menuOptionSelected;
- }
- //Buy Item
- if(menuOptionSelected == 1)
- {
- displaySaleItems(storeItemName, storeItemPrice);
- //prompt + read + validate user input
- cout << "Select an item to purchase(1-10): ";
- cin >> storeItemIndex;
- while(storeItemIndex < 1 || storeItemIndex > 10)
- {
- cin.clear();
- cin.ignore(100, '\n');
- cout << "Select an item to purchase(1-10): ";
- cin >> storeItemIndex;
- }
- //check if user has enough money
- if(storeItemPrice[storeItemIndex -1 ] <= playerMoney)
- {
- playerMoney = playerMoney - storeItemPrice[storeItemIndex -1];
- addItemToInventory(storeItemIndex - 1, storeItemName, storeItemPrice, playerItemName, playerItemPrice);
- displayPlayerInventory(playerItemName, playerItemPrice);
- cout << "You have " << playerMoney << "gold left." <<endl;
- }
- else
- {
- cout << "Not enough money.";
- }
- } // Buy
- //Sell
- if(menuOptionSelected == 2)
- {
- displayPlayerInventory(playerItemName, playerItemPrice);
- cout << "Sleect an item to sell: ";
- cin >> inventorySelectionIndex;
- if(inventorySelectionIndex >= 1 && inventorySelectionIndex <= 9)
- {
- playerMoney = playerMoney + playerItemPrice[inventorySelectionIndex - 1];
- removeItemFromInventory(inventorySelectionIndex-1, playerItemName, playerItemPrice);
- cout << "You have " << playerMoney << " gold left." <<endl;
- }
- }
- }
- }
- //display the menu
- void displayMenu(string options[3])
- {
- for(int i=0 ; i<3 ; i++)
- {
- cout << i+1 << ". " << options[i] << endl;
- }
- }
- //display items for sale
- void displaySaleItems(string itemNames[10], int itemPrice[10])
- {
- cout << "Items for sale: " << endl;
- for(int i=0 ; i<10 ; i++)
- {
- cout << i+1 << ". " << itemNames[i] << "\tPrice: " << itemPrice[i] << endl;
- }
- }
- //add purchased item from store to player inventory
- void addItemToInventory(int storeItemIndex, string storeItemName[10], int storeItemPrice[10], string playerItemName[10], int playerItemPrice[10])
- {
- int numPlayerItems = 0;
- while(!playerItemName[numPlayerItems].empty() && numPlayerItems < 10)
- {
- numPlayerItems++;
- }
- if(numPlayerItems < 10)
- {
- playerItemName[numPlayerItems] = storeItemName[storeItemIndex];
- playerItemPrice[numPlayerItems] = storeItemPrice[storeItemIndex];
- }
- else if (numPlayerItems == 10)
- {
- cout << "Inventory is Full";
- }
- }
- void displayPlayerInventory(string playerItemName[10], int playerItemPrice[10])
- {
- cout << "Player Inventory" << endl;
- int i = 0;
- while(!playerItemName[i].empty() && i < 10)
- {
- cout << i+1 << ". " << playerItemName[i] << "\tPrice: " << playerItemPrice[i] << endl;
- i++;
- }
- }
- void removeItemFromInventory(int index, string inventoryItemNames[10], int inventoryItemPrices[10])
- {
- for (int i = index ; i < 9 ; ++i)
- {
- inventoryItemNames[i] = inventoryItemNames[i+1];
- inventoryItemPrices[i] = inventoryItemPrices[i+1];
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement