Python:纸牌游戏BOT Remastering(如何使一条线继续,而不管它在哪里?)

2024-10-05 17:24:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我一个人在修理机器人,我被卡住了!这是一个代码,它提示用户从选项中选择获得多少张卡

7, 9, 11, and 15

def Cards():
    print("Card Amounts")
    print("\nChoices")
    print(7)
    print(9)
    print(11)
    print(15)
    PlayerInput3()
def PlayerInput3():
    global PlayersCards
    PlayerInput = int(raw_input())
    if(PlayerInput == 7):
        PlayersCards == range(1,7)
        print("Lets get started")
        Game()

但是,当他们选择了多少张牌时,在定义结束后,它仍然有效。我希望玩家卡的范围继续在一个不同的定义区域。这里:

^{pr2}$

但它不会继续过去

def Cards():

如何使PlayersCard==range(1,7)继续,而不管它是什么定义?在


Tags: and代码用户定义def选项机器人range
1条回答
网友
1楼 · 发布于 2024-10-05 17:24:18

我认为这个代码可以满足您的要求:

def instructions():
    print("You will be playing with an ai and whoever lays down the highest number wins that round.")
    print("The points you get are determined by how much higher your card was from your opponents card.")
    print("The person with the most points wins!")

def getUserInput():
    global roundNumber, My_Deck, PlayerPoints, AIPoints
    My_Deck = []
    roundNumber = 0
    AIPoints = 0
    PlayerPoints = 0
    print ("\nDo you want to play?: ")
    print("\nChoices")
    print("1. Yes")
    print("2. No\n")

    Choice = input()

    if(Choice == 'Yes') or (Choice == 'yes'):
        print("\nOkay, lets get started!")
        startGame()
    elif(Choice in ['No', 'no']):
        print("Okay, bye!")
        quit()
    else:
        print("That is not a Choice!")
        print("Choose 'Yes' or 'No'")
        getUserInput()

def startGame():
    global roundNumber, My_Deck, PlayerPoints, AIPoints
    print("\nAIPoints = %d PlayerPoints = %d" % (AIPoints, PlayerPoints))
    roundNumber = roundNumber + 1
    print("\nRound %d!" % (roundNumber))
    cardChoosen = None
    import random 

    if(roundNumber == 1): 
        print("\nHere are your 9 cards.\n")

        for Cards in range(9):
            Cards = random.randint(1, 100)
            My_Deck.append(Cards)

        while True:
            print("Select one of your cards: "),
            print(My_Deck)
            Select = int(input())
            try:
                if (Select in My_Deck):
                    My_Deck.remove(Select)
                    print("You choose", Select)
                    print("Your deck now is:")
                    print(My_Deck)
                    cardChoosen = Select
                    break
                else:
                    print("You don't have that card in your deck!")
            except ValueError as e:
                print(e)
    elif(roundNumber == 10):
        if(PlayerPoints > AIPoints):
            print("\nCongratulations you won with a score of %d compared to the AI's %d" % (PlayerPoints, AIPoints))
            getUserInput()
        elif(PlayerPoints < AIPoints):
            print("\nUnfortunately you lost with a score of %d compared to the AI's %d" % (PlayerPoints, AIPoints))
            getUserInput()
        else:
            print("\nWow this is basicaly impossible you tied with the AI with you both ahving a score of %d and %d... " % (PlayerPoints, AIPoints))
            getUserInput()
    else:
        print("\nHere are your %d cards.\n" % (9 - roundNumber + 1))

        while True:
            print("Select one of your cards: "),
            print(My_Deck)
            Select = int(input())
            try:
                if (Select in My_Deck):
                    My_Deck.remove(Select)
                    print("You choose", Select)
                    print("Your deck now is:")
                    print(My_Deck)
                    cardChoosen = Select
                    break
                else:
                    print("You don't have that card in your deck!")
            except ValueError as e:
                print(e)    

    AINumber = random.randint(1, 100)

    if(cardChoosen > AINumber):
        print("\nYou won! Your number %d was higher than the AI's number %d" % (cardChoosen, AINumber))
        print("\nYou scored %d points" % (cardChoosen - AINumber))
        PlayerPoints = PlayerPoints + (cardChoosen - AINumber)
        startGame()
    elif(cardChoosen < AINumber):
        print("\nYou Lost! Your number %d was lower than the AI's number %d" % (cardChoosen, AINumber))
        print("\nAI scored %d points" % (AINumber - cardChoosen))
        AIPoints = AIPoints + (AINumber - cardChoosen)
        startGame()
    else:
        print("\nYou tied with the AI! Your number %d was the same as the AI's number %d" % (cardChoosen, AINumber))
        print("\nNobody scored points!")
        startGame()

My_Deck = []
roundNumber = 0
AIPoints = 0
PlayerPoints = 0
instructions()
getUserInput()

相关问题 更多 >