Python. Два игрока бросают кубик и двигаются по полю на котором m шагов. Правила игры такие: если у игрока на кубике выпадает 3, то у него на счете "сгорает" 3 очка, а если выпадает 6, то количество очков удваивается. Игроки слелали по 10 ходов. Кто сейчас выиграл? Составьте программу для этой задачи

Xafe456 Xafe456    2   29.11.2021 00:30    2

Ответы
Rımma7 Rımma7  05.01.2022 07:25

т.к. автор не уточнил алгоритм, то будет так:

присваивается значение выпавшее, если не равно 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('Ничья')


Python. Два игрока бросают кубик и двигаются по полю на котором m шагов. Правила игры такие: если у
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика