diff --git a/main.py b/main.py index 41e5bee..6912380 100644 --- a/main.py +++ b/main.py @@ -29,7 +29,6 @@ def mainGame(): tradeHubs["The Jackel"].addItems(tradeableItems) - tradeableItems.pop("flour") tradeHubs["Star Crapper"].addItems(tradeableItems) @@ -42,7 +41,6 @@ def mainGame(): planets["BoB"].addTradeHub(tradeHubs["Star Crapper"]) planets["Luna"].addTradeHub(tradeHubs["The Jackel"]) - # Create user userInput = "" diff --git a/obj/__init__.py b/obj/__init__.py index 96237cd..1b3c3a5 100644 --- a/obj/__init__.py +++ b/obj/__init__.py @@ -2,4 +2,5 @@ from .tradeHub import TradeHub from .planet import Planet from .item import Item from .gameManager import GameManager +from .inventorySlot import InventorySlot #from .player import Player diff --git a/obj/gameManager.py b/obj/gameManager.py index 56fdb6e..dd88eba 100644 --- a/obj/gameManager.py +++ b/obj/gameManager.py @@ -21,12 +21,22 @@ class GameManager: tools.clearScreen() print("Name: ", self.player.getName()) print("Location: ", self.player.getLocation()) + self.player.printInventory() print() + def buyMenu(self): + print() + #list items + #assign each item a number + #choose number + #ask for quantity + #Confirm + #add item with quantity to player inv + def enterTradeHub(self): tools.clearScreen() while True: - userInput = input("(e)xit\n\n(l)ist items\n>> ").lower() + userInput = input("(e)xit\n\n(l)ist items\n(b)uy\n>> ").lower() if userInput == 'e': tools.clearScreen() @@ -35,5 +45,8 @@ class GameManager: elif userInput == 'l': tools.clearScreen() self.planets[self.player.getLocation()].getTradeHub().printItems() + + elif userInput == 'b': + self.buyMenu() else: tools.clearScreen() diff --git a/obj/inventory.py b/obj/inventory.py new file mode 100644 index 0000000..70c6105 --- /dev/null +++ b/obj/inventory.py @@ -0,0 +1,28 @@ +from obj.item import Item +from obj.inventorySlot import InventorySlot + +class Inventory: + 'Object to hold items and quantity' + + def __init__(self): + self.slot1 = InventorySlot(Item("empty", 0), 0) + self.slot2 = InventorySlot(Item("empty", 0), 0) + self.items = [self.slot1, self.slot2] + + def addItem(self, item, quantity): + for slot in self.items: + if slot.getName() == "empty": + self.slot1 = InventorySlot(item, quantity) + self.items.append(self.slot1) + break + else: + self.slot1.incItem(quantity) + + + def printInventory(self): + print("Items: ") + print(f"{'Name' : <15}{'- - - - - | - - - - -' : ^10}{'Quantity' : >8}") + print() + for slot in self.items: + print(f"{slot.getName() : <15}{'* * * * * | * * * * *' : ^10}{str(slot.getQuantity()) : >5}") + print() diff --git a/obj/inventorySlot.py b/obj/inventorySlot.py new file mode 100644 index 0000000..e5caf03 --- /dev/null +++ b/obj/inventorySlot.py @@ -0,0 +1,20 @@ +class InventorySlot: + 'One item plus quantity' + + #Do I want to add the value here too? + + def __init__(self, item, quantity): + self.item = item + self.quantity = quantity + + def incItem(self, amount): + self.quantity += amount + + def decItem(self, amount): + self.quantity -=amount + + def getQuantity(self): + return self.quantity + + def getName(self): + return self.item.getName() diff --git a/obj/player.py b/obj/player.py index da497f9..90ff687 100644 --- a/obj/player.py +++ b/obj/player.py @@ -1,8 +1,11 @@ +from obj.inventory import Inventory + class Player: def __init__(self, name, location): self.name = name self.location = location + self.inventory = Inventory() def getName(self): return self.name @@ -12,4 +15,8 @@ class Player: def getLocation(self): return self.location - + def addItem(self, item, quantity): + self.inventory.addItem(item, quantity) + + def printInventory(self): + self.inventory.printInventory()