Ejercicio: 2Eva2007TII_T2 Juego de memotest
Video Tutorial:
Algoritmo en Python
# 2Eva_IIT2007_T2 Juego de memotest
# propuesta: edelros@espol.edu.ec
import numpy as np
import random as rnd
def tableroparejas(n):
fichasunicas = (n*n)//2
tablero = np.zeros(shape=(n,n),dtype =int)
i = 1
while i<=fichasunicas:
f1 = int(rnd.random()*n)+0
c1 = int(rnd.random()*n)+0
while not(tablero[f1,c1]==0):
f1 = int(rnd.random()*n)+0
c1 = int(rnd.random()*n)+0
tablero[f1,c1] = i
f2 = int(rnd.random()*n)+0
c2 = int(rnd.random()*n)+0
while not(tablero[f2,c2]==0):
f2 = int(rnd.random()*n)+0
c2 = int(rnd.random()*n)+0
tablero[f2,c2] = i
i = i + 1
return(tablero)
# PROGRAMA
# INGRESO
n = 4
# PROCEDIMIENTO
tablero = tableroparejas(n)
descubiertas = np.zeros(shape=(n,n),dtype=int)
equivocado = 0
encontrado = 0
while (equivocado<3 and encontrado<(n*n)):
print('estado del juego:')
print(descubiertas)
f1 = int(input('fila ficha1:'))
c1 = int(input('columna ficha1:'))
while not(descubiertas[f1,c1]==0):
f1 = int(input('fila ficha1:'))
c1 = int(input('columna ficha1:'))
f2 = int(input('fila ficha2:'))
c2 = int(input('columna ficha2:'))
while not(descubiertas[f2,c2]==0):
f2 = int(input('fila ficha2:'))
c2 = int(input('columna ficha2:'))
ficha1 = tablero[f1,c1]
ficha2 = tablero[f2,c2]
if ficha1==ficha2:
descubiertas[f1,c1] = ficha1
descubiertas[f2,c2] = ficha2
encontrado = encontrado + 2
print('ENCONTRO una pareja..!',ficha1,ficha2)
else:
equivocado = equivocado + 1
print('Las fichas son diferentes: ',ficha1,ficha2)
# SALIDA
print('Solucion del tablero:')
print(tablero)
print('Estado del juego:')
print(descubiertas)
if encontrado==(n*n):
print(' Muy bien..!! todas las fichas encontradas')
else:
print('Perdió... se equivoco el máximo de veces...')
print('fichas descubiertas:', encontrado)
Tarea: Revisar que las coordenadas ingresadas por el jugador se encuentren dentro del tablero.
Resultado del Algoritmo
estado del juego:
[[0 0 0 0]
[0 0 0 0]
[0 0 0 0]
[0 0 0 0]]
fila ficha1:0
columna ficha1:0
fila ficha2:1
columna ficha2:1
Las fichas son diferentes: 4 1
estado del juego:
[[0 0 0 0]
[0 0 0 0]
[0 0 0 0]
[0 0 0 0]]
fila ficha1:0
columna ficha1:0
fila ficha2:2
columna ficha2:2
Las fichas son diferentes: 4 6
estado del juego:
[[0 0 0 0]
[0 0 0 0]
[0 0 0 0]
[0 0 0 0]]
fila ficha1:0
columna ficha1:0
fila ficha2:3
columna ficha2:3
Las fichas son diferentes: 4 2
Solucion del tablero:
[[4 8 3 4]
[3 1 1 5]
[6 7 6 7]
[5 2 8 2]]
Estado del juego:
[[0 0 0 0]
[0 0 0 0]
[0 0 0 0]
[0 0 0 0]]
Perdió... se equivoco el máximo de veces...
fichas descubiertas: 0
>>>

