Linux slogan
Visite também: Segurança Linux · BR-Linux.org · Dicas-L · Doode · NoticiasLinux · SoftwareLivre.org · UnderLinux



» Screenshot
Linux: XFCE 4.6 UBUNTU 10.04 X64
Por fabioxxxx
» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha



Scripts

Linux user

Publicado por RCAA em 08/01/2009    [ 4645 hits ]

Login: mysosmadeofslack, 5179 pontos

   


Descrição

Este script calcula a probabilidade de se vencer em um jogo de poker Texas Hold'em contra somente um adversário.

O script só funciona em velocidade aceitável se houver um número suficiente de informações. No meu poderoso duron 750mhz ele faz mais ou menos 100 "iterações" por segundo.

A princípio eu tentei fazer com orientação a objetos, mas não deu certo... Por favor, caso alguém tenha alguma sugestão de melhoria de desempenho me comunique!

[ Download: lpoker.py ]   [ Enviar nova versão ]

[ Esconder código-fonte ]

#!/usr/bin/python
#-*- coding: iso8859-1 -*-

#Por RCAA (mySOsMADEofSLACK)

#
#   29/12/08 -> Início
#   30/12~2/12 -> Reveillon xD
#   04/01/09 -> Terminado o Grosso
#   05/01/09 - > Ajustes finais
#   06/01/09 -> (Bug fixes e) Versão atual
#

def showcd(card):#Mostra uma carta de um modo mais intuitivo
   naipes=["Ouros","Paus","Copas","Espadas"]
   valores=["inv","inv","2","3","4","5","6","7","8","9","10","Valete","Dama","Rei","Ás"]
   return valores[card[0]] + " de " + naipes[card[1]]

def drwcd(deck,num=" "):#retira uma carta do baralho 'deck' escolhida pelo user, fazendo consistência de dados
   card=[-1,-1]
   while (not card in deck):
      while (card[0]<2 or card[0]>14):
         if card[0]!= -1: print "      Valor inválido, consulte a legenda!"
         try:
            card[0]=abs(int(raw_input("   Valor da"+num+"carta:")))
         except ValueError:
            print "      O valor deve ser um número conforme a legenda!"
      while card[1]<0 or card[1]>3:
         if card[1]!= -1: print "Valor inválido, consulte a legenda!"
         try:
            card[1]=abs(int(raw_input("   Naipe da"+num+"carta:")))
         except ValueError:
            print "      O valor deve ser um número conforme a legenda!"
      if not card in deck:
         print "      A carta "+showcd(card)+" já foi escolhida, escolha outra:"
         card=[-1,-1]
   deck.remove(card)
   return card

def perg(texto,t_resp,numerica=1):#faz uma pergunta 'texto', sem aceitar resposta diferente de um item de t_resp
   resp=-1
   while not resp in t_resp:
      if resp!=-1: print "Resposta Inválida..."
      print texto
      if numerica==1:
         try:
            resp = int(raw_input())
         except ValueError:
            resp=-2
      else:
         try:
            resp = raw_input()
         except ValueError:
            pass
   return resp

def is_stflu(cards):#Verifica se um dado conjunto ordenado 'cards' de tamanho 5 é um straight flush
   if (cards[0][1]==cards[1][1]==cards[2][1]==cards[3][1]==cards[4][1]) and (cards[0][0]+4==cards[1][0]+3==cards[2][0]+2==cards[3][0]+1==cards[4][0]):
      return 1
   if (cards[0][1]==cards[1][1]==cards[2][1]==cards[3][1]==cards[4][1]) and (cards[4][0]-9==cards[0][0]+3==cards[1][0]+2==cards[2][0]+1==cards[3][0]):
      return 1
   return 0

def is_qua(cards):#Verifica se 'cards(5)'(ordenado) é uma quadra
   if (cards[0][0]==cards[1][0]==cards[2][0]==cards[3][0]) :
      return 1
   if (cards[1][0]==cards[2][0]==cards[3][0]==cards[4][0]) :
      return 1
   return 0

def is_ful(cards):#Verifica se 'cards(5)'(ordenado) é um full house
   if (cards[0][0]==cards[1][0]==cards[2][0] and cards[3][0]==cards[4][0]) :
      return 1
   if (cards[0][0]==cards[1][0] and cards[2][0]==cards[3][0]==cards[4][0]) :
      return 1
   return 0

