我正在用 Python 编写一个非常简单的基于文本的游戏,其中包含 5 个玩家可以在其中移动的房间。
玩家从中央房间 gameMap[2] 开始。
下面是提供玩家位置的代码。
gameMap = ['room0','room1','room2','room3','room4']
playerLocation = gameMap[2]
现在假设玩家想要向左移动。
这意味着我必须将playerLocation分配给gameMap[1]
。
playerLocation = gameMap[1]
只有 5 个房间,这可以相当容易地完成。但出于缩放目的,我希望能够将playerLocation分配给“当前列表条目-1”,假设这在范围内。
该指令将进行如下分配:
如果playerLocation是gameMap[4],则playerLocation = gameMap[3]
如果playerLocation是gameMap[1],则playerLocation = gameMap[0]
我考虑过使用 next(gameMap) 但这似乎存在两个问题:
1) 它不允许我引用玩家的当前位置,因为它必须从 gameMap[0]
开始
2)它似乎不能反向工作,并且there doesn't seem to be a previous() function由于Python的架构。 (抱歉,如果我在这里用错了术语:)。
我到处找过,但似乎找不到任何方法来做到这一点。是否可以?
最佳答案
在这种情况下你可以做的是有一个变量用作玩家所在的点;例如:
当前 = 0
然后进行必要的计算并调用 playerLocation = gameMap[current]
如果您想返回一个级别,您可以这样做:
当前 -= 1
playerLocation = gameMap[当前]
我不确定我是否遗漏了你问题的一部分,因为这看起来相对简单;如果我理解错误请纠正。
关于Python:获取上一个列表条目(相对于分配给当前列表位置的变量),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60668676/