Я слишком усложнил добавление переменных для моей игры в кости

#python

#питон

Вопрос:

Я выполняю задание по броску кубиков. Правила таковы:

  • Очки, выпавшие на кубиках каждого игрока, добавляются к их счету.
  • Если общее число является четным, к их счету прибавляются дополнительные 10 очков.
  • Если общее число нечетное, из их счета вычитается 5 очков.
  • Если они делают двойной бросок, они получают возможность бросить один дополнительный кубик и получить количество выпавших очков, добавленное к их счету.
  • Оценка игрока не может опуститься ниже 0 в любой момент.
  • Выигрывает игрок, набравший наибольшее количество очков в конце 5 раундов.

По сути, то, что я сделал, — это создал переменные того, что бросают 2 отдельных игрока в 2 раундах игры, теперь я пытаюсь сложить эти переменные вместе, чтобы игрок мог получить их общее количество для раунда 1 и 2. Мой учитель упоминал что-то о функции while, но это было все, что ему было разрешено сказать, плюс я не уверен, как это сделать.

Я чувствую, что то, что я сделал, слишком сложно, плюс тот факт, что это даже не работает.

 if (round2scoreP1 % 2) == 0   (round1scoreP1 % 2) == 0:
    addedscoreround2P1even=(totalround1scoreP1even) (totalround2scoreP1even)
    print(username1,"'s total for round 1 and 2 is",addedscoreround2P1even,".")
elif (round1scoreP1 % 2) != 0   (round2scoreP1 % 2) != 0:
    addedscoreround2P1odd=(totalround1scoreodd) (totalround2scoreodd)
    print(username1,"'s total for round 1 and 2 is",addedscoreround2P1odd,".")
elif (round1scoreP1 % 2) == 0   (round2scoreP1 % 2) != 0:
    addedscoreround2P1evenodd=(totalround1scoreP1even) (totalround1scoreP1odd)
    print(username1,"'s total for round 1 and 2 is",addedscoreround2P1evenodd,".")
elif (round1scoreP1 % 2) != 0   (round2scoreP1 % 2) == 0:
    addedscoreround2P1oddeven=(totalround1scoreP1odd) (totalround1scoreP1even)
    print(username1," obtained",addedscoreround2P1oddeven,".")
 

Комментарии:

1. Это слишком низкий уровень, чтобы быть в состоянии помочь… Дайте нам правила игры и то, как вы представляете различных участников (игрок, оценка, бросок и т. Д.), Вместо того, Чтобы надеяться, что мы сможем перепроектировать ваши блоки if!

Ответ №1:

Я не собираюсь писать вам все задание, но вы могли бы рассмотреть возможность использования класса Player для хранения бросков и общего количества очков в:

 class Player():
    
    def __init__(self):
        self.rolls = []
        self.total_score = 0

    def roll_dice():
        self.rolls.append(random.randint(1, 6))