Sono molto nuovo in Python e ho cercato di creare un gioco di blackjack multigiocatore su Python per un po 'di tempo. Ho incontrato un sacco di problemi e mi chiedevo se voi poteste aiutarmi con loro.Creazione di un gioco di blackjack multigiocatore
import random
def total(hand):
aces = hand.count(11)
t = sum(hand)
if t > 21 and aces > 0:
while aces > 0 and t > 21:
t -= 10
aces -= 1
return t
Cards = ["2H", "3H", "4H", "5H", "6H", "7H", "8H", "9H", "2C", "3C", "4C", "5C", "6C", "7C", "8C", "9C", "10C", "2S", "3S", "4S", "5S", "6S", "7S", "8S", "9S", "10S", "2D", "3D", "4D", "5D", "6D", "7D", "8D", "9D", "10D", "AH", "JH", "QH", "KH", "AC", "JC", "QC", "KC", "AS", "JS", "QS", "KS", "AD", "JD", "QD", "KD"]
Cards[35] = 11
Cards[36] = 10
Cards[37] = 10
Cards[38] = 10
Cards[39] = 11
Cards[40] = 10
Cards[41] = 10
Cards[42] = 10
Cards[43] = 11
Cards[44] = 10
Cards[45] = 10
Cards[46] = 10
Cards[47] = 11
Cards[48] = 10
Cards[49] = 10
Cards[50] = 10
Players = raw_input("How many players are there?")
for i in range Players:
Player i = []
Player i.append(choice(Cards))
Player i.append(choice(Cards))
tp = total(player)
print "Player" + i + "Cards: " + Player i + "," + "total: " + tp
hitorstand = raw_input("hit (h) or stand (s)?")
if hitorstand == "h":
Player i.append(choice(cards))
print ("hit (h) or stand (s)?")
elif hitorstand == "s":
break
else print "Please enter h or s"
dealer = []
While True:
dealer.append(choice(cards))
dealer.append(choice(cards))
td = total(dealer)
while td > 17:
dealer.append(choice(cards))
else:
break
if td < tp < 21:
"Player i wins"
else print "dealer wins"
Questo è quello che ho finora. Capisco che ci sono un sacco di parole senza senso e codice che non funzionerà. Mi stavo chiedendo se voi ragazzi potete farmi sapere cosa c'è di sbagliato nel codice e magari suggerire alcune opzioni su come risolverlo.
mie principali preoccupazioni in questo momento:
Sto facendo un "multiplayer" gioco del blackjack. Non ho idea di come dovrei creare un loop per un gioco di blackjack multiplayer. Nel mio codice, ho chiesto quante persone stanno giocando. Come faccio a creare un ciclo per il gioco senza sapere quale sarà il numero ?
Inoltre, come posso creare una funzione per scoprire il vincitore senza sapere quanti giocatori stanno giocando?
Dopo digito
Players = raw_input("How many players are there?") for i in range Players:
Il
Players
nel ciclo for mi dà un errore di sintassi. Che c'è?
come aggiornamento, Ho pensato a quello che hai detto di fare una lista e io ancora non capisco come devo fare per fare un codice per scoprire il vincitore.
ad esempio
anche se io faccio una lista, se non so quanti giocatori sono in realtà giocando, non sarei in grado di confrontare gli elementi della lista. Se sapessi quante persone stavano giocando,
playerlist = [1,2,3]
posso dire
if playerlist[0] > playerlist[1], playerlist[2] and playerlist[0] < 21:
then print "player 1 wins!"
Ma siccome non voglio sapere quante persone stanno giocando fino a quando l'utente effettivamente tipi in ingresso, sono perduto su come dovrei scrivere il codice per il vincitore.
Non so se c'è un modo per dire "se questo è più grande del resto". So solo come dire "se questo è più grande di quello".
C'è un modo per dire "se questo è più grande del resto" in python? Se no, puoi darmi qualche suggerimento per fare il codice per scoprire il vincitore?
Dovrebbe essere "per i in gamma (Giocatori)', non 'per i giocatori in intervallo'. – Ryan
Cosa sono le domande del blackjack? http://stackoverflow.com/questions/11724954/how-do-i-separate-each-list-for-a-player-in-the-blackjack-game#comment15557653_11724954 – Benjamin