from time import sleep from .player import Player import tools PLAYER_INIT_LOCATION = "Luna" class GameManager: 'Manage the game' def __init__(self, userInput, planets): self.gameIsRunning = True self.player = Player(userInput, PLAYER_INIT_LOCATION) self.planets = planets def isGameRunning(self): return self.gameIsRunning def stopGame(self): self.gameIsRunning = False def printPlayerStats(self): tools.clearScreen() print("Name: ", self.player.getName()) print("Location: ", self.player.getLocation()) self.player.printInventory() print() def getTradeHubItems(self): return self.planets[ self.player.getLocation()].getTradeHub().getItems() def buyMenu(self): tools.clearScreen() tradeHubItems = self.getTradeHubItems() while True: tools.clearScreen() i=0 for item in tradeHubItems: print(f"{i}, {item.getName()}") i+=1 userInput = input("Which Item would you like to buy? (e)xit \n>> ") if userInput == "e": break try: itemNumber = int(userInput) except ValueError: continue if itemNumber < i and itemNumber > -1: print("You have choosen: " + tradeHubItems[itemNumber].getName()) userInput = input("How many would you like?\n>> ") try: itemQuantity = int(userInput) except ValueError: continue else: continue if itemQuantity == 0: print("NO ITEMS ADDED!") break userInput = input(f"Are you sure you want {itemQuantity} {tradeHubItems[itemNumber].getName()}? (y/n)\n>> ").lower() if userInput == "y": self.player.addItem(tradeHubItems[itemNumber], itemQuantity) else: print("NO ITEMS ADDED!") sleep(1) break def enterTradeHub(self): tools.clearScreen() while True: userInput = input("(e)xit\n\n(l)ist items\n(b)uy\n>> ").lower() if userInput == 'e': tools.clearScreen() break; elif userInput == 'l': tools.clearScreen() self.planets[self.player.getLocation()].getTradeHub().printItems() elif userInput == 'b': self.buyMenu() else: tools.clearScreen()