我的朋友和我正在使用Python制作基于文本的棒球游戏。我们正试图找出如何在基础上管理跑步者。我们在想是否最好的方法是有一个布尔列表,并根据游戏是单人,双人等来翻转它们。任何帮助都将受到赞赏!
防爆。
bases = [False,False,False]
if hit == single:
bases = [True,False,False]
我们发现很难考虑基础上所有可能的跑步者组合
答案 0 :(得分:0)
from collections import deque
bases = [False, False, True]
playing_field = deque(bases)
print(playing_field) #deque([False, False, True])
playing_field.rotate(-1)
print(playing_field) #deque([False, True, False])
#can use it like a list:
print(playing_field[0]) #False
来自deque
的 collections
非常适合您想要做的事情。您基本上可以移动列表并将成员添加到第一个基础。
rotate()
采用整数,正数或负数,并将列表向左或向右移动多次。
如果我是你,请将其包含在本垒板中,这样你就可以将其弹出并得分或者不是。如果您需要deque
使用popleft()
和popright()
方法,可以从列表中删除最左侧或最右侧的项目。