Это игра в кости. Каждый игрок бросает кости два раза (я определил для этого функцию), и я сохраняю броски кубиков в виде массива. Таким образом, ход с тремя игроками может выглядеть как [[1,6], [3,4], [5,2]]
.
Я хочу создать массив, в котором сохраняется счет (сумма двух бросков кубиков) каждого игрока. Я хочу score[0] == Player 1
, score[1] == Player 2
, et c.
Я попытался создать пустой массив с длиной, равной количеству игроков, а затем изменить элементы массива, находясь в al oop.
def dice(players):
score = [0]*players
rolls = []
for i in range(0,players):
rolls.append(diceroll(2))
for r in rolls:
score[i] += sum(r)
return rolls, score
Для кубиков (6) я получил следующее:
([[1, 2], [2, 2], [4, 2], [6, 2], [6, 4], [1, 1]], [3, 7, 13, 21, 31, 33])
вместо этого, которое я хотел:
([[1, 2], [2, 2], [4, 2], [6, 2], [6, 4], [1, 1]], [3, 4, 6, 8, 10, 2])
Почему раздел очков чего добавить к предыдущему индексу? Кто-нибудь может объяснить? Я хочу, чтобы он просто добавлялся к score[i]
и держал игроков отдельно.
Изменить: я хочу иметь возможность делать несколько ходов костей, чтобы счет мог увеличиваться. Вот почему я не хочу делать score[i] = sum(r)