Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 制作石头、布、剪刀游戏_Python - Fatal编程技术网

Python 制作石头、布、剪刀游戏

Python 制作石头、布、剪刀游戏,python,Python,我正在做一个石头、布、剪刀的游戏 下面的代码可以工作,但缺少两个关键的东西,我真的很想知道如何实现这一点: 如果是平局,球员必须能够再次选择。所以break语句必须返回,但是返回while循环并再次播放需要什么呢 比赛结束时也是如此。球员必须能够再次比赛。我认为它与上面的代码相同 答案将非常有用,因为它确实帮助我更好地理解while循环 def rps(): 播放=正确 player1=输入('player1:石头,剪刀布?')) player2=输入('player2:石头,剪刀布?')) 游

我正在做一个石头、布、剪刀的游戏

下面的代码可以工作,但缺少两个关键的东西,我真的很想知道如何实现这一点:

  • 如果是平局,球员必须能够再次选择。所以break语句必须返回,但是返回while循环并再次播放需要什么呢

  • 比赛结束时也是如此。球员必须能够再次比赛。我认为它与上面的代码相同

  • 答案将非常有用,因为它确实帮助我更好地理解while循环

    def rps():
    播放=正确
    player1=输入('player1:石头,剪刀布?'))
    player2=输入('player2:石头,剪刀布?'))
    游戏时:
    如果player1=='rock'和player2='rock':#deze methode weet beginnen
    打印(‘领带!再次拾取’)
    打破
    elif player1=='rock'和player2=='paper':
    打印('玩家2赢')
    打破
    elif player1==‘摇滚’和player2==‘剪刀’:
    打印(‘斯佩勒1元’)
    打破
    elif player1=='paper'和player2=='rock':
    打印(‘斯佩勒1元’)
    打破
    elif player1==‘纸’和player2==‘纸’:
    打印(‘领带!再次拾取’)
    持续
    elif player1==‘纸’和player2==‘剪刀’:
    打印(‘斯佩勒2元’)
    打破
    elif player1==“剪刀”和player2==“石头”:
    打印(‘斯佩勒2元’)
    打破
    elif player1==“剪刀”和player2==“纸”:
    打印(‘斯佩勒1元’)
    打破
    elif player1==“剪刀”和player2==“剪刀”:
    打印(‘领带!再次拾取’)
    
    在第二个while循环中包装游戏性循环。不要打领带。游戏性循环的输入发生在游戏性循环中。退出或玩的输入发生,并在游戏循环之前进行评估

    while True:
        print("Welcome to Rock, Paper, Scissors.")
        gameplay = input("(P)lay or (Q)uit?")
            if (gameplay == 'Q'):
                 break
            else:
                 while True:
                    player1 = input('Player1: rock, paper of scissors? ')
                    player2 = input('Player2: rock, paper of scissors? ')
                    {Gameplay Logic}
    

    此代码应该满足您的需要

    def rps():
    
        play = True
    
        player1 = input('Player1: rock, paper of scissors? ')
        player2 = input('Player2: rock, paper of scissors? ')
    
        while play:
            if player1 == 'rock' and player2 == 'rock': # deze methode werkt niet om opnieuw weer te beginnen
                print ('Tie! Pick again')
            elif player1 == 'rock' and player2 == 'paper':
                print('Player 2 won')
                if input('Type c to continue playing, anything else to quit') == 'y':
                    pass
                else:
                    break
            elif player1 == 'rock' and player2 == 'scissors':
                print ('Speler 1 won')
                if input('Type c to continue playing, anything else to quit') == 'c':
                    pass
                else:
                    break
            elif player1 == 'paper' and player2 == 'rock':
                print('Speler 1 won')
                if input('Type c to continue playing, anything else to quit') == 'c':
                    pass
                else:
                    break
            elif player1 == 'paper' and player2 == 'paper':
                print('Tie! Pick again')
    
            elif player1 == 'paper' and player2 == 'scissors':
                print('Speler 2 won')
                if input('Type c to continue playing, anything else to quit') == 'c':
                    pass
                else:
                    break
            elif player1 == 'scissors' and player2 == 'rock':
                print('Speler 2 won')
                if input('Type c to continue playing, anything else to quit') == 'c':
                    pass
                else:
                    break
            elif player1 == 'scissors' and player2 == 'paper':
                print('Speler 1 won')
                if input('Type c to continue playing, anything else to quit') == 'c':
                    pass
                else:
                    break
            elif player1 == 'scissors' and player2 == 'scissors':
                print('Tie! Pick again')
    
            player1 = input('Player1: rock, paper of scissors? ')
            player2 = input('Player2: rock, paper of scissors? ')
    
    通过去掉少量的if和if,代码可以得到优化和简化 除此之外,我还保留了这个,以供您理解,并在 你的密码


    非常感谢你!这对我帮助很大!np这就是我在这里要感谢你的原因!这也是我越来越了解逻辑的一个好方法:)很高兴我能帮助你。如果答案对您有帮助,您可以单击勾号图标接受答案。