def is_seq(cards):#Verifica se 'cards(5)'(ordenado) é uma sequencia (admite-se que não é um jogo maior que uma sequencia)
   if cards[0][0]+4==cards[1][0]+3==cards[2][0]+2==cards[3][0]+1==cards[4][0]:
      return 1
   if (cards[4][0]-9==cards[0][0]+3==cards[1][0]+2==cards[2][0]+1==cards[3][0]):
      return 1
   return 0

def is_flu(cards):#Verifica se 'cards(5)'(ordenado) é um flush (admite-se que não é um jogo maior que um flush)
   if cards[0][1]==cards[1][1]==cards[2][1]==cards[3][1]==cards[4][1]:
      return 1
   return 0

def is_tri(cards):#Verifica se 'cards(5)'(ordenado) é uma trinca (admite-se que não é um jogo maior que uma trinca)
   if cards[0][0]==cards[1][0]==cards[2][0]:
      return 1
   if cards[1][0]==cards[2][0]==cards[3][0]:
      return 1
   if cards[2][0]==cards[3][0]==cards[4][0]:
      return 1
   return 0

def is_twp(cards):#Verifica se 'cards(5)'(ordenado) são dois pares (admite-se que não é um jogo maior que dois pares)
   if cards[0][0]==cards[1][0] and cards[2][0]==cards[3][0]:
      return 1
   if cards[0][0]==cards[1][0] and cards[4][0]==cards[3][0]:
      return 1
   if cards[2][0]==cards[1][0] and cards[4][0]==cards[3][0]:
      return 1
   return 0

def is_par(cards):#Verifica se 'cards(5)'(ordenado) é um par (admite-se que não é um jogo maior que um par)
   for i in cards[:]:
      for j in cards[cards.index(i)+1:]:
         if i[0]==j[0]:
            return 1
   return 0

def is_nul(cards):#Verifica se 'cards(5)'(ordenado) é nada (admite-se que não é um jogo maior que nada, portanto esta função é quase inútil, resquiço de um rascunho anterior)
   return 1

