Blackjack simples para estudo de iniciantes em Python
Publicado por David Wilian Oliveira de Sousa (última atualização em 23/09/2011)
[ Hits: 14.272 ]
Homepage: http://respostasaoateismo.blogspot.com
Esse código é apenas uma adaptação do script que encontrei aqui no site, e estava escrito em C.
http://www.vivaolinux.com.br/script/Blackjack-simples-para-estudo-de-iniciantes-em-C
Não sei se ficou tão bom, quem quiser baixar e testar fique à vontade.
Abraços
#!/usr/bin/python
import os #Necessário para limpar a tela
import random #Necessário para utilizar a função random
import time #Necessário para utilizar a função sleep
#Variáveis que armazenam as opções dos jogadores em relação ao jogo.
opjogo = 0
jogada = 0
totalj = 0
totalc = 0
#Variáveis da jogada atual e do total de pontos.
total1 = 0
total2 = 0
print("Bem Vindo ao BlackJack em Python!! \n")
opjogo =input("Quantos jogadores participarão da partida? \n")
if opjogo == '1':
#Vez do usuário.
opjogo='S';
os.system('clear')
print("Você tem que fazer 21 pontos para ganhar, porém sem estourar esse limite, podendo parar após cada jogada.\n");
print
totalj=0
while opjogo=='s' or opjogo=='S': #Laço que deixa as jogadas a critério do usuário.
opjogo = input("Deseja fazer a jogada?[S/N] \n")
if opjogo=='n' or opjogo=='N':
break
jogada= random.randint(1,10) #Gera números aleatórios de 1 até 10.
totalj=(totalj+jogada)
if totalj >= 21:
break
print
print("Você tirou {0} e até agora marcou {1} pontos.\n".format(jogada,totalj))
print
print("Você marcou {0} pontos, vamos ver o computador...\n".format(totalj))
#Vez do Computador
print("Agora é minha vez de jogar. Vejo que você fez {0} pontos...\n".format(totalj))
totalc=0
while (totalc < 21):
jogada= random.randint(1,10) #Gera números aleatórios de 1 até 10.
totalc=(totalc+jogada)
if totalj > 21:
break
print("Tirei {0} pontos e pretendo continuar jogando, pois ainda estou com {1}.\n".format(jogada,totalc))
time.sleep(1.2)
print
print("O jogador terminou com {0} pontos e o computador com {1} pontos, portanto...".format(totalj,totalc))
if totalj == 21:
print("O jogador ganhou, fazendo os gloriosos 21 pontos =D...\n")
elif totalc == 21:
print("O computador ganhou, fazendo os gloriosos 21 pontos =D...\n")
elif totalc > 21 and totalj <= 21:
print("O computador tem um número maior de pontos do que é permitido...O jogador vence.\n")
elif totalj > 21 and totalc <= 21:
print("O jogador tem um número maior de pontos do que é permitido...O computador vence.\n")
elif 21 - totalc > 21 - totalj:
print("O computador vence por estar mais perto de 21.\n")
elif 21 - totalc < 21 - totalj:
print("O jogador vence por estar mais perto de 21.\n")
print
if opjogo=='2':
print("O jogo funciona por turnos, cada jogador terá sua vez e decidirá o que fazer...\n")
#Vez do jogador número 1.
opjogo='S'
os.system('clear')
print("Você tem que fazer 21 pontos para ganhar, porém sem estourar esse limite, podendo parar após cada jogada.\n")
print
totalj=0
while opjogo=='s' or opjogo=='S': #Laço que deixa as jogadas a critério do usuério.
opjogo = input("Deseja fazer a jogada?[S/N] \n")
if opjogo=='n' or opjogo=='N':
break
jogada= random.randint(1,10) #Gera números aleatórios de 1 até 10.
total1=(total1+jogada)
if totalj >= 21:
break
print
print("Você tirou {0} e até agora marcou {1} pontos.\n".format(jogada,totalj))
print
#Vez do jogador número 2.
opjogo='S'
os.system('clear')
print("Você tem que fazer 21 pontos para ganhar, porém sem estourar esse limite, podendo parar após cada jogada.\n")
print("Cuidado, pois o jogador 1 marcou {0} pontos".format(total1))
print
totalj=0
while opjogo=='s' or opjogo=='S': #Laço que deixa as jogadas a critério do usuário.
opjogo = input("Deseja fazer a jogada?[S/N] \n")
if opjogo=='n' or opjogo=='N':
break
jogada= random.randint(1,10) #Gera números aleatórios de 1 até 10.
total2=(total2+jogada)
if total2 >= 21:
break
print
print("Você tirou {0} e até agora marcou {1} pontos.\n".format(jogada,total2))
print("O jogador 1 terminou com {0} pontos e o jogador 2 com {1} pontos, portanto...".format(total1,total1))
if total1 == 21:
print("O jogador 1 ganhou, fazendo os gloriosos 21 pontos =D...\n")
elif total2 == 21:
print("O computador ganhou, fazendo os gloriosos 21 pontos =D...\n")
elif total2 > 21 and total1 <= 21:
print("O computador tem um número maior de pontos do que é permitido...O jogador vence.\n")
elif total1 > 21 and total2 <= 21:
print("O jogador tem um número maior de pontos do que é permitido...O computador vence.\n")
elif total1==total2:
print("Houve um empate...")
elif 21 - total2 > 21 - total1:
print("O jogador 2 vence por estar mais perto de 21.\n")
else:
print("O jogador 1 vence por estar mais perto de 21.\n")
print
else:
print("O máximo de jogadores permitidos é de 2 \n")
Script para calcular indice de massa corporal
Calculo da area de um triangulo (introdutório)
Nenhum comentário foi encontrado.
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?
Warcraft II Remastered no Linux? (5)
O programa assinador digital (5)









