Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from record import record
- class Jugador(record):
- nombre = ''
- puntaje = 0.0
- #Solicitar el nombre de los jugadores y guarda en un archivo record.txt
- def crea_jugador_cruz():
- jugador1 = raw_input('Ingrese nombre del jugador representado por la cruz: ')
- return Jugador(jugador1=jugador1)
- def crea_jugador_circulo():
- jugador2 = raw_input('Ingrese nombre del jugador representado por el circulo: ')
- return Jugador(jugador2=jugador2)
- def guardar_record(record):
- f = open('record.txt', 'w')
- for jugador in record.lista:
- f.write(jugador.nombre + '\n')
- f.close()
- #--------------------------------------------------------------------
- def ponerFicha(jugador, lugar): #Esta funcion returna true si logra poner una x o una O en el triqui, de lo contrario retorna False
- while 1:
- if jugador == jugador1:
- if (lugar == 1) and (triqui[0] == "."):
- triqui[0] = "X"
- return True
- break
- elif (lugar == 2) and (triqui[1] == "."):
- triqui[1] = "X"
- return True
- break
- elif (lugar == 3) and (triqui[2] == "."):
- triqui[2] = "X"
- return True
- break
- elif (lugar == 4) and (triqui[3] == "."):
- triqui[3] = "X"
- return True
- break
- elif (lugar == 5) and (triqui[4] == "."):
- triqui[4] = "X"
- return True
- break
- elif (lugar == 6) and (triqui[5] == "."):
- triqui[5] = "X"
- return True
- break
- elif (lugar == 7) and (triqui[6] == "."):
- triqui[6] = "X"
- return True
- break
- elif (lugar == 8) and (triqui[7] == "."):
- triqui[7] = "X"
- return True
- break
- elif (lugar == 9) and (triqui[8] == "."):
- triqui[8] = "X"
- return True
- break
- else:
- print "Movida Ilegal. La casilla esta ocupada o no existe."
- return False
- break
- if jugador == jugador2:
- if (lugar == 1) and (triqui[0] == "."):
- triqui[0] = "O"
- return True
- break
- elif (lugar == 2) and (triqui[1] == "."):
- triqui[1] = "O"
- return True
- break
- elif (lugar == 3) and (triqui[2] == "."):
- triqui[2] = "O"
- return True
- break
- elif (lugar == 4) and (triqui[3] == "."):
- triqui[3] = "O"
- return True
- break
- elif (lugar == 5) and (triqui[4] == "."):
- triqui[4] = "O"
- return True
- break
- elif (lugar == 6) and (triqui[5] == "."):
- triqui[5] = "O"
- return True
- break
- elif (lugar == 7) and (triqui[6] == "."):
- triqui[6] = "O"
- return True
- break
- elif (lugar == 8) and (triqui[7] == "."):
- triqui[7] = "O"
- return True
- break
- elif (lugar == 9) and (triqui[8] == "."):
- triqui[8] = "O"
- return True
- break
- else:
- print "Movida Ilegal. La casilla esta ocupada o no existe."
- return False
- break
- break #break para el while principal
- return
- #---------------------------------------------------------
- def muestraTablero(tablero):
- """ Muestra el tablero"""
- print "%s %s %s\n%s %s %s\n%s %s %s" % tuple(tablero)
- #---------------------------------------------------------
- def alguienGano(): #Revisa si alguien gano.
- if (triqui[0]== X) and (triqui[1] == X) and (triqui[2] == X):
- return jugador1
- elif (triqui[0]== X) and (triqui[4] == X) and (triqui[8] == X):
- return jugador1
- elif (triqui[0]== X) and (triqui[3] == X) and (triqui[6] == X):
- return jugador1
- elif (triqui[1]== X) and (triqui[4] == X) and (triqui[7] == X):
- return jugador1
- elif (triqui[2]== X) and (triqui[4] == X) and (triqui[6] == X):
- return jugador1
- elif (triqui[2]== X) and (triqui[5] == X) and (triqui[8] == X):
- return jugador1
- elif (triqui[3]== X) and (triqui[4] == X) and (triqui[5] == X):
- return jugador1
- elif (triqui[0]== O) and (triqui[1] == O) and (triqui[2] == O):
- return jugador2
- elif (triqui[0]== O) and (triqui[4] == O) and (triqui[8] == O):
- return jugador2
- elif (triqui[0]== O) and (triqui[3] == O) and (triqui[6] == O):
- return jugador2
- elif (triqui[1]== O) and (triqui[4] == O) and (triqui[7] == O):
- return jugador2
- elif (triqui[2]== O) and (triqui[4] == O) and (triqui[6] == O):
- return jugador2
- elif (triqui[2]== O) and (triqui[5] == O) and (triqui[8] == O):
- return jugador2
- elif (triqui[3]== O) and (triqui[4] == O) and (triqui[5] == O):
- return jugador2
- #Si llega hasta aqui es porque nadie ha ganado, revisar si hay empate
- elif (triqui[0]!=".") and (triqui[1]!=".") and (triqui[2]!="."):
- if (triqui[3]!=".") and (triqui[4]!=".") and (triqui[5]!="."):
- if (triqui[6]!=".") and (triqui[7]!=".") and (triqui[8]!="."):
- return empate
- else:
- return False
- #--------------------------------------------------------------------
- #--------------------------------------------------------------------
- #A jugar!
- def jugar():
- #Valores de tablero:
- X="X"
- O="O"
- empate = "empate"
- #Nueve puntos que representan el triqui
- triqui = [".", ".", ".", ".", ".", ".", ".", ".", "."]
- #Para cambiar el jugadorActual
- oponente = { jugador1:jugador2, jugador2:jugador1 }
- print "Los numeros representan las casillas."
- print "%d.%d.%d\n%d.%d.%d\n%d.%d.%d" % tuple(range(1, 10))
- jugadorActual=jugador1 #Esta variable contiene el jugador que lleva el turno, siempre empieza jugador1
- while 1:
- while alguienGano()==False: #Mientras no hayan ganado...
- print jugadorActual, ", es tu turno." #La primera vez es jugador1
- a=int(raw_input("Donde deseas poner? "))
- while ponerFicha(jugadorActual, a) == False:
- a=int(raw_input("Intentalo de nuevo. "))
- muestraTablero(triqui)
- jugadorActual = oponente[jugadorActual]
- alguienGano()
- else: #se ejecuta se alguienGano() == jugador1, jugador2 o empate
- if alguienGano()==jugador1:
- print "Felicitaciones,", jugador1, "gana! \n"
- break
- elif alguienGano()==jugador2:
- print "Felicitaciones,", jugador2, "gana! \n"
- break
- elif alguienGano()==empate:
- print "Es un empate. :( \n"
- break
- #--------------------------------------------------------------------
- #menu!
- def menu():
- opcion = 0
- while opcion < 1 or opcion > 3:
- print 'Bienvenido al juego tres en raya'
- print 'Que decea hacer?'
- print ' 1) Ingresar nombre de los jugadores.'
- print ' 2) Jugar.'
- print ' 3) Salir.'
- opcion = int(raw_input('Escoge opción: '))
- return opcion
- #--------------------------------------------------------------------
- #--------------------------------------------------------------------
- #--------------------------------------------------------------------
- jugadores = [] # Inicialmente la lista de jugadores esta vacia
- opcion = 0
- while opcion != 3:
- opcion = menu()
- if opcion == 1: # añade jugadores
- jugador1 = crea_jugador_cruz()
- jugador2 = crea_jugador_circulo()
- if opcion == 2: #jugar
- jugar()
- print 'Gracias por usar el programa.'
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement