2016-11-17 53 views
-3

我和朋友正在用Python编写基于文本的棒球游戏。我们正在设法弄清楚如何在基地上管理跑步者。我们正在考虑是否最好的方法是制作一个布尔的列表,并根据游戏是单人游戏,双人游戏等来翻转它们。任何帮助将不胜感激!例如, bases = [False,False,False] if hit == single: bases = [True,False,False] 我们发现很难考虑对基础Python基于文本的棒球游戏 - 翻转布尔值

+0

我在想,但那会翻转每一个。如果我们没有一个人,并且命中是一个单一的,只有第一个会翻转 – lilsnyderio

+0

这个问题对我来说是非常广泛的。有一百万种方法可以做到这一点。这一切都取决于你的球员和规则如何建立... – MooingRawr

+0

我很抱歉,但我的老师不是一个实际的编程老师。他是一位想要学习的金融老师+教我们Python – lilsnyderio

回答

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()方法可以将列表中最左边或最右边的项目从字面上取走。

+0

哇这是非常有用的,我会试试看。非常感激 – lilsnyderio