def jogo(mao,mesa):#Determina qual é o melhor jogo possível combinando-se a 'mao' e a 'mesa', encontra também o high e kicker
   jogos=["nada","par","dois pares","trinca","seq","flush","full","quadra","s_flush"]#Isso pode ser retirado e talvez melhore a perfomance
   maior=-1
   cards=[-1,-1,-1,-1,-1]
   srted=[-1,-1,-1,-1,-1] #Senhor Ted
   hi=[[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1]]
   tudo=mao+mesa
   for cards[0] in tudo[:]:
      for cards[1] in tudo[tudo.index(cards[0])+1:]:
         for cards[2] in tudo[tudo.index(cards[1])+1:]:
            for cards[3] in tudo[tudo.index(cards[2])+1:]:
               for cards[4] in tudo[tudo.index(cards[3])+1:]:
                  srted=sorted(cards)
                  if maior<=jogos.index("s_flush"):#remover esta linha (vai dar trabalho)
                     if is_stflu(srted)==1:
                        if srted[3][0]==5 and srted[4][0]==14:
                           srted=[srted[4]]+srted[0:4]
                        if maior==jogos.index("s_flush"):
                           if hi[4][0]<srted[4][0]:
                              hi=srted[:]
                        else:
                           hi=srted[:]
                        maior = jogos.index("s_flush")
                     if maior<=jogos.index("quadra"):
                        if is_qua(srted)==1:
                           if maior==jogos.index("quadra"):
                              if srted[0][0]==srted[1][0]:
                                 if hi[4][0]<srted[0][0]:
                                    hi=[srted[4]]+srted[0:4]
                                 elif hi[4][0]==srted[0][0]:
                                    if hi[0][0]<srted[4][0]:
                                       hi=[srted[4]]+srted[0:4]
                              elif srted[3][0]==srted[4][0]:
                                 if hi[4][0]<srted[4][0]:
                                    hi=srted[:]
                                 elif hi[4][0]==srted[4][0]:
                                    if hi[0][0]<srted[0][0]:
                                       hi=srted[:]
                           else:
                              if srted[0][0]==srted[1][0]:
                                 hi=[srted[4]]+srted[0:4]
                              elif srted[3][0]==srted[4][0]:
                                 hi=srted[:]
                           maior = jogos.index("quadra")
                        if maior<=jogos.index("full"):
                           if is_ful(srted)==1:
                              if maior == jogos.index("full"):
                                 if srted[0][0]==srted[1][0]==srted[2][0]:
                                    if hi[4][0]<srted[0][0]:
                                       hi=srted[3:5]+srted[0:3]
                                    elif hi[4][0]==srted[0][0]:
                                       if hi[0][0]<srted[4][0]:
                                          hi=srted[3:5]+srted[0:3]
                                 elif srted[4][0]==srted[3][0]==srted[2][0]:
                                    if hi[4][0]<srted[4][0]:
                                       hi=srted[:]
                                    elif hi[4][0]==srted[4][0]:
                                       if hi[0][0]<srted[0][0]:
                                          hi=srted[:]
                              else:
                                 if srted[0][0]==srted[1][0]==srted[2][0]:
                                    hi=srted[3:5]+srted[0:3]
                                 if srted[4][0]==srted[3][0]==srted[2][0]:
                                    hi=srted[:]
                              maior = jogos.index("full")
                           if maior<=jogos.index("flush"):
                              if is_flu(srted)==1:
                                 if maior==jogos.index("flush"):
                                    if hi[4][0]<srted[4][0]:
                                       hi=srted[:]
                                    elif hi[3][0]<srted[3][0]:
                                       hi=srted[:]
                                    elif hi[2][0]<srted[2][0]:
                                       hi=srted[:]
                                    elif hi[1][0]<srted[1][0]:
                                       hi=srted[:]
                                    elif hi[0][0]<srted[0][0]:
                                       hi=srted[:]
                                 else:
                                    hi=srted[:]
                                 maior = jogos.index("flush")
                              if maior<=jogos.index("seq"):
                                 if is_seq(srted)==1:
                                    if srted[3][0]==5 and srted[4][0]==14:
                                       srted=[srted[4]]+srted[0:4]
                                    if maior==jogos.index("seq"):
                                       if hi[4][0]<srted[4][0]:
                                          hi=srted[:]
                                    else:
                                       hi=srted[:]
                                    maior = jogos.index("seq")
                                 if maior<=jogos.index("trinca"):
                                    if is_tri(srted)==1:
                                       if maior == jogos.index("trinca"):
                                          if srted[0][0]==srted[1][0]==srted[2][0]:
                                             if hi[4][0]<srted[0][0]:
                                                hi=srted[3:5]+srted[0:3]
                                             elif hi[4][0]==srted[0][0]:
                                                if hi[1]<srted[4]:
                                                   hi=srted[3:5]+srted[0:3]
                                                elif hi[1]==srted[4]:
                                                   if hi[0]<srted[3]:
                                                      hi=srted[3:5]+srted[0:3]
                                          elif srted[3][0]==srted[1][0]==srted[2][0]:
                                             if hi[4][0]<srted[1][0]:
                                                hi=[srted[0],srted[4]]+srted[1:4]
                                             elif hi[4][0]==srted[1][0]:
                                                if hi[1]<srted[4]:
                                                   hi=[srted[0],srted[4]]+srted[1:4]
                                                elif hi[1]==srted[4]:
                                                   if hi[0]<srted[0]:
                                                      hi=[srted[0],srted[4]]+srted[1:4]
                                          elif srted[3][0]==srted[4][0]==srted[2][0]:
                                             if hi[4][0]<srted[4][0]:
                                                hi=[srted[0],srted[1]]+srted[2:5]
                                             elif hi[4][0]==srted[4][0]:
                                                if hi[1]<srted[2]:
                                                   hi=[srted[0],srted[1]]+srted[2:5]
                                                elif hi[1]==srted[2]:
                                                   if hi[0]<srted[0]:
                                                      hi=[srted[0],srted[1]]+srted[2:5]
                                       else:
                                          if srted[0][0]==srted[1][0]==srted[2][0]:
                                             hi=srted[3:5]+srted[0:3]
                                          elif srted[3][0]==srted[1][0]==srted[2][0]:
                                             hi=[srted[0],srted[4]]+srted[1:4]
                                          elif srted[3][0]==srted[4][0]==srted[2][0]:
                                             hi=[srted[0],srted[1]]+srted[2:5]
                                       maior = jogos.index("trinca")
                                    if maior<=jogos.index("dois pares"):
                                       if is_twp(srted)==1:
                                          if maior==jogos.index("dois pares"):
                                             if srted[0][0]==srted[1][0] and srted[2][0]==srted[3][0]:
                                                if srted[0][0]>srted[2][0]:
                                                   if srted[0][0]>hi[4][0]:
                                                      hi=[srted[4]]+srted[2:4]+srted[0:2]
                                                   elif srted[0][0]==hi[4][0]:
                                                      if srted[2][0]>hi[2][0]:
                                                         hi=[srted[4]]+srted[2:4]+srted[0:2]
                                                      elif srted[2][0]==hi[2][0]:
                                                         if srted[4][0]>hi[0][0]:
                                                            hi=[srted[4]]+srted[2:4]+srted[0:2]
                                                else:
                                                   if srted[2][0]>hi[4][0]:
                                                      hi=[srted[4]]+srted[0:2]+srted[2:4]
                                                   elif srted[2][0]==hi[4][0]:
                                                      if srted[0][0]>hi[2][0]:
                                                         hi=[srted[4]]+srted[0:2]+srted[2:4]
                                                      elif srted[0][0]==hi[2][0]:
                                                         if srted[4][0]>hi[0][0]:
                                                            hi=[srted[4]]+srted[0:2]+srted[2:4]
                                             elif srted[0][0]==srted[1][0] and srted[4][0]==srted[3][0]:
                                                if srted[0][0]>srted[3][0]:
                                                   if srted[0][0]>hi[4][0]:
                                                      hi=[srted[2]]+srted[3:5]+srted[0:2]
                                                   elif srted[0][0]==hi[4][0]:
                                                      if srted[3][0]>hi[2][0]:
                                                         hi=[srted[2]]+srted[3:5]+srted[0:2]
                                                      elif srted[3][0]==hi[2][0]:
                                                         if srted[2][0]>hi[0][0]:
                                                            hi=[srted[2]]+srted[3:5]+srted[0:2]
                                                else:
                                                   if srted[3][0]>hi[4][0]:
                                                      hi=[srted[2]]+srted[0:2]+srted[3:5]
                                                   elif srted[3][0]==hi[4][0]:
                                                      if srted[0][0]>hi[2][0]:
                                                         hi=[srted[2]]+srted[0:2]+srted[3:5]
                                                      elif srted[0][0]==hi[2][0]:
                                                         if srted[2][0]>hi[0][0]:
                                                            hi=[srted[2]]+srted[0:2]+srted[3:5]
                                             elif srted[2][0]==srted[1][0] and srted[4][0]==srted[3][0]:
                                                if srted[1][0]>srted[3][0]:
                                                   if srted[1][0]>hi[4][0]:
                                                      hi=[srted[0]]+srted[3:5]+srted[1:3]
                                                   elif srted[1][0]==hi[4][0]:
                                                      if srted[3][0]>hi[2][0]:
                                                         hi=[srted[0]]+srted[3:5]+srted[1:3]
                                                      elif srted[3][0]==hi[2][0]:
                                                         if srted[0][0]>hi[0][0]:
                                                            hi=[srted[0]]+srted[3:5]+srted[1:3]
                                                else:
                                                   if srted[3][0]>hi[4][0]:
                                                      hi=[srted[0]]+srted[1:3]+srted[3:5]
                                                   elif srted[3][0]==hi[4][0]:
                                                      if srted[1][0]>hi[2][0]:
                                                         hi=[srted[0]]+srted[1:3]+srted[3:5]
                                                      elif srted[1][0]==hi[2][0]:
                                                         if srted[0][0]>hi[0][0]:
                                                            hi=[srted[0]]+srted[1:3]+srted[3:5]
                                          else:
                                             if srted[0][0]==srted[1][0] and srted[2][0]==srted[3][0]:
                                                if srted[0][0]>srted[2][0]:
                                                   hi=[srted[4]]+srted[2:4]+srted[0:2]
                                                else:
                                                   hi=[srted[4]]+srted[0:2]+srted[2:4]
                                             elif srted[0][0]==srted[1][0] and srted[4][0]==srted[3][0]:
                                                if srted[0][0]>srted[3][0]:
                                                   hi=[srted[2]]+srted[3:5]+srted[0:2]
                                                else:
                                                   hi=[srted[2]]+srted[0:2]+srted[3:5]
                                             elif srted[2][0]==srted[1][0] and srted[4][0]==srted[3][0]:
                                                if srted[1][0]>srted[3][0]:
                                                   hi=[srted[0]]+srted[3:5]+srted[1:3]
                                                else:
                                                   hi=srted[:]
                                          maior = jogos.index("dois pares")
                                       if maior<=jogos.index("par"):
                                          if is_par(cards)==1:
                                             if maior==jogos.index("par"):
                                                if srted[4][0]==srted[3][0]:
                                                   if srted[4][0]>hi[4][0]:
                                                      hi=srted[:]
                                                   elif srted[4][0]==hi[4][0]:
                                                      if srted[2][0]>hi[2][0]:
                                                         hi=srted[:]
                                                      elif srted[2][0]==hi[2][0]:
                                                         if srted[1][0]>hi[1][0]:
                                                            hi=srted[:]
                                                         elif srted[1][0]==hi[1][0]:
                                                            if srted[0][0]>hi[0][0]:
                                                               hi=srted[:]
                                                elif srted[3][0]==srted[2][0]:
                                                   if srted[3][0]>hi[4][0]:
                                                      hi=srted[0:2]+[srted[4]]+srted[2:4]
                                                   elif srted[3][0]==hi[4][0]:
                                                      if srted[4][0]>hi[2][0]:
                                                         hi=srted[0:2]+[srted[4]]+srted[2:4]
                                                      elif srted[4][0]==hi[2][0]:
                                                         if srted[1][0]>hi[1][0]:
                                                            hi=srted[0:2]+[srted[4]]+srted[2:4]
                                                         elif srted[1][0]==hi[1][0]:
                                                            if srted[0][0]>hi[0][0]:
                                                               hi=srted[0:2]+[srted[4]]+srted[2:4]
                                                elif srted[2][0]==srted[1][0]:
                                                   if srted[2][0]>hi[4][0]:
                                                      hi=[srted[0]]+srted[3:5]+srted[1:3]
                                                   elif srted[2][0]==hi[4][0]:
                                                      if srted[4][0]>hi[2][0]:
                                                         hi=[srted[0]]+srted[3:5]+srted[1:3]
                                                      elif srted[4][0]==hi[2][0]:
                                                         if srted[3][0]>hi[1][0]:
                                                            hi=[srted[0]]+srted[3:5]+srted[1:3]
                                                         elif srted[3][0]==hi[1][0]:
                                                            if srted[0][0]>hi[0][0]:
                                                               hi=[srted[0]]+srted[3:5]+srted[1:3]
                                                elif srted[1][0]==srted[0][0]:
                                                   if srted[1][0]>hi[4][0]:
                                                      hi=srted[2:5]+srted[0:2]
                                                   elif srted[1][0]==hi[4][0]:
                                                      if srted[4][0]>hi[2][0]:
                                                         hi=srted[2:5]+srted[0:2]
                                                      elif srted[4][0]==hi[2][0]:
                                                         if srted[3][0]>hi[1][0]:
                                                            hi=srted[2:5]+srted[0:2]
                                                         elif srted[3][0]==hi[1][0]:
                                                            if srted[2][0]>hi[0][0]:
                                                               hi=srted[2:5]+srted[0:2]
                                             else:
                                                if srted[4][0]==srted[3][0]:
                                                   hi=srted[:]
                                                elif srted[3][0]==srted[2][0]:
                                                   hi=srted[0:2]+[srted[4]]+srted[2:4]
                                                elif srted[2][0]==srted[1][0]:
                                                   hi=[srted[0]]+srted[3:5]+srted[1:3]
                                                elif srted[1][0]==srted[0][0]:
                                                   hi=srted[2:5]+srted[0:2]
                                             maior = jogos.index("par")
                                          if maior<=jogos.index("nada"):
                                             if is_nul(cards)==1:
                                                if srted[4][0]>hi[4][0]:
                                                   hi=srted[:]
                                                elif srted[4][0]==hi[4][0]:
                                                   if srted[3][0]>hi[3][0]:
                                                      hi=srted[:]
                                                   elif srted[3][0]==hi[3][0]:
                                                      if srted[2][0]>hi[2][0]:
                                                         hi=srted[:]
                                                      elif srted[2][0]==hi[2][0]:
                                                         if srted[1][0]>hi[1][0]:
                                                            hi=srted[:]
                                                         elif srted[1][0]==hi[1][0]:
                                                            if srted[0][0]>hi[0][0]:
                                                               hi=srted[:]
                                                maior = jogos.index("nada")
   return [maior]+hi


