Advertisement
gmendezm

Gato for Alexander

Jul 4th, 2013
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.40 KB | None | 0 0
  1. gato = [[0,0,0],[0,0,0],[0,0,0]]
  2. turno = 1
  3.  
  4. #Imprime el gato de forma versatil
  5. def imprimir_gato(gato):
  6.     i=0
  7.     while i < 3:
  8.         j=0
  9.         fila=""
  10.         while j < 3:
  11.             if gato[i][j] == 1:
  12.                 fila = fila + "A"
  13.             elif gato[i][j] == 2:
  14.                 fila = fila + "G"
  15.             else:
  16.                 fila = fila + "0"
  17.             j = j + 1
  18.         print(fila)
  19.         i = i + 1
  20.  
  21. #Doble bucle, verifica si el tablero se llenó
  22. def tablero_lleno(gato):
  23.     i=0
  24.     while i < 3:
  25.         j=0
  26.         while j < 3:
  27.             if gato[i][j]:
  28.                 return False
  29.             j = j + 1
  30.         i = i + 1
  31.     return True
  32.  
  33. # Revisa si un jugador ganó
  34. def verificar_estado_del_juego(gato):
  35.     fila0 = gato[0][0] == gato[0][1] == gato[0][2] != 0
  36.     fila1 = gato[1][0] == gato[1][1] == gato[1][2] != 0
  37.     fila2 = gato[2][0] == gato[2][1] == gato[2][2] != 0
  38.  
  39.     columna0 = gato[0][0] == gato[1][0] == gato[2][0] != 0
  40.     columna1 = gato[0][1] == gato[1][1] == gato[2][1] != 0
  41.     columna2 = gato[0][2] == gato[1][2] == gato[2][2] != 0
  42.  
  43.     diagonal0 = gato[0][0] == gato[1][1] == gato[2][2] != 0
  44.     diagonal1 = gato[0][2] == gato[1][1] == gato[2][0] != 0
  45.  
  46.     if tablero_lleno(gato):
  47.         return 3
  48.     elif(fila0 or fila1 or fila2 or columna0 or columna1 or columna2 or diagonal0 or diagonal1):
  49.         return turno # retorna el numero del jugador que ganó
  50.     else:
  51.         return 0 # en juego
  52.    
  53.  
  54. # Aquí inicia el juego
  55. print("Bienvenido al juego del Gato, Tic Tac Toe")
  56. while True: # Bucle por centinela
  57.     fila = int(input("Ingrese la fila"))
  58.     columna = int(input("Ingrese la columna"))
  59.  
  60.     if gato[fila][columna] != 0: #si el espacio donde quieres colocar ficha está ocupado
  61.          print("No puedes colocar en esa posición")
  62.     else:
  63.         print("------------------------------")
  64.         gato[fila][columna] = turno
  65.  
  66.         # Cambia los turnos de los jugadores
  67.         if turno == 1:
  68.             turno = 2
  69.         else:
  70.             turno = 1
  71.  
  72.         estado = verificar_estado_del_juego(gato)
  73.         imprimir_gato(gato) # Imprime el gato después de cada jugada
  74.         if(estado == 3):
  75.             print("Nadie ganó")
  76.             break
  77.         elif(estado == 1):
  78.             print("Jugador G ganó")
  79.             break
  80.         elif(estado == 2):
  81.             print("Jugador A ganó")
  82.             break
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement