I'm pretty new to python and I'm trying to make an inventory for a text RPG game I'm making if you could help me figure this out id super appreciate it!
class PlayerAttributes:
inventory = []
def __init__(self, name, inventory):
self.name = name
self.inventory = inventory # LIST
class Item:
def __init__(self, item_name, damage):
self.item_name = item_name
self.damage = damage
class Weapons(Item):
weapon_1 = Item("Me Sword", 100)
Player_1 = PlayerAttributes("Bob", [])
def get_name():
Player_1.name = input("Enter name here: ").capitalize()
commands()
def stats():
print("Name = " + str(Player_1.name), "\n",
"Inventory: ")
for x in Player_1.inventory:
print(str(x.item_name))
def commands():
prompt = None
prompt_choices = {"stats", "quit", "give"}
while prompt not in prompt_choices:
prompt = input("Enter Command: ").lower()
if prompt == "stats":
stats()
commands()
elif prompt == "quit":
quit()
elif prompt == "give":
Player_1.inventory.append(Weapons.weapon_1)
commands()
get_name()
Current output if I enter Test as name then, giveX3, stats
Enter name here: Test
Enter Command: give
Enter Command: give
Enter Command: give
Enter Command: stats
Name = Test
Inventory:
Me Sword
Me Sword
Me Sword
Desired output if I enter Test as name then, giveX8, stats Also would like to do a new line after every 4 Items have been shown
Enter name here: Test
Enter Command: give
Enter Command: give
Enter Command: give
Enter Command: give
Enter Command: give
Enter Command: give
Enter Command: give
Enter Command: give
Enter Command: stats
Name = Test
Inventory: Me Sword, Me Sword, Me Sword, Me Sword #loop after 4 items
Me Sword, Me Sword, Me Sword, Me Sword
If you have any suggestions I'd really appreciate the help! P.S it does not have to be a for loop but I do not want to have to print every weapon index in order to get them in that output