def print_cd(cards,legenda="",esp="",passo=1):#função mal-feita que imprime cartas
   d = {-1:"?    ",0:"Ouros", 1:"Paus ", 2:"Copas", 3:"Espad"}
   cartas = {-1:"?",2:"2", 3:"3", 4:"4", 5:"5", 6:"6", 7:"7", 8:"8", 9:"9", 10:"10", 11:"J", 12:"Q", 13:"K", 14:"A"}
   print
   if legenda!="":
      for i in range(len(cards)):
         print "%8.15s"%str(legenda[i]),
         if (i+1)%passo==0:
            print esp,
      print
   for i in range(len(cards)):
      print " ,_____,",
      if (i+1)%passo==0:
         print esp,
   print
   for i in range(len(cards)):
      print " |"+d[cards[i][1]]+"|",
      if (i+1)%passo==0:
         print esp,
   print
   for i in range(len(cards)):
      print " |     |",
      if (i+1)%passo==0:
         print esp,
   print
   for i in range(len(cards)):
      print " |%3.3s"% cartas[cards[i][0]]," |",
      if (i+1)%passo==0:
         print esp,
   print
   for i in range(len(cards)):
      print " |     |",
      if (i+1)%passo==0:
         print esp,
   print
   for i in range(len(cards)):
      print " |_____|",
      if (i+1)%passo==0:
         print esp,
   print

denovo=1
while denovo==1:
   dec= range(2,15,1)
   dec = dec + dec + dec +dec
   l = len(dec)
   i=0
   while i < l:
      dec[i]=[dec[i],i/13]
      i+=1
   
   #até aqui define o baralho: J=11 Q=12 K=13 As=14, naipes arbitrários
   conta=0
   mao=[[-1,-1],[-1,-1]]   #cartas na mão do jogador (deverá ser input)
   pl=[[-1,-1],[-1,-1]]      #cartas na mão do adversário (pode ou não ser input)
   tb=[[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1]]   #cartas da mesa (pode ou não ser input)
   ad_g=[]      #jogo do adversário
   pl_g=[]      #jogo do jogador
   respR=-1      #Já foi o river?
   respT=-1      #Já foi o turn?
   respF=-1      #já foi o Flop?
   respA=-1      #Sabe as cartas do adversário?
   poss=0      #total de possiblidades
   boa=0      #possibilidades vencedoras
   ruim=0      #possibilidades perdedoras
   tie=0      #possibilidades empatadoras
   ad_poss=[0,0,0,0,0,0,0,0,0]   #Possibilidades de jogo do adversário
   pl_poss=[0,0,0,0,0,0,0,0,0]   #Possibilidades de jogo do jogador
   jogos=["Nada","Um Par","Dois Pares","Trinca","Seqüência","Flush","Full House","Quadra","Straigh Flush"]
   
   print "LEGENDA:"
   print "números -> eles mesmos"
   print "J -> 11\nQ -> 12\nK -> 13\nA -> 14"
   print "Ouros -> 0\nPaus -> 1\nCopas -> 2\nEspadas -> 3"
   print
   print "Quais são suas cartas?"
   mao[0]=drwcd(dec," 1ª ")
   mao[1]=drwcd(dec," 2ª ")
   print
   print "Sua mão é: \"" + showcd(mao[0]) + "\" e \"" + showcd(mao[1]) + "\""
   print
   respA=perg("Você sabe as cartas do adversário? 1-sim 0-nao",range(2))
   if respA==1:
      print "Seu safado!"
      pl[0]=drwcd(dec," 1ª ")
      pl[1]=drwcd(dec," 2ª ")
      print
      print "A mão dele é: \"" + showcd(pl[0]) + "\" e \"" + showcd(pl[1]) + "\""
   print
   respF=perg("Já saiu o flop? 1-sim 0-nao",range(2))
   if respF==1:
      tb[2]=drwcd(dec," 1ª ")
      tb[3]=drwcd(dec," 2ª ")
      tb[4]=drwcd(dec," 3ª ")
      print
      print "O flop é: \"" + showcd(tb[2]) + "\", \"" + showcd(tb[3]) + "\" e \"" + showcd(tb[4]) + "\""
      print
      respT = perg("Já saiu o turn? 1-sim 0-nao",range(2))
      if respT==1:
         tb[1]=drwcd(dec)
         print
         print "O turn é: \"" + showcd(tb[1]) + "\""
         print
         respR = perg("Já saiu o river? 1-sim 0-nao",range(2))
         if respR==1:
            tb[0]=drwcd(dec)
            print
            print "O turn é: \"" + showcd(tb[0]) + "\""
            print
   
   print "Situação:"
   tb.reverse()
   print_cd(tb[:],["","Flop  ","","Turn  ","River "])
   print_cd(mao+pl,["  Sua mão","","  Mao dele",""],"\t      ",2)
   print
   print "Aguarde..."
   tb.reverse()
   dek = dec[:]
   if respT==-1:respT=0
   if respR==-1:respR=0
   #Faz a combinação e arranjo necessários
   for k in dec[:]:
      if respA==0: pl[0]=k
      dek=dec[:]
      for l in dek[dek.index(k)+1:]:
         dek=dec[:]
         if respA==0:
            pl[1]=l
            dek.remove(l)
            dek.remove(k)
         for m in dek[:]:
            if respR==0: tb[0]=m
            if respT==0:
               indice=dek.index(m)+1
            else:
               indice=0
            for n in dek[indice:]:
               if respT==0: tb[1]=n
               if respF==0:
                  indice=dek.index(n)+1
               else:
                  indice=0
               for p in dek[indice:]:
                  if respF==0:
                     tb[2]=p
                     indice=dek.index(p)+1
                  else:
                     indice=0
                  for q in dek[indice:]:
                     if respF==0:
                        tb[3]=q
                        indice=dek.index(q)+1
                     else:
                        indice=0
                     for r in dek[indice:]:
                        if respF==0: tb[4]=r
                        ad_g=jogo(pl,tb)
                        pl_g=jogo(mao,tb)
                        pl_poss[pl_g[0]]+=1
                        ad_poss[ad_g[0]]+=1
                        if pl_g[0]>ad_g[0]:
                           boa+=1
                        elif pl_g[0]<ad_g[0]:
                           ruim+=1
                        else:
                           i=5
                           while i >= 1:
                              if pl_g[i][0]>ad_g[i][0]:
                                 boa+=1
                                 i=-1
                              elif pl_g[i][0]<ad_g[i][0]:
                                 ruim+=1
                                 i=-1
                              i-=1
                           if i == 0 : tie+=1
                        conta+=1
                        if respF!=0: break
                     if respF!=0: break
                  if respF!=0: break
               if respT!=0: break
            if respR!=0: break
         if respA!=0: break
      if respA!=0: break
   print
   print "Possibilidades do Adversário:"
   for i in range(9):
      print "\t%13.13s:  %4.2f%%" % (jogos[i],ad_poss[i]/float(boa+ ruim+ tie)*100),
      if (i+1)%3==0:print
   print
   print "Possibilidades do Jogador:"
   for i in range(9):
      print "\t%13.13s:  %3.2f%%" % (jogos[i],pl_poss[i]/float(boa+ ruim+ tie)*100),
      if (i+1)%3==0:print
   print
   print "Chances de vitória:  %.2f%%" % (boa/float(boa+ ruim+ tie)*100)
   print "Chances de derrota: %.2f%%" % (ruim/float(boa+ ruim+ tie)*100)
   print "Chances de empate: %.2f%%" % (tie/float(boa+ ruim+ tie)*100)
   print
   denovo=perg("De novo? 1-Sim 0-Nao",range(2))

Scripts recomendados
   Script Linux recomendado Fazendo processos rodarem em background
   Script Linux recomendado Números Perfeitos
   Script Linux recomendado Troca de wallpaper temporizado para LXDE
   Script Linux recomendado Método de Bissecção
   Script Linux recomendado Tabuadas

Comentários
[1] Comentário enviado por k4mus em 08/01/2009 - 11:56h:

legal ^^ .vou testar aqui pra v ..


Contribuir com comentário


  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Responsável pelo site: Fábio Berbert de Paula - Conteúdo distribuído sob licença GNU FDL
Site hospedado por:

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.