Python 骰子游戏(已关闭)

2 投票
1 回答
877 浏览
提问于 2025-04-18 05:39

这个问题是我在编程课上做作业时遇到的。我对编程完全是个新手,之前还算顺利,但这次我真的搞不懂了。所以在回答这个问题时,请假设我一点都不懂,因为我现在就是这种感觉,哈哈。

我正在制作一个“中间”游戏,但遇到了一些问题。

下面是发生的情况示例:

你想玩中间游戏吗 [y|n]? y

骰子1: 1 骰子2: 1

筹码数量: 100 下注金额: 50

平局!

平局!你要选择高还是低 [h|l]? h

骰子3: 10

* 你赢了! *

骰子3: 10

* 抱歉 - 你输了! *

你现在有100个筹码! 你想再玩一次中间游戏吗 [y|n]?

这是我的代码:

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

    elif 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

抱歉代码很长,但我真的很迷茫,任何帮助都非常感谢。再说一遍,我对编程非常陌生,很多术语都不懂,所以请给我最简单的答案。非常感谢!!!

1 个回答

0

这种重启的常见模式是先假设玩家第一次想要玩,然后在结束之前询问他/她是否想继续。

play = 'y'
while play == 'y'

    Do your game logic here

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

希望这能帮助你重新回到正轨。

补充:抱歉,我刚刚看到这个功能已经存在。你遇到的问题是,当你查看猜测的值时会陷入循环,实际上你应该在检查猜测值时使用一个if语句,而不是让它一直循环。

撰写回答