【发布时间】:2013-11-03 23:47:00
【问题描述】:
我一直在开发一款基于恐怖短信的假牙游戏,但我遇到了一些库存问题。库存是我可以在任何函数中调用的数组。我有点到了那里,但我只是每次都用新的库存重新填充我的阵列。我可以使用一些帮助,这些是我的库存功能:
#Populating an aray with items to be used throughout the game.
def createItems():
items = range(0, 11)
if items[9] != "full":
items[1] = ("Axe")
items[2] = ("Gas")
items[3] = ("keys")
items[4] = ("gun")
items[5] = ("note")
items[9] = ("full")
return items
else:
return items
# this function is going to check if the item passed to it is still in the array
def checkItems(item):
list = createItems()
itemC = item
for i in range (0, 11):
if list[i] == itemC:
return ("no")
break
def createInventory():
inv = range(0 , 11)
inv[10] = ("made")
if inv[10] != ("made"):
for i in range (0, 11):
inv[i] = 0
return inv
def stockInventory(item):
inv = createInventory()
for i in range (0, 11):
if inv[i] == 0:
inv[i] = item
break
return inv
def checkInventory(item):
itemC = item
inv = createInventory()
for i in range(0, 11):
if itemC == inv[i]:
return ("yes")
【问题讨论】:
-
请正确缩进你的代码,这是不可能的。
-
刚刚对 @DanielRoseman 感到抱歉
-
这将很难回答,因为这段代码中有四五个真正的基本误解。我建议你看看docs.python.org/2/tutorial 的第 1-5 节,然后再回到这个...
-
你能说出几个吗,它几乎可以工作。在里面有东西之后,我在进入库存时遇到了一个小问题。 @MrE
-
1)
checkInventory调用createInventory这意味着您每次都返回一个新库存,而不是将其存储在变量中并将其作为参数传递。 2)你在break之后直接调用return(即你永远不会打return语句),同样break在return之后,3)如何构造一个字符串列表4)设置inv[10]到一个值,然后立即检查该值是什么......
标签: python python-2.7 inventory