Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- habilidad(superman,bardero([correForestCorre,soyGrosoYQue,rayitosVisuales,alientoAquafresh,vuelaVuela,miraCorpinios])).
- habilidad(flash,velocista(300)).
- habilidad(batman,porArtefacto([artefacto(batarang,20),
- artefacto(batarangExplosivo,50), artefacto(baticinturon,250), artefacto(capa,80),
- artefacto(batidora,30), artefacto(batigancho,50), artefacto(alfred,800),
- artefacto(robin,10), artefacto(batimovil,700)])). % (A la cátedra le gusta Batman)
- habilidad(laMujerMaravilla,bardero([superFuerza, ligerona, brazaletesAntiBalas, lazoDeLaVerdad])).
- habilidad(linternaVerde,porArtefacto([artefacto(anillo,600)])).
- habilidad(ironMan,porArtefacto([artefacto(casco,50), artefacto(armadura,400)])).
- habilidad(spiderman,bichoDeLaboratorio).
- habilidad(hulk,bichoDeLaboratorio).
- habilidad(capitanAmerica,bichoDeLaboratorio).
- habilidad(punisher,bardero([seLaBanca])).
- equipo(superman,ligaJusticia).
- equipo(batman,ligaJusticia).
- equipo(flash,ligaJusticia).
- equipo(linternaVerde,ligaJusticia).
- equipo(laMujerMaravilla,ligaJusticia).
- equipo(ironMan,losVengadores).
- equipo(spiderman,losVengadores).
- equipo(hulk,losVengadores).
- equipo(capitanAmerica,losVengadores).
- %1) Spiderman siempre trabaja solo porque nadie lo quiere por eso lo defino como un echo
- trabajaSolo(spiderman).
- trabajaSolo(Super):- %Luego andquiero los superheroes y quiero que no pertenescan a ningun equipo
- habilidad(Super,_),
- not(equipo(Super,_)).
- %2)Primero defino potencia. 1 para cada caso
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- potencia(Super,Potencia):-
- habilidad(Super,bardero(Lista)),
- length(Lista,Potencia).
- potencia(Super,Potencia):-
- habilidad(Super,velocista(Potencia)).
- %este recibe una lista [artefacto(Nombre,Cantidad)] y suma las cantidades
- sumaArtefactos([Primero|[]],Parcial):- artefacto(_,Parcial) = Primero.
- sumaArtefactos([Primero|Cola],Suma):-
- sumaArtefactos(Cola,Parcial),
- artefacto(_,Num) = Primero,
- Suma is Num + Parcial.
- potencia(Super,Potencia):-
- habilidad(Super,porArtefacto(Lista)),
- sumaArtefactos(Lista,Potencia).
- potencia(Super,Potencia):-
- habilidad(Super,bichoDeLaboratorio),
- Potencia is 200.
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %ahora paso a hacer el potencia media, pero antes
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %Este recibe la lista de SuperHeroes que pertenecen al Equipo y devuelve la lista con sus potencias.
- aplicarpotencia([Primero|[]],[ListaPot]):- potencia(Primero,ListaPot).
- aplicarpotencia([Primero|Cola],[Potencia|ListaPot]):-
- aplicarpotencia(Cola,ListaPot),
- potencia(Primero,Potencia).
- %Este recibe una lista de numeros y la suma.
- sumar([Primero|[]],Primero).
- sumar([Primero|Cola],Suma):-
- sumar(Cola,Parcial),
- Suma is Primero + Parcial.
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- potenciaMedia(Equipo,Potencia):-
- findall(Super,equipo(Super,Equipo),Lista),
- aplicarpotencia(Lista,Potencias),
- length(Potencias,Cant),
- sumar(Potencias,Total),
- Potencia is Total / Cant.
- %3) Preguntamos si el primero es mayor que el segundo para saber si esta ordenado
- estaOrdenado([Primero,Segundo|[]]):-
- potencia(Primero,Pot1),
- potencia(Segundo,Pot2),
- Pot1 > Pot2.
- estaOrdenado([Primero,Segundo|Cola]):-
- estaOrdenado([Segundo|Cola]),
- potencia(Primero,Pot1),
- potencia(Segundo,Pot2),
- Pot1 > Pot2.
Advertisement
Add Comment
Please, Sign In to add comment