1
2
3
4
5
6
7
8
9 import pilas
10 from pilas.actores import Actor
11 from pilas.comportamientos import Comportamiento
12
13 VELOCIDAD = 4
14
16 """ Representa un Cooperativista que puede caminar y trabajar."""
17
19 """Constructor del Cooperativista
20
21 :param x: Posición horizontal de la aceituna.
22 :type x: int
23 :param y: Posición vertical de la aceituna.
24 :type y: int
25 """
26 Actor.__init__(self, x=x, y=y)
27 self._cargar_animaciones()
28 self.hacer(Esperando())
29 self.radio_de_colision = 30
30
32 cargar = pilas.imagenes.cargar_grilla
33 self.animaciones = {
34 "ok": cargar("cooperativista/ok.png", 1),
35 "parado": cargar("cooperativista/parado.png", 1),
36 "camina": cargar("cooperativista/camina.png", 4),
37
38 "alerta": cargar("cooperativista/alerta.png", 2),
39 "trabajando": cargar("cooperativista/trabajando.png", 1),
40 "parado_sujeta": cargar("cooperativista/parado_sujeta.png", 1),
41 "camina_sujeta": cargar("cooperativista/camina_sujeta.png", 4),
42 }
43
45 """Define el cuadro de la animación del actor.
46
47 :param indice: el cuadro que la animación que se quiere mostrar.
48 """
49 self.imagen.definir_cuadro(indice)
50
52 """Cambia la animación del Cooperativista.
53
54 :param nombre: El nombre de la animación que se quiere mostar.
55 """
56 self.imagen = self.animaciones[nombre]
57 self.centro = ("centro", "abajo")
58
60 """Clase que define un comportamiento del actor Cooperativista."""
61
63 """Inicializa el comportamiento.
64
65 :param receptor: La referencia al actor.
66 """
67 self.receptor = receptor
68 self.receptor.cambiar_animacion("parado")
69 self.receptor.definir_cuadro(0)
70
79
80
82 """Clase que define un comportamiento del actor Cooperativista."""
83
85 self.cuadros = [0, 0, 0, 1, 1, 1, 2, 2, 2, 3, 3, 3]
86 self.paso = 0
87
89 """Inicializa el comportamiento.
90
91 :param receptor: La referencia al actor.
92 """
93 self.receptor = receptor
94 self.receptor.cambiar_animacion("camina")
95
107
109 self.paso += 1
110
111 if self.paso >= len(self.cuadros):
112 self.paso = 0
113
114 self.receptor.definir_cuadro(self.cuadros[self.paso])
115
116
118 """Clase que define un comportamiento del actor Cooperativista."""
119
122
124 """Inicializa el comportamiento.
125
126 :param receptor: La referencia al actor.
127 """
128 self.receptor = receptor
129 self.receptor.cambiar_animacion("ok")
130
132 self.paso += 1
133
134 if self.paso > 50:
135 self.receptor.hacer(Esperando())
136