2016-05-15 12 views
-1

Ich bin remastered den Bot von mir selbst und ich bin fest! Dies ist ein Code, der den Benutzer auffordert, zu wählen, wie viele Karten sie aus den Optionen erhalten vonPython: CARD GAME BOT - Remastering (Wie führst du eine Linie weiter, egal wo sie ist?)

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

Aber wenn sie entscheiden, wie viele Karten sie wollen es in sich bleiben beeinflussen nach Die Definition ist vorbei. Ich möchte, dass der Bereich der Spielerkarten in einem anderen definierten Bereich fortgesetzt wird. Hier:

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

aber es wird nicht weiter vorbei an den

def Cards():

Wie kann ich es machen, so dass die Spielkarte == Bereich (1,7) weiter auf, unabhängig davon, In welcher Definition ist es?

+1

Was den Code tut jetzt tun und was wollen Sie es – Keatinge

+0

tun Wenn Sie 9 Zufallszahlen wollen, dann 'My_card_list = [random.randint (1, 100) für x im Bereich (9)] '. Fragt man sonst, wie man eine Liste indiziert? –

+0

https://gyazo.com/7f4ba8f49fcb1702df236a6310b30e19 Hier ist mein Code. Ich versuche es so zu machen, wenn der Spieler eine der 9 Zufallszahlen wählt, die er hat, er tippt nicht einfach die höchste Zahl ein, die ihm einfällt – BradTheBrutalitist

Antwort

1

Ich denke, dieser Code funktioniert, wie Sie benötigen:

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

danke Mann, ich appriciate es – BradTheBrutalitist

+0

Ich brauche Hilfe Ich reparierte den Code, den Sie mir gab und es funktioniert so weit aber , Die Punkte addieren sich nicht :( – BradTheBrutalitist

+0

Die Punkte summieren sich jetzt, aber ich werde den Code für Ihre letzte Anforderung nicht hinzufügen, das gleiche Deck zu verwenden, bis Sie meine Antwort akzeptieren. – shash678