Refactor; start buy menu

Change tradeable items from dict to list;
give tradehubs proper inventory;
Make inventory adding dumber
This commit is contained in:
Logen Kain 2021-05-11 16:29:45 -04:00
parent 42885f4a52
commit ea0c475074
5 changed files with 37 additions and 24 deletions

12
main.py
View File

@ -15,11 +15,11 @@ def titleScreen():
def mainGame():
tools.clearScreen()
tradeableItems = {
"flour" : obj.Item("flour", 0.5),
"Rice Cakes" : obj.Item("Rice Cakes", 1),
"Water" : obj.Item("Water", 25)
}
tradeableItems = [
obj.Item("flour", 0.5),
obj.Item("Rice Cakes", 1),
obj.Item("Water", 25)
]
#Create TradeHubs
tradeHubs = {
@ -29,7 +29,7 @@ def mainGame():
tradeHubs["The Jackel"].addItems(tradeableItems)
tradeableItems.pop("flour")
tradeableItems.pop()
tradeHubs["Star Crapper"].addItems(tradeableItems)

View File

@ -26,8 +26,15 @@ class GameManager:
def buyMenu(self):
print()
#list items
#assign each item a number
while True:
i=0
for item in self.planets[self.player.getLocation()].getTradeHub().getItems().getInventory():
print(f"{i}, {item.getName()}")
i+=1
userInput = input("Which Item would you like to buy? (e)xit \n>> ")
if userInput == "e":
break
#choose number
#ask for quantity
#Confirm

View File

@ -5,20 +5,13 @@ 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]
#TODO Make limited slots
# __init__(self, numberOfSlots)
self.items = []
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)
self.items.append(InventorySlot(item, quantity))
def printInventory(self):
print("Items: ")
print(f"{'Name' : <15}{'- - - - - | - - - - -' : ^10}{'Quantity' : >8}")
@ -26,3 +19,6 @@ class Inventory:
for slot in self.items:
print(f"{slot.getName() : <15}{'* * * * * | * * * * *' : ^10}{str(slot.getQuantity()) : >5}")
print()
def getInventory(self):
return self.items

View File

@ -18,3 +18,6 @@ class InventorySlot:
def getName(self):
return self.item.getName()
def getPrice(self):
return self.item.getPrice()

View File

@ -1,15 +1,22 @@
from obj.inventory import Inventory
class TradeHub:
'Contains items to sell'
def __init__(self, name):
self.name = name
self.items = {}
self.items = Inventory()
def addItems(self, items):
self.items = items
for item in items:
self.items.addItem(item, 100)
def getItems(self):
return self.items
def printItems(self):
print(f"{'Name' : <15}{'- - - - - | - - - - -' : ^10}{'Cost' : >6}")
print()
for item in self.items.values():
print(f"{item.getName() : <15}{'* * * * * | * * * * *' : ^10}{str(item.getPrice()) : >5}")
for slot in self.items.getInventory():
print(f"{slot.getName() : <15}{'* * * * * | * * * * *' : ^10}{str(slot.getPrice()) : >5}")
print()