Jogo blackjack em python.

402 views
Skip to first unread message

Fillipe Santos

unread,
Jun 18, 2017, 6:54:00 AM6/18/17
to Python Brasil
Boa noite galera!!

Então, estou fazendo um "blackjack em python ", mas estou encontrando alguns problemas e gostaria de ajuda!!

1° problema que encontrei: Preciso que o programa pergunte a cada jogador se ele "quer mais carta", pensei em uma solução e saiu (Uma parte do programa vai está no final da mensagem). Porem, não estou conseguindo fazer isso de forma que pergunte a cada um por vez; é preciso esperar o jogador pedir não pedir cartar pra perguntar ao outro jogador;

2°problema: Se em determinado ponto da partida todos os jogadores não quiserem carta. Como faço pra voltar a pedir carta para o primeiro jogador;.

Bem essas são minhas dúvidas até o momento

Segue uma parte do programa que pensei:

import random
baralho=list('123456789JQKA'*4)
random.shuffle(baralho)
valores={'2':2,'3':3, '4':4,'5':5,'6':6,'7':7,'8':8,'9':9,
         'Q':10,'J':10,'A':1,'K':10}
naipe1=[]
naipe2=[]
naipe3=[]

jogador1=input("Qual é seu nome, jogador 1?: ")
jogador2=input("Qual é seu nome,jogador 2?: ")
inicial1=random.randint(1,49)
inicial2=random.randint(1,49)
inicial3=random.ramdint(1,49)
C1=baralho[inicial1]
C2=baralho[inicial2]
C3=baralho[inicial3]
naipe1.append(C1)
naipe2.append(C2)

print()
print()
print("Ok, Agora vamos começar!")
print()
escolha=""
while escolha!="n":
    embaralha2=random.randint(1,49)
    carta2= baralho[embaralha2]
    naipe1.append(carta2)
    print("Naipe de "+str(jogador2)+" :"+str(naipe2))
    print("Naipe de "+str(jogador1)+" :"+str(naipe1))
    escolha=input('Quer mais carta '+str(jogador1)+ "[s/n]: ")
    if escolha=="n":
        escolha2=""
        while escolha2!="n":
            embaralha3=random.randint(1,49)
            carta3=baralho[embaralha3]
            naipe2.append(carta3)
            print (naipe2)
            escolha2=input("Vez do "+str(jogador2)+".Quer carta "+str(jogador2)+"?:[s/n]: ")
        if escolha2=="n":
            print("okay")

helpzinho aii!! 

obs(se eu estiver pecando em alguma regra do blackjack poderia me falar tbm?)

Obrigado"

Renzo Nuccitelli

unread,
Jun 18, 2017, 12:03:02 PM6/18/17
to Python Brasil
vc tem que dividir o problema em partes:

Vc pode ria ter um loop assim:

while True:
     rodar_jogo():
     if deseja_jogar_novamente():
           break

print('Fim de jogo')

Então na função rodar_jogo vc implementa o jogo em si, até que ninguém peça mais cartas ou todo mundo estoure o limite.

A função deseja_jogar_novamente é simples:

def deseja_jogar_novamente:
      return input('Deseja jogar novamente: digite "s"  para sim ou "n" para não').lower() == 's'



--
--
------------------------------------
Grupo Python-Brasil
http://www.python.org.br/wiki/AntesDePerguntar
 
<*> Para visitar o site do grupo na web, acesse:
http://groups.google.com/group/python-brasil
 
<*> Para sair deste grupo, envie um e-mail para:
python-brasi...@googlegroups.com

---
Você recebeu essa mensagem porque está inscrito no grupo "Python Brasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para python-brasi...@googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.
--
Renzo Nuccitelli

Eu leio email somente uma vez por dia. Se o assunto for urgente, me ligue.


Renzo Nuccitelli

unread,
Jun 18, 2017, 12:03:54 PM6/18/17
to Python Brasil
Corrigindo:

while True:
     rodar_jogo():
     if not  deseja_jogar_novamente():
           break


Fillipe Santos

unread,
Jun 18, 2017, 12:28:34 PM6/18/17
to Python Brasil
Mas eu tenho que fazer essa função para cada um dos jogadores(que  no meu caso são 2)? Outra obs: Como eu coloco essa função ai, onde já está esse programa? Faço ele no meio, no fim...?? A sua dica é boa!!!

Renzo Nuccitelli

unread,
Jun 18, 2017, 1:00:04 PM6/18/17
to Python Brasil

Na função rodar jogo vc poderia ter um rodar_jogador(1)

Que executa a logica para cada jogador. Assi. Vc poderia ate ter um numero maior de jogadores. Onde fica a funcao cabe a vc. Eu costumo colocar no inicio do arquivo e depoos utilizar no __main__


--
--
------------------------------------
Grupo Python-Brasil
http://www.python.org.br/wiki/AntesDePerguntar
 
<*> Para visitar o site do grupo na web, acesse:
http://groups.google.com/group/python-brasil
 
<*> Para sair deste grupo, envie um e-mail para:
python-brasi...@googlegroups.com

---
Você recebeu essa mensagem porque está inscrito no grupo "Python Brasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para python-brasi...@googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.
Reply all
Reply to author
Forward
0 new messages