Вопрос задан 19.06.2023 в 14:01. Предмет Информатика. Спрашивает Стрельников Степан.

Python. Два игрока бросают кубик и двигаются по полю на котором m шагов. Правила игры такие: если у

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

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Земляникин Кирилл.

Ответ:

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

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


0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для решения данной задачи можно написать программу на языке Python. Вот пример кода:

```python import random

def игра(): # Инициализация начальных значений m = 30 # Количество шагов на поле игрок_1_очки = 0 игрок_2_очки = 0

for _ in range(10): # Количество ходов # Ход игрока 1 бросок_игрока_1 = random.randint(1, 6) if бросок_игрока_1 == 3: игрок_1_очки -= 3 elif бросок_игрока_1 == 6: игрок_1_очки *= 2

# Ход игрока 2 бросок_игрока_2 = random.randint(1, 6) if бросок_игрока_2 == 3: игрок_2_очки -= 3 elif бросок_игрока_2 == 6: игрок_2_очки *= 2

# Вывод результатов print(f"Игрок 1: {игрок_1_очки} очков") print(f"Игрок 2: {игрок_2_очки} очков")

if игрок_1_очки > игрок_2_очки: print("Игрок 1 выиграл!") elif игрок_2_очки > игрок_1_очки: print("Игрок 2 выиграл!") else: print("Ничья!")

# Запуск игры игра() ```

В этом коде создается функция `игра()`, которая моделирует 10 ходов для каждого из двух игроков. После этого программа выводит количество набранных очков каждым игроком и объявляет победителя или объявляет ничью, если у обоих игроков равное количество очков.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос