当前位置: 首页 > 知识库问答 >
问题:

2人掷骰子输入

孟翰海
2023-03-14
import random
tot1 = 0
tot2 = 0
tot2 = 0
rnd2 = 0

for i in range (1,6):
while True:
from random import randint
    print()
    print("Player 1")
    ro1_1 = input("Type 'roll' to roll your 1st dice: ")
    if ro1_1 == 'roll':
        dice1_1 = (randint(1,6))
        print("Player1 dice 1:", dice1_1)
    else:
        ro1_1 = input("Type 'roll' to roll your 1st dice: ")
    ro1_2 = input("Type 'roll' to roll your 2nd dice: ")
    if ro1_2 == "roll":
        dice1_2 = (randint(1,6))
        print("Player1 Dice 2:", dice1_2)
    else:
        ro1_2 = input("Type 'roll' to roll your 1st dice: ")
    print()
    print ("Player1's total for round",(rnd1)," is:",tot1) 
    print()
    print ("Player 2")
    ro2_1 = input("Type 'roll' to roll your 1st dice: ")
    if ro2_1 == 'roll':
        dice2_1 = (randint(1,6))
        print("Player2 Dice 1:", dice2_1)
    else:
        ro1_1 = input("Type 'roll' to roll your 1st dice: ")
    ro2_2 = input("Type 'roll' to roll your 2nd dice: ")
    if ro2_2 == 'roll':
        dice2_2 = (randint(1,6))
        print("Player2 Dice 2:", dice2_2)
    else:
        ro2_2 = input("Type 'roll' to roll your 1st dice: ")
        break
    print()

print ("Player2's total for round",(rnd2)," is:",tot2)
    print()
    break

共有1个答案

沈飞跃
2023-03-14

首先,将从random import Randint移到顶部--至少在While循环之外。这解决不了问题,只是说说而已。

接下来,您希望一些东西停止,直到播放器键入“roll”。在好几个地方。

编写一个函数:

def wait_for_right_input():
    while True:
        if input("Type 'roll' to roll your 1st dice: ") == 'roll':
            break
from random import randint

for i in range (1,6):
#while True: ## not sure why you have both, and this would make the indents wrong
    print()
    print("Player 1")

    wait_for_right_input() #<-- here
    dice1_1 = randint(1,6)
    print("Player1 dice 1:", dice1_1)

    wait_for_right_input() #<-- here
    dice1_2 = randint(1,6)
    print("Player1 Dice 2:", dice1_2)

    # etc
 类似资料:
  • 我正在用java创建一个掷骰子的应用程序。我有一个掷骰子的“骰子”类,和一个使用“骰子”的多个实例变量的“骰子”类。但是,它只为我的值返回0。骰子类本身可以工作,并且会掷出一个随机数,但是我不知道如何在我的“骰子”类中得到多个掷骰子。感谢任何帮助。 骰子类 模具等级

  • 我试图为一个游戏的掷骰子程序,其中用户输入一个下注金额和2个六面骰子滚动,如果7或11是滚动,他们赢了。如果掷2,3或12就输了,如果掷其他任何一个数字,它就显示该数字为一个点。它会继续掷骰子,直到掷7或该点为止,如果掷7就输了,否则就赢了。出于某种原因,在掷骰子时,他会掷骰子,然后再掷一次,看看他们是否赢了或输了。我不知道如何解决这个问题,任何帮助都不会附带

  • 你好堆栈溢出,我有一个小问题与这个程序。我正在尝试制作一个程序来掷四个骰子并将三个最高的掷骰子加在一起,然后打印这三个掷骰子中最低的一个。我犯了一个错误,就是把三个最高的卷子加在一起,然后打印出四个卷子中最低的一个。 我如何解决这个问题?我在谷歌上搜索了很多,想知道如何使用列表和集合,但我找不到任何可以解决这个问题的东西。 此外,我如何才能迫使用户选择一个集合并重新滚动该集合? 基本上,我想做的是

  • 我是一个C++初学者,我需要创建一个骰子游戏模拟掷两个骰子。我对头文件的使用感到很困惑。但首先,为什么我需要返回骰子的票面号码?其次,int roll函数做什么?来重置价值观和面孔?如果是,默认值是多少?而最后一个函数骰子(int n),我是否使用这个函数来控制骰子值的最大总和?函数必须有一个具有以下函数的类头文件:

  • 代码的目的是让两个玩家掷一对骰子。第一个掷出20分的玩家赢得比赛。我很难弄清楚如何正确地跟踪滚动的总和;它只给我当前回合的总和,然后当每个玩家滚动10次时游戏就结束了。 我如何正确地计算每个玩家游戏的总和,然后当其中一个玩家的总和等于20时停止循环?

  • 程序在最后未能计算出正确的和。我做错了什么?如有任何帮助,不胜感激。谢了。