Advertisement
Guest User

intento1

a guest
Oct 29th, 2010
302
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 6.83 KB | None | 0 0
  1. from record import record
  2.  
  3. class Jugador(record):
  4.   nombre     = ''
  5.   puntaje    = 0.0
  6.  
  7.  
  8.  
  9.  
  10.  
  11. #Solicitar el nombre de los jugadores y guarda en un archivo record.txt
  12. def crea_jugador_cruz():
  13.   jugador1 = raw_input('Ingrese nombre del jugador representado por la cruz: ')
  14.   return Jugador(jugador1=jugador1)
  15.  
  16.  
  17. def crea_jugador_circulo():
  18.   jugador2 = raw_input('Ingrese nombre del jugador representado por el circulo: ')
  19.   return Jugador(jugador2=jugador2)
  20.  
  21.  
  22. def guardar_record(record):
  23.   f = open('record.txt', 'w')
  24.   for jugador in record.lista:
  25.     f.write(jugador.nombre + '\n')
  26.   f.close()
  27.  
  28.  
  29.  
  30.  
  31. #--------------------------------------------------------------------
  32.  
  33. def ponerFicha(jugador, lugar): #Esta funcion returna true si logra poner una x o una O en el triqui, de lo contrario retorna False
  34.    while 1:
  35.         if jugador == jugador1:
  36.         if (lugar == 1) and (triqui[0] == "."):    
  37.             triqui[0] = "X"
  38.             return True
  39.             break
  40.         elif (lugar == 2) and (triqui[1] == "."):
  41.             triqui[1] = "X"
  42.             return True
  43.             break
  44.         elif (lugar == 3) and (triqui[2] == "."):
  45.             triqui[2] = "X"
  46.             return True
  47.             break
  48.         elif (lugar == 4) and (triqui[3] == "."):
  49.             triqui[3] = "X"
  50.             return True
  51.             break
  52.         elif (lugar == 5) and (triqui[4] == "."):
  53.             triqui[4] = "X"
  54.             return True
  55.             break
  56.         elif (lugar == 6) and (triqui[5] == "."):
  57.             triqui[5] = "X"
  58.             return True
  59.             break
  60.         elif (lugar == 7) and (triqui[6] == "."):
  61.             triqui[6] = "X"
  62.             return True
  63.             break
  64.         elif (lugar == 8) and (triqui[7] == "."):
  65.             triqui[7] = "X"
  66.             return True
  67.             break
  68.         elif (lugar == 9) and (triqui[8] == "."):
  69.             triqui[8] = "X"
  70.             return True
  71.             break
  72.         else:
  73.             print "Movida Ilegal. La casilla esta ocupada o no existe."
  74.             return False
  75.             break
  76.         if jugador == jugador2:
  77.         if (lugar == 1) and (triqui[0] == "."):    
  78.             triqui[0] = "O"
  79.             return True
  80.             break
  81.         elif (lugar == 2) and (triqui[1] == "."):
  82.             triqui[1] = "O"
  83.             return True
  84.             break
  85.         elif (lugar == 3) and (triqui[2] == "."):
  86.             triqui[2] = "O"
  87.             return True
  88.             break
  89.         elif (lugar == 4) and (triqui[3] == "."):
  90.             triqui[3] = "O"
  91.             return True
  92.             break
  93.         elif (lugar == 5) and (triqui[4] == "."):
  94.             triqui[4] = "O"
  95.             return True
  96.             break
  97.         elif (lugar == 6) and (triqui[5] == "."):
  98.             triqui[5] = "O"
  99.             return True
  100.             break
  101.         elif (lugar == 7) and (triqui[6] == "."):
  102.             triqui[6] = "O"
  103.             return True
  104.             break
  105.         elif (lugar == 8) and (triqui[7] == "."):
  106.             triqui[7] = "O"
  107.             return True
  108.             break
  109.         elif (lugar == 9) and (triqui[8] == "."):
  110.             triqui[8] = "O"
  111.             return True
  112.             break
  113.         else:
  114.             print "Movida Ilegal. La casilla esta ocupada o no existe."
  115.             return False
  116.             break
  117.         break #break para el while principal
  118.    return
  119.  
  120. #---------------------------------------------------------
  121.  
  122. def muestraTablero(tablero):
  123.     """ Muestra el tablero"""
  124.     print "%s %s %s\n%s %s %s\n%s %s %s" % tuple(tablero)
  125.  
  126. #---------------------------------------------------------
  127.  
  128. def alguienGano(): #Revisa si alguien gano.
  129.     if (triqui[0]== X) and (triqui[1] == X) and (triqui[2] == X):
  130.         return jugador1
  131.     elif (triqui[0]== X) and (triqui[4] == X) and (triqui[8] == X):
  132.         return jugador1
  133.     elif (triqui[0]== X) and (triqui[3] == X) and (triqui[6] == X):
  134.         return jugador1
  135.     elif (triqui[1]== X) and (triqui[4] == X) and (triqui[7] == X):
  136.         return jugador1
  137.     elif (triqui[2]== X) and (triqui[4] == X) and (triqui[6] == X):
  138.         return jugador1
  139.     elif (triqui[2]== X) and (triqui[5] == X) and (triqui[8] == X):
  140.         return jugador1
  141.     elif (triqui[3]== X) and (triqui[4] == X) and (triqui[5] == X):
  142.         return jugador1
  143.    
  144.  
  145.     elif (triqui[0]== O) and (triqui[1] == O) and (triqui[2] == O):
  146.         return jugador2
  147.     elif (triqui[0]== O) and (triqui[4] == O) and (triqui[8] == O):
  148.         return jugador2
  149.     elif (triqui[0]== O) and (triqui[3] == O) and (triqui[6] == O):
  150.         return jugador2
  151.     elif (triqui[1]== O) and (triqui[4] == O) and (triqui[7] == O):
  152.         return jugador2
  153.     elif (triqui[2]== O) and (triqui[4] == O) and (triqui[6] == O):
  154.         return jugador2
  155.     elif (triqui[2]== O) and (triqui[5] == O) and (triqui[8] == O):
  156.         return jugador2
  157.     elif (triqui[3]== O) and (triqui[4] == O) and (triqui[5] == O):
  158.         return jugador2
  159.    
  160.     #Si llega hasta aqui es porque nadie ha ganado, revisar si hay empate
  161.     elif (triqui[0]!=".") and (triqui[1]!=".") and (triqui[2]!="."):
  162.         if (triqui[3]!=".") and (triqui[4]!=".") and (triqui[5]!="."):
  163.             if (triqui[6]!=".") and (triqui[7]!=".") and (triqui[8]!="."):
  164.                 return empate
  165.     else:                
  166.         return False
  167. #--------------------------------------------------------------------
  168.  
  169.  
  170. #--------------------------------------------------------------------
  171. #A jugar!
  172.  
  173.  
  174. def jugar():
  175.   #Valores de tablero:
  176.   X="X"
  177.   O="O"
  178.   empate = "empate"
  179.  
  180.   #Nueve puntos que representan el triqui
  181.   triqui = [".", ".", ".", ".", ".", ".", ".", ".", "."]
  182.  
  183.   #Para cambiar el jugadorActual
  184.   oponente = { jugador1:jugador2, jugador2:jugador1 }
  185.  
  186.  
  187.    print "Los numeros representan las casillas."
  188.    print "%d.%d.%d\n%d.%d.%d\n%d.%d.%d" % tuple(range(1, 10))
  189.    jugadorActual=jugador1 #Esta variable contiene el jugador que lleva el turno, siempre empieza jugador1
  190.  
  191.    while 1:  
  192.        while alguienGano()==False: #Mientras no hayan ganado...
  193.        print jugadorActual, ", es tu turno." #La primera vez es jugador1
  194.        a=int(raw_input("Donde deseas poner? "))
  195.        while ponerFicha(jugadorActual, a) == False:
  196.                a=int(raw_input("Intentalo de nuevo. "))
  197.            muestraTablero(triqui)
  198.            jugadorActual = oponente[jugadorActual]
  199.        alguienGano()
  200.        else: #se ejecuta se alguienGano() == jugador1, jugador2 o empate
  201.            if alguienGano()==jugador1:
  202.            print "Felicitaciones,", jugador1, "gana! \n"
  203.            break
  204.        elif alguienGano()==jugador2:
  205.            print "Felicitaciones,", jugador2, "gana! \n"
  206.            break
  207.        elif alguienGano()==empate:
  208.            print "Es un empate. :( \n"
  209.            break
  210.        
  211.  
  212.  
  213. #--------------------------------------------------------------------
  214.  
  215.  
  216. #menu!
  217. def menu():
  218.   opcion = 0
  219.   while opcion < 1 or opcion > 3:
  220.     print 'Bienvenido al juego tres en raya'
  221.     print 'Que decea hacer?'
  222.     print ' 1) Ingresar nombre de los jugadores.'
  223.     print ' 2) Jugar.'
  224.     print ' 3) Salir.'
  225.     opcion = int(raw_input('Escoge opción: '))
  226.   return opcion
  227.  
  228.  
  229.  
  230. #--------------------------------------------------------------------
  231. #--------------------------------------------------------------------
  232. #--------------------------------------------------------------------
  233.  
  234.  
  235. jugadores = [] # Inicialmente la lista de jugadores esta vacia
  236.  
  237. opcion = 0
  238. while opcion != 3:
  239.   opcion = menu()
  240.   if opcion == 1: # añade jugadores
  241.     jugador1 = crea_jugador_cruz()
  242.     jugador2 = crea_jugador_circulo()
  243.   if opcion == 2: #jugar
  244.     jugar()
  245.      
  246. print 'Gracias por usar el programa.'
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement