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

Python骰子游戏循环

叶煌
2023-03-14

我对我正在写的一个介于两者之间的骰子游戏有一个问题。我之前有另一个问题被回答了,但我仍然有一个问题。(请记住,我对一般编程非常陌生)

甚至-史蒂文!高还是低[hl]?h

模具3:9

*你赢了!*

import random

# Number of chips
chipBalance = 100

play = input('Would you like to play in-between [y|n]? ')

while play == 'y':
    # First dice roll
    die1 = 1

    # Second dice roll
    die2 = 1 

    # Swaps the values of the dice if die one is larger than die two
    if die1 > die2:
        temp = die1
        die1 = die2
        die2 = temp

    # Displays value of the first and second die   
    print('\nDie 1:', die1, '  Die 2:', die2)

    # Displays the number of chips held by player
    print('\nNumber of chips:', chipBalance)

    # Prompts player to place their bet
    bet = int(input('Place your bet: '))

    #Third dice roll
    die3 = random.randint(1,12)

    # Checks if the dice are the same or different
    if die1 == die2:
        print('\nEven-steven!')
        guess = input('\nEven-steven! Higher or lower [h|l]? ')

        print('\nDie 3:', die3)

        if guess == 'h':
            if die3 > die1:
                print('\n*** You win! ***')
                chipBalance = chipBalance + bet
            elif die3 < die1:
                print('\n*** Sorry - You lose! ***')
                chipBalance = chipBalance - bet
            elif die3 == die1:
                print('\n*** You hit the post - You lose! ***')
                chipBalance = chipBalance - bet

        if guess == 'l':
            if die3 > die1:
                print('\n*** Sorry - You lose! ***')
                chipBalance = chipBalance - bet
            elif die3 < die1:
                print('\n*** You win! ***')
                chipBalance = chipBalance + bet
            elif die3 == die1:
                 print('\n*** You hit the post - You lose! ***')
                 chipBalance = chipBalance - bet

        # Displays when chip balance has reached zero
        if chipBalance <= 0:
            print('\nYou\'re all out of chips!\n\n*** GAME OVER ***')
        else:
            print('\nYou now have', chipBalance, 'chips!')

        play = input('Play again y|n? ')

    elif die1 != die2:
        print('\nNot the same, let\'s play!')

    # Value of the third die
    print('\nDie 3:', die3)

    # Results of dice roll
    if die3 > die1 and die3 < die2:
        print('\n*** You win! ***')
        chipBalance = chipBalance + bet
    elif die3 < die1 or die3 > die2:
        print('\n*** Sorry - You lose! ***')
        chipBalance = chipBalance - bet
    elif die3 == die1 or die3 == die2:
        print('\n*** You hit the post - You lose! ***')
        chipBalance = chipBalance - bet

    # Displays when chip balance has reached zero
    if chipBalance <= 0:
        print('\nYou\'re all out of chips!\n\n*** GAME OVER ***')
    else:
        print('\nYou now have', chipBalance, 'chips!')

    # Update loop control
    play = input('Play again [y|n]? ')

print('\nThanks for playing!')

任何关于我需要改变什么/改变它的任何帮助都将非常感谢!提前谢了。

共有1个答案

白云
2023-03-14

块中,如果die1==die2,您有:

play = input('Play again y|n? ')

但是在这个阶段,用户输入什么并不重要。脚本将在

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

  • 有人能在这里给我指个正确的方向吗?我的游戏工作完美,但我想添加一些实际的互动/目标。谢谢

  • 我对C#和一般编码都是新手。为了提高我的技能,我试图创建一个基本的游戏,两个玩家掷骰子,并记录他们的得分。玩家达到20分即获胜。每个玩家轮流掷一个骰子,把他们的第一个骰子加到他们的第二个骰子上,以此类推,直到其中一个达到20。如果玩家掷出一个六,他们可以再次掷骰子。 任何帮助都将不胜感激。

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

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

  • rollDice( )应使用兰德( )随机生成介于1-6之间的数字 返回兰德( )生成的数字 3)实现一个功能,功能原型为Int ;Playgame( Void ;);  根据用户的赢或输的次数给用户一个适当的消息 返回值为EXIT_SUCCESS 这里是我现在拥有的,但它告诉我有错误。有谁能帮我完成这个任务吗? ^ X.C:10:1:错误:程序中杂散“\240” X.C:12:1:错误:程序中杂