繁体   English   中英

我为我的掷骰子游戏添加变量过于复杂

[英]I've overcomplicated adding variables for my dice roll game

我正在做一个掷骰子任务。 规则是:

  • 每个玩家的骰子上滚动的点数被添加到他们的分数中。
  • 如果总数为偶数,则在其得分上增加 10 分。
  • 如果总分是奇数,则从他们的分数中减去 5 分。
  • 如果他们掷出双倍,他们可以额外掷一个骰子,并将掷出的点数加到他们的分数上。
  • 玩家的分数在任何时候都不能低于 0。
  • 5轮结束时得分最高的人获胜。

基本上,我所做的是创建了 2 个独立玩家在 2 轮游戏中滚动的变量,现在我试图将这些变量加在一起,以便玩家可以将他们在第 1 轮和第 2 轮的总数结合起来。 我的老师提到过一段时间 function 但这就是他被允许说的全部内容,而且我不知道该怎么做。

我觉得我所做的事情过于复杂,而且它甚至不起作用。

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,".")

我不会给你写整个作业,但你可以考虑使用 Player-class 来存储卷和总分:

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM