UTNianos

Versión completa: Parcial Lógico Resuelto Karate, Profesora Valeria Pennella
Actualmente estas viendo una versión simplificada de nuestro contenido. Ver la versión completa con el formato correcto.
% Realizado por Zogar, 15/12/2015, Primer Parcial Logico Karate, Profesora: Valeria Pennella

Solo Falta el último punto de explosión combinatoria.

Cita:% Realizado por Zogar, 15/12/2015, Primer Parcial Logico Karate, Profesora: Valeria Pennella

%alumnoDe(Maestro, Alumno).
alumnoDe(miyagui,sara).
alumnoDe(miyagui,bobby).
alumnoDe(miyagui,sofia).
alumnoDe(chunLi,guidan).

%patadaRecta(potencia,distancia).
%patadaDeGiro(potencia,punteria,distancia).
%patadaVoladora(potencia,distancia,altura,punteria).
%codazo(potencia).
%golpeRecto(distancia,potencia).  
%destreza(alumno,velocidad,[habilidades]). 

destreza(sofia,80,[golpeRecto(40,3),codazo(20)]).
destreza(sara,70,[patadaRecta(80,2),patadaDeGiro(90,95,2),golpeRecto(1,90)]).
destreza(bobby,80,[patadaVoladora(100,3,2,90),patadaDeGiro(50,20,1)]).
destreza(guidan,70,[patadaRecta(60,1),patadaVoladora(100,3,2,90),patadaDeGiro(70,80,1)]).

%categoria(Alumno,Cinturones)
categoria(sofia,[blanco]).
categoria(sara,[blanco,amarillo,naranja,rojo,verde,azul,violeta,marron,negro]).
categoria(bobby,[blanco,amarillo,naranja,rojo,verde,azul,violeta,marron,negro]).
%1
esBueno(Alumno):-seVerifica(Alumno).

seVerifica(Alumno):-destreza(Alumno,_,LstHabilidades),member(Elemento1,LstHabilidades),member(Elemento2,LstHabilidades),Elemento1\=Elemento2,esPatada(Elemento1),esPatada(​Elemento2).
seVerifica(Alumno):-destreza(Alumno,Velocidad,LstHabilidades),member(golpeRecto(_,_),LstHabilidades),Velocidad=<80,Velocidad>=50.

esPatada(patadaRecta(_,_)).
esPatada(patadaDeGiro(_,_,_)).
esPatada(patadaVoladora(_,_,_,_)).
%2
esAptoParaTorneo(Alumno):-esBueno(Alumno),categoria(Alumno,Lista),member(verde,Lista).
%3
totalPotencia(Alumno,PotTotal):-destreza(Alumno,_,Lista),findall(Potencia,sacarPotencia(Lista,Potencia),Lista2),sumlist(Lista2,PotTotal).

sacarPotencia(Lista,Potencia):-member(Habilidades,Lista),habilidades(Habilidades,Potencia).

habilidades(patadaRecta(Potencia,_),Potencia).
habilidades(patadaDeGiro(Potencia,_,_),Potencia).
habilidades(patadaVoladora(Potencia,_,_,_),Potencia).
habilidades(codazo(Potencia),Potencia).
habilidades(golpeRecto(_,Potencia),Potencia).
%4
alumnoConMayorPotencia(Alumno):-totalPotencia(Alumno,Potencia),forall(totalPotencia(_,Potencia2),Potencia>=Potencia2).
%5
sinPatadas(Alumno):-destreza(Alumno,_,LstHabilidades),forall(member(Elemento,LstHabilidades),not(esPatada(Elemento))).
%6
soloSabePatear(Alumno):-destreza(Alumno,_,LstHabilidades),forall(member(Elemento,LstHabilidades),esPatada(Elemento)).
%7
potencialesSemifinalistas(Alumno):-esAptoParaTorneo(Alumno),maestroMasDeUnAlumno(Alumno),buenEstiloArtistico(Alumno).

maestroMasDeUnAlumno(Alumno):-alumnoDe(Maestro,Alumno),alumnoDe(Maestro,Alumno2),Alumno\=Alumno2.

buenEstiloArtistico(Alumno):-destreza(Alumno,_,Lista),sacarPotencia(Lista,100).
buenEstiloArtistico(Alumno):-destreza(Alumno,_,Lista),sacarPunteria(Lista,90).

sacarPunteria(Lista,Punteria):-member(HabilidadesPunteria,Lista),habilidadesPunteria(HabilidadesPunteria,Punteria).
habilidadesPunteria(patadaDeGiro(_,Punteria,_),Punteria).
habilidadesPunteria(patadaVoladora(_,_,_,Punteria),Punteria).
URLs de referencia