-1

I'm remastering the bot by my self and I'm stuck! This is a code which prompts the user to select how many cards they get from the options of

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()

But when they choose how many cards they want it does stay into affect after the definition is over. I want the Players card range to continue in a different defined area. Here:

def Game():
    global roundNumber, MyDeck, PlayersCards
    import random
    Select = PlayersCards
    roundNumber = roundNumber + 1
    print("Round %d!") % (roundNumber)
    if(roundNumber == 1) or (roundNumber < 15):
        PlayersCards = random.randint(1, 50)
        MyDeck.append(PlayersCards)
        print("Here are your cards")
        print(MyDeck)
        print("Select a card")

But It wont continue on past the

def Cards():

How Can I make it so that the PlayersCard == range(1,7) Continues on regardless of what definition it is in?

1 Answers1

1

I think this code works as you require:

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()
Sash Sinha
  • 18,743
  • 3
  • 23
  • 40