【发布时间】:2022-06-11 21:25:54
【问题描述】:
我正在尝试让玩家能够装备护身符。唯一的问题是,我已经把护身符变成了一个对象,我希望 player.bracelet1 字段来存储一个对象......这是商店系统中的一个字符串:(我应该只使用很多 if 循环吗?或者是有什么方法吗?这是必要的代码。可能有一些漏洞,因为我的代码很长,我试着把必要的:
shop_stock=stock_dict[shop_id]
with open(shop_stock,'r') as f:
content=f.readlines()
items_on_sale=[]
for i in range (0,3):
items_on_sale.append(content[r.randint(0,len(content)-1)].strip())
action=int(input('What would you like to buy? (1,2 or 3)'))
item_bought=items_on_sale[action-1]
item_price=price_dict[item_bought]
player.money-=item_price
action=input(f'Do you want to equip your new {item_bought}?')
if action in yes_inputs:
equip_item(item_bought)
elif action in no_inputs:
player.backpack.append(item_bought)
def equip_item(item)
action=int(input(f'Would you like to equip your {item} as a '\
'right wrist bracelet(1), a left wrist bracelet(2) or'\
'a necklace(3)?'))
if action==1:
player.bracelet1=item
elif action==2:
player.bracelet2=item
elif action == 3:
player.necklace=item
#just to debug and check it works
print(player.bracelet1)
所以这只是我从我的功能中删除的一部分,如果需要其他东西,请告诉我:D PS:我没有把它放在这里,而是每个护身符(小/中/大强度/防御/Health) 有三个字段,所以我真的不能没有对象......
【问题讨论】:
-
我没有看到任何明显的问题,除了你忘记了“defequip_item(item)”之后的
:。介意描述一下您在运行此代码时得到的结果以及它与您的预期有何不同?