Ejercicio: 2Eva_IIT2007_T2 Juego de memotest
Video Tutorial:
Instrucciones 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 >>>
Algoritmo realizado en diagrama de flujo, Archivo matlab en pdf