Python. Два игрока бросают кубик и двигаются по полю на котором m шагов. Правила игры такие: если у игрока на кубике выпадает 3, то у него на счете "сгорает" 3 очка, а если выпадает 6, то количество очков удваивается. Игроки слелали по 10 ходов. Кто сейчас выиграл? Составьте программу для этой задачи
т.к. автор не уточнил алгоритм, то будет так:
присваивается значение выпавшее, если не равно 3 или 6
если 3, то уменьшаем на 3
если 6, то увеличиваем в 2 раза
! очки МОГУТ уходить в "-". Если было -4, а выпало 6,
то будет 4, т.к. -4 + |-4|*2 = 4
если было 0 очков и выпало 6, то 0 и останется, т.к. 0*6=0
трассировка по шагам - можно отследить как шла игра
Объяснение:
Python
from random import randint
a=0
b=0
def getstep(z):
s=randint(1,7)
if s==3:
z-=3
elif s==6:
z+=abs(z)*2
else:
z+=s
return z
for i in range (1,11):
a=getstep(a)
print('1 step', i, ' Очки=', a)
b=getstep(b)
print('2 step', i, ' Очки=', b)
if a>b:
print('1 выиграл')
elif b>a:
print('2 выиграл')
else:
print('Ничья')