Blackjack simples para estudo de iniciantes em Python
Publicado por David Wilian Oliveira de Sousa (última atualização em 23/09/2011)
[ Hits: 14.176 ]
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")
Usando for no shell do python =)
Calculo da area de um triangulo (introdutório)
Script voltado a resolução da equação de estado dos gases reais
Nenhum coment�rio foi encontrado.
Atualizando o Passado: Linux no Lenovo G460 em 2025
aaPanel - Um Painel de Hospedagem Gratuito e Poderoso
O macete do Warsaw no Linux Mint e cia
Um modo leve de ouvir/ver áudio/vídeo da internet em máquinas pererecas
Resolver algumas mensagens de erro do SSH
Instalar módulo de segurança do Banco do Brasil Warsaw do tipo .run
Sem espaço na partição home (1)
O que você está ouvindo agora? [2] (190)
Procrastinação e autossabotagem são problemas muito comuns na sociedad... (5)
warsaw parou de funcionar após atualização do sistema (solução) (10)