首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于文本的冒险游戏库存问题python

基于文本的冒险游戏库存问题python
EN

Stack Overflow用户
提问于 2013-11-03 23:47:00
回答 2查看 2.3K关注 0票数 0

我一直在做一个恐怖短信为基础的游戏&我有一些库存问题。清单是一个数组,我可以在任何函数中调用它。我到了那里,但每次都会用新的库存来重新填充数组。我需要一些帮助,这些是我的库存功能:

代码语言:javascript
复制
#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")
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-11-04 00:30:47

这可能不是答案,但从代码和问题中我可以看出,这应该会有所帮助。注意您的代码中的差异&我的,并相应地进行更改。

代码语言:javascript
复制
# Main Inventory
Inventory = createInventory()

# Populating given inventory aray with items to be used throughout the game.
def createItems(inv):
    items = inv
    items[1] = "Axe"
    items[2] = "Gas"
    items[3] = "keys"
    items[4] = "gun"
    items[5] = "note"
    items[9] = "full"

# Check if the item passed to it is still in the inventory array
def checkItems(item):
    items = Inventory
    for i in range(len(items)):
        if items[i] == item:
            return "yes"
    return "no"

def createInventory():
    inv = range(11)
    inv[10] = "made"
    return inv

def stockInventory(item):
    inv = Inventory
    for i in range (11):
        if inv[i] == 0:
            inv[i] = item
            break
    return inv

def checkInventory(item):
    inv = Inventory
    for i in range(0, 11):
        if item == inv[i]:
            return "yes"
    return "no"
票数 1
EN

Stack Overflow用户

发布于 2017-01-15 04:27:03

你可以把存货做成低端的价值。

代码语言:javascript
复制
inventory = {"sword":True, "axe":True}

它也将有助于为您的库存制作课程。

代码语言:javascript
复制
class Weapon():

    def attack(self, monster):
        pass

class Axe(Weapon):
    def __init__(self):
        self.name = "axe"
        self.damage = 1

    def attack(self, monster):
        monster.hp -= self.damage
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19759646

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档