Предмет: Информатика, автор: elizavetapodnebesnaa

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


mirageKZ: а если 0, то уходит в МИНУС? И если после этого удваивается, то сколько будет, если было 0?
mirageKZ: и при чём тут m шагов, если оно нигде учавствует.
elizavetapodnebesnaa: не знаю, что было в условии то и написала

Ответы

Автор ответа: mirageKZ
1

Ответ:

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

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

Приложения:

elizavetapodnebesnaa: спасибо огромное ❤❤❤
Похожие вопросы
Предмет: Русский язык, автор: pokileva02gm