2016-05-15 2 views
-1

Je remastérise le bot par moi-même et je suis coincé! Ceci est un code qui invite l'utilisateur à sélectionner le nombre de cartes qu'ils obtiennent des optionsPython: COT GAME BOT - Remasterisation (Comment faire pour qu'une ligne continue quel que soit l'endroit où elle se trouve?)

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

Mais quand ils choisissent combien de cartes ils le veulent ne reste en effet qu'après la définition est terminée. Je souhaite que la gamme de cartes Players continue dans une zone définie différente. Ici:

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

Mais il continue coutume sur le passé

def Cards():

Comment puis-je faire en sorte que la PlayersCard == gamme (1,7) continue quel que soit le Dans quelle définition est-il?

+1

Qu'est-ce que le code faites maintenant et ce que vous voulez qu'il fasse – Keatinge

+0

Si vous voulez 9 nombres aléatoires, puis 'My_card_list = [random.randint (1, 100) pour x dans la plage (9)] '. Sinon, demandez-vous comment indexer une liste? –

+0

https://gyazo.com/7f4ba8f49fcb1702df236a6310b30e19 Voici mon code. J'essaie de faire en sorte que lorsque le joueur choisit l'un des 9 nombres aléatoires qu'il a, il ne tape pas le nombre le plus élevé auquel il peut penser – BradTheBrutalitist

Répondre

1

Je pense que ce code fonctionne comme vous avez besoin:

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

merci l'homme je l'apprici – BradTheBrutalitist

+0

J'ai besoin d'aide j'ai corrigé le code que vous m'avez donné et cela fonctionne jusqu'à présent, mais , Je les points ne seront pas ajouter :( – BradTheBrutalitist

+0

Les points s'additionnent maintenant mais je ne vais pas ajouter le code pour votre dernière exigence d'utiliser le même deck jusqu'à ce que vous acceptez ma réponse – shash678