Advertisement
andre373

Script Jogo da Velha

Sep 14th, 2016
230
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 9.98 KB | None | 0 0
  1. # Script desenvolvido com python 3.5 que simula o famoso jogo da velha!
  2. # Criado por: André Luis
  3. # Version: 1.0 Beta
  4. # Qualquer crítica será bem vinda
  5. # Código iniciante, desconsiderem o tamanho.
  6. ################################################################################################################
  7.  
  8. import os
  9.  
  10. um = "1"
  11. dois = "2"
  12. tres = "3"
  13. quatro = "4"
  14. cinco = "5"
  15. seis = "6"
  16. sete = "7"
  17. oito = "8"
  18. nove = "9"
  19. jogador_um = []
  20. jogador_dois = []
  21. jog_um = 0
  22. jog_dois = 0
  23.  
  24.  
  25. def mensagem(mens):
  26.     c = mens
  27.     print("="*31)
  28.     print("%s"%c.center(30))
  29.     print("="*31)
  30. def vencedor ():
  31.     ''' Função responsável por ver o ganhador....'''
  32.     global jog_um, jog_dois
  33.     if um == dois and um == tres:
  34.         impressao()
  35.         if z == 2: #Variavel global vindo da função main
  36.             mensagem("jogador Um ganhou!!")
  37.             jog_um+=1 # contador do placar!
  38.             print("Jogador Um %d X %d Jogador Dois\n"%(jog_um,jog_dois))
  39.             novo_jogo()
  40.         else:
  41.             mensagem("jogador Dois ganhou!!")
  42.             jog_dois+=1
  43.             print("Jogador Um %d X %d Jogador Dois\n"%(jog_um,jog_dois))
  44.             novo_jogo()
  45.     elif quatro == cinco and quatro == seis:
  46.         impressao()
  47.         if z == 2:
  48.             mensagem("jogador Um ganhou!!")
  49.             jog_um+=1
  50.             print("Jogador Um %d X %d Jogador Dois\n"%(jog_um,jog_dois))
  51.             novo_jogo()
  52.         else:
  53.             mensagem("jogador Dois ganhou!!")
  54.             jog_dois+=1
  55.             print("Jogador Um %d X %d Jogador Dois\n"%(jog_um,jog_dois))
  56.             novo_jogo()
  57.     elif sete == oito and sete == nove:
  58.         impressao()
  59.         if z == 2:
  60.             mensagem("jogador Um ganhou!!")
  61.             jog_um+=1
  62.             print("Jogador Um %d X %d Jogador Dois\n"%(jog_um,jog_dois))
  63.             novo_jogo()
  64.         else:
  65.             mensagem("jogador Dois ganhou!!")
  66.             jog_dois+=1
  67.             print("Jogador Um %d X %d Jogador Dois\n"%(jog_um,jog_dois))
  68.             novo_jogo()
  69.     elif um == quatro and um == sete:
  70.         impressao()
  71.         if z == 2:
  72.             mensagem("jogador Um ganhou!!")
  73.             jog_um+=1
  74.             print("Jogador Um %d X %d Jogador Dois\n"%(jog_um,jog_dois))
  75.             novo_jogo()
  76.         else:
  77.             mensagem("jogador Dois ganhou!!")
  78.             jog_dois+=1
  79.             print("Jogador Um %d X %d Jogador Dois\n"%(jog_um,jog_dois))
  80.             novo_jogo()
  81.     elif dois == cinco and dois == oito:
  82.         impressao()
  83.         if z == 2:
  84.             mensagem("jogador Um ganhou!!")
  85.             jog_um+=1
  86.             print("Jogador Um %d X %d Jogador Dois\n"%(jog_um,jog_dois))
  87.             novo_jogo()
  88.         else:
  89.             mensagem("jogador Dois ganhou!!")
  90.             jog_dois+=1
  91.             print("Jogador Um %d X %d Jogador Dois\n"%(jog_um,jog_dois))
  92.             novo_jogo()
  93.     elif tres == seis and tres == nove:
  94.         impressao()
  95.         if z == 2:
  96.             mensagem("jogador Um ganhou!!")
  97.             jog_um+=1
  98.             print("Jogador Um %d X %d Jogador Dois\n"%(jog_um,jog_dois))
  99.             novo_jogo()
  100.         else:
  101.             mensagem("jogador Dois ganhou!!")
  102.             jog_dois+=1
  103.             print("Jogador Um %d X %d Jogador Dois\n"%(jog_um,jog_dois))
  104.             novo_jogo()
  105.     elif um == cinco and um == nove:
  106.         impressao()
  107.         if z == 2:
  108.             mensagem("jogador Um ganhou!!")
  109.             jog_um+=1
  110.             print("Jogador Um %d X %d Jogador Dois\n"%(jog_um,jog_dois))
  111.             novo_jogo()
  112.         else:
  113.             mensagem("jogador Dois ganhou!!")
  114.             jog_dois+=1
  115.             print("Jogador Um %d X %d Jogador Dois\n"%(jog_um,jog_dois))
  116.             novo_jogo()
  117.     elif tres == cinco and tres == sete:
  118.         impressao()
  119.         if z == 2:
  120.             mensagem("jogador Um ganhou!!")
  121.             jog_um+=1
  122.             print("Jogador Um %d X %d Jogador Dois\n"%(jog_um,jog_dois))
  123.             novo_jogo()
  124.         else:
  125.             mensagem("jogador Dois ganhou!!")
  126.             jog_dois+=1
  127.             print("Jogador Um %d X %d Jogador Dois\n"%(jog_um,jog_dois))
  128.             novo_jogo()
  129.  
  130. def impressao():
  131.     ''' Função para impressão do jogo na tela!!! '''
  132.     global um, dois, tres, quatro, cinco, seis, sete, oito, nove, jog_um, jog_dois
  133.     print()
  134.     print("Versão 1.0".rjust(31))
  135.     print("="*31)
  136.     print("Placar".center(28))
  137.     print("-"*31)
  138.     print("Jogador Um %d X %d Jogador Dois"%(jog_um,jog_dois))
  139.     print("="*31,"\n")
  140.     print("  %s  |  %s  |  %s\n_____|_____|_____\n  %s  |  %s  |  %s\n_____|_____|_____\n  %s  |  %s  |  %s\n     |     |   "
  141.     %(um, dois, tres, quatro, cinco, seis, sete, oito, nove),"\n")
  142.     jogadas()
  143.  
  144. def troca_um():
  145.     ''' Função responsavel por trocar a casa escolhida pelo X do jogador UM'''
  146.     global jogador_um, jogador_dois, um, dois, tres, quatro, cinco, seis, sete, oito, nove, casa
  147.     jogador_um.sort()
  148.     jogador_um.append(casa)
  149.     if casa == 1:
  150.         um = um.replace("1","X")
  151.     elif casa == 2:
  152.         dois = dois.replace("2","X")
  153.     elif casa == 3:
  154.         tres = tres.replace("3","X")
  155.     elif casa == 4:
  156.         quatro = quatro.replace("4","X")
  157.     elif casa == 5:
  158.         cinco = cinco.replace("5","X")
  159.     elif casa == 6:
  160.         seis = seis.replace("6","X")
  161.     elif casa == 7:
  162.         sete = sete.replace("7","X")
  163.     elif casa == 8:
  164.         oito = oito.replace("8","X")
  165.     elif casa == 9:
  166.         nove = nove.replace("9","X")
  167.  
  168. def troca_dois():
  169.     ''' Função responsavel por trocar a casa escolhida pelo # do jogador Dois'''
  170.     global jogador_um, jogador_dois, um, dois, tres, quatro, cinco, seis, sete, oito, nove, casa
  171.     jogador_dois.sort()
  172.     jogador_dois.append(casa)
  173.     if casa == 1:
  174.         um = um.replace("1","#")
  175.     elif casa == 2:
  176.         dois = dois.replace("2","#")
  177.     elif casa == 3:
  178.         tres = tres.replace("3","#")
  179.     elif casa == 4:
  180.         quatro = quatro.replace("4","#")
  181.     elif casa == 5:
  182.         cinco = cinco.replace("5","#")
  183.     elif casa == 6:
  184.         seis = seis.replace("6","#")
  185.     elif casa == 7:
  186.         sete = sete.replace("7","#")
  187.     elif casa == 8:
  188.         oito = oito.replace("8","#")
  189.     elif casa == 9:
  190.         nove = nove.replace("9","#")
  191.  
  192. def jogadas():
  193.     ''' Controle para o jogador um não passar de 5 jogadas! Máximo logico'''
  194.     if len(jogador_um)>=5:
  195.         mensagem("Ninguém Ganhou!")
  196.         print("Jogador Um %d X %d Jogador Dois\n"%(jog_um,jog_dois))
  197.         novo_jogo()
  198. def get_casa():
  199.     try:
  200.         #Funçao controladora de todas as entradas...
  201.         # Evitando espaço em branco, letras, mais de um digito!!!
  202.         global casa, casa_string
  203.         print("="*10,"jogador %d" %z,"="*10)
  204.         casa_string = input("Digite o numero da casa : ")
  205.     #############################################################
  206.         while casa_string.isalpha() == True:
  207.             print("Apenas numeros!")
  208.             casa_string = input("Digite o numero da casa : ")
  209.             while casa_string == '':
  210.                 casa_string = input("Digite o numero da casa :")
  211.     #############################################################
  212.         casa = int(casa_string)
  213.         while casa <= 0 or casa > 9:
  214.             print("Invalido!")
  215.             casa_string = input("Digite o numero da casa : ")
  216.             casa = int(casa_string)
  217.             while casa_string == '':
  218.                 casa_string = input("Digite o numero da casa : ")
  219.         while casa_string.isalpha() == True:
  220.             print("Apenas numeros!")
  221.             casa_string = input("Digite o numero da casa : ")
  222.         while casa_string == '':
  223.             casa_string = input("Digite o numero da casa : ")
  224.     #############################################################
  225.         casa = int(casa_string)
  226.         while casa in jogador_um or casa in jogador_dois:
  227.             print("Casa Cheia")
  228.             print("="*31)
  229.             casa_string = input("Digite o numero da casa : ")
  230.             casa = int(casa_string)
  231.         while casa_string == '':
  232.             casa_string = input("Digite o numero da casa : ")
  233.     #############################################################
  234.         while casa_string.isalpha() == True:
  235.             print("Apenas numeros!")
  236.             casa_string = input("Digite o numero da casa : ")
  237.             while casa_string == '':
  238.                 casa_string = input("Digite o numero da casa : ")
  239.     #############################################################
  240.             return casa(int(casa_string))
  241.     except ValueError:
  242.         get_casa()
  243.  
  244. def main():
  245.     '''Função inicial!'''
  246.     global casa, jogador_um, jogador_dois, z, casa, casa_string
  247.     x=0
  248.     while x < 5:
  249.         for z in range(1,3):
  250.             os.system("clear")
  251.             impressao()
  252.             vencedor()
  253.             get_casa()
  254.             if z == 1:
  255.                 troca_um()
  256.             elif z == 2:
  257.                 troca_dois()
  258.         x+=1
  259.  
  260. def novo_jogo():
  261.     '''Escolhendo um novo jogo ou sair!!!'''
  262.     global um, dois, tres, quatro, cinco, seis, sete, oito, nove,jogador_um, jogador_dois, jog_um, jog_dois
  263.     print("[N] - Para Novo Jogo\n[S] - Para sair")
  264.     opcao = input("Escolha a opção: ").lower()
  265.     while True:
  266.         if opcao == "n":
  267.             os.system("clear")
  268.             um = "1"
  269.             dois = "2"
  270.             tres = "3"
  271.             quatro = "4"
  272.             cinco = "5"
  273.             seis = "6"
  274.             sete = "7"
  275.             oito = "8"
  276.             nove = "9"
  277.             jogador_um = []
  278.             jogador_dois = []
  279.             main()
  280.         elif opcao == "s":
  281.             if jog_um > jog_dois:
  282.                 mensagem("Parabéns Jogador Um")
  283.             elif jog_dois > jog_um:
  284.                 mensagem("Parabéns Jogador Dois")
  285.             else:
  286.                 print("Ninguém ganhou!")
  287.             exit()
  288.         else:
  289.             print("opção invalida")
  290.             opcao = input("Escolha a opção: ".lower())
  291.  
  292.  
  293.  
  294. main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement