Está en la página 1de 3

#definimos la lista con las posicion del tablero

from random import randrange


def DisplayBoard(board):
for i in board:
print('+-------'*3+'+')
print('| '*3+'|')
for j in i:
print('| ',j,' ',end='')
print('|')
print('| '*3+'|')
print('+-------'*3+'+')
def EnterMove(board):
while True:
movimiento=int(input('Ingresa tu movimiento:'))
if movimiento <1 or movimiento>9:
print('Porfavor ingresa un numero en el rango de 1 a 9')
continue
elif str(movimiento) not in board[0] and str(movimiento) not in b
oard[1] and str(movimiento) not in board[2]:
print('Disculpa,esa ubicacion ya se encuentra ocupada, elige
otra')
continue
for fila in range(0,3):
for columna in range(0,3):
if board[fila][columna] == str(movimiento):
board[fila][columna] = 'O'
break
def MakeListOfFreeFields(board):
global espacios_libres
espacios_libres=[]
for fila in range(0,3):
for columna in range(0,3):
if board[fila][columna] == 'X' or board[fila][columna]=='
O':
pass
else:
espacios_libres.append((fila,columna))
print(espacios_libres)

def VictoryFor(board, sign):

if sign=='O':
print('revisaremos si tu eres el ganador')
else:
print('')
if board[0][0]==sign and board[0][1]==sign and board[0][2]==sign:
return True
elif board[1][0]==sign and board[1][1]==sign and board[1][2]==sign:
return True
elif board[2][0]==sign and board[2][1]==sign and board[2][2]==sign:
return True
elif board[0][0]==sign and board[1][0]==sign and board[2][0]==sign:
return True
elif board[0][1]==sign and board[1][1]==sign and board[2][1]==sign:
return True
elif board[0][2]==sign and board[1][2]==sign and board[2][2]==sign:
return True
elif board[0][0]==sign and board[1][1]==sign and board[2][2]==sign:
return True
elif board[0][2]==sign and board[1][1]==sign and board[2][0]==sign:
return True
else:
print('Nosotros aun no tenemos un ganador')

def DrawMove(board):
while True:
fila=randrange(3)
columna=randrange(3)
if(fila,columna) not in espacios_libres:
continue
else:
board[fila][columna]='X'
return

board=[['1','2','3'],['4','X','6'],['7','8','9']]
jugada = 1
humano='O'
computadora='X'

print('Hola y bienvenido a juego "TRES EN RAYA"')


print('Desmuestra que el hombre es mejor que la computadora')
print('la computadora inicia el primer movimiento')
DisplayBoard(board)
print()

while jugada<9:
EnterMove(board)
jugada+=1
DisplayBoard(board)
if VictoryFor(board, humano) == True:
print('Le ganaste a la computadora, ahora puedes dormir tranquilo
')
break
else:
print('Aqui esta la lista actualizada de los espacios libres en e
l tablero')
MakeListOfFreeFields(board)
print()
print('Ahora es el turno de la computadora')
DrawMove(board)
jugada+=1
DisplayBoard(board)
print()
if VictoryFor(board, computadora) == True:
print('Gano la computadora ahora tienes que comprarle un nuevo pr
ocesador')
break
else:
print('Aqui esta la lista actualizada de los espacios libres en e
l tablero')
MakeListOfFreeFields(board)
print()

else:
print('Tenemos un empate, ruega por una revancha a la computadora')
print('Gracias por jugar regresa pronto')

También podría gustarte