2016-11-17 71 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