]> git.llucax.com Git - z.facultad/75.68/celdas.git/blob - trunk/src/SistemaAutonomo.tz
Nueva versión del robot usando el sistema autónomo.
[z.facultad/75.68/celdas.git] / trunk / src / SistemaAutonomo.tz
1 \r
2 @plugin "plugin.so" (SAbrFunctions).\r
3 \r
4 @define ANY -3000000.\r
5 \r
6 Object : Teoria (aka Teorias) {\r
7 \r
8         + variables:\r
9                 ptr (pointer).\r
10 \r
11         + to init named name (string) with-action action (string)\r
12                         executed k = 1 (int) succeeded p = 1 (int):\r
13                 ptr = TeoriaNew(name, action, k, p).\r
14                 \r
15         + to set-dato-inicial name theName (string) value theValue (float):\r
16                 TeoriaSetDatoInicial(ptr, theName, theValue).\r
17 \r
18         + to set-dato-final name theName (string) value theValue (float):\r
19                 TeoriaSetDatoFinal(ptr, theName, theValue).\r
20 \r
21         + to get-nombre:\r
22                 return TeoriaGetNombre(ptr).\r
23 \r
24         + to get-accion:\r
25                 return TeoriaGetAccion(ptr).\r
26 \r
27         - to get-ptr:\r
28                 return ptr.\r
29 \r
30         - to set-ptr ptr p (pointer):\r
31                 ptr = p.\r
32 \r
33         + to destroy:\r
34                 TeoriaDelete(ptr).\r
35 }\r
36 \r
37 Object : SistemaAutonomo {\r
38 \r
39         + variables:\r
40                 ptr (pointer).\r
41 \r
42         + to init:\r
43                 ptr = SistemaAutonomoNew().     \r
44                 \r
45         + to add teoria theTeoria (object):\r
46                 SistemaAutonomoAddTeoria(ptr, (theTeoria get-ptr)).\r
47 \r
48         + to set-entorno value theValue (float) with-name theName (string):\r
49                 SistemaAutonomoSetValue(ptr, theName, theValue).\r
50 \r
51         + to set-dato-final value theValue (float) with-name theName (string):\r
52                 SistemaAutonomoSetDatoFinal(ptr, theName, theValue).\r
53 \r
54         + to update-entorno entorno theEntorno (hash):\r
55                 nombre (string).\r
56                 foreach nombre in keys(theEntorno): {\r
57                         print "Seteando valor de entorno ", nombre, " con ", theEntorno{nombre}.\r
58                         self set-entorno value theEntorno{nombre} with-name nombre.\r
59                 }\r
60 \r
61         + to update-datos-finales datos-finales datos (hash):\r
62                 nombre (string).\r
63                 foreach nombre in keys(datos): {\r
64                         print "Seteando valor de dato final ", nombre, " con ", datos{nombre}.\r
65                         self set-dato-final value datos{nombre} with-name nombre.\r
66                 }\r
67 \r
68         + to plan:\r
69                 SistemaAutonomoPlan(ptr).\r
70 \r
71         + to has-next-theory:\r
72                 return SistemaAutonomoHasNextTheory(ptr).\r
73 \r
74         + to get-next-theory:\r
75                 t (object).\r
76                 t = new Teoria.\r
77                 t set-ptr ptr SistemaAutonomoGetNextTheory(ptr).\r
78                 return t.\r
79 \r
80         + to validate theory theTheory (object):\r
81                 return SistemaAutonomoValidateTheory(ptr, (theTheory get-ptr)).\r
82 \r
83         + to destroy:\r
84                 SistemaAutonomoDelete(ptr).\r
85 }\r
86 \r