Tuesday, April 18, 2006

Rompecabezas.

Esta es la arquitectura de maquinas de estados finitos que conviven con otras maquinas en un ambiente y aseguran la meta-regla llamada supervivencia.
El codigo es predicativo-estructurado es una mezcla hibrida que me invente pero es leible.
Reglas:

Expresion -> Sobrevivir();
-> Obedecer(Expresion);
-> Interpretar(Expresion);
-> Generar( Expresion( Reglas.Expresion ));

Maquina.GetRules(Expresion).
Maquina.Expresion().Init().

new Maquina {
Expresion :-
Caminar(X,Y).

Expresion :-
Hay(Maquina).

Amigo(Maquina) :-
Ayudar(Amigo , EVENT_HELP).

Enemigo(Maquina):-
MasFuerte(Me,Enemigo):-
Atacar(Enemigo).
MasFuerte(Enemigo,Me):-
throws(ACTION_WAR(Enemigo,Me))
Huir().

Expresion(EVENT_WAR):-
Amigo(X),
Amigo(Y),
Huir();
Enemigo(X),
Atacar(Me,X).

Expresion( CTRL_EVENT ):-
Nesesito(X , Y , Z ):-
X<>0;
Y<>0;
Z<>0;
Restar(Atrib, From(CTRL_EVENT.GetParent()) ).

}

Maquina(Red_Antz,Azucar,Agua,Tierra,Hormiguero,
(
Amigo('Black_Antz'),
Amigo('Red_Antz'),
Enemigo('Orange_Antz'),
),
Atrib_Warrior).

Maquina(Black_Antz,Azucar,Agua,Tierra,Hormiguero,
(
Amigo('Orange_Antz'),
Amigo('Red_Antz'),
),
Atrib_Builder).

Maquina(Orange_Antz,Azucar,Agua,Tierra,Hormiguero, !(_) , Atrib_Smart_Antz ).


main goal
Ambiente.GetMaquina( X € Maquinas ).
Ambiente.Run().

No comments: