1
2
3
4
5
6
7
8 import random
9
11 """Un grupo es un contenedor que funciona como una lista normal, pero mejorada.
12
13 Los grupos pueden contener actores, y permite que a todos los actores
14 se los pueda tratar como uno.
15
16 Por ejemplo si tienes un contenedor con 20 actores, podrías ampliar
17 el tamaño de todos ellos juntos usando la sentencia:
18
19 >>> grupo = pilas.atajos.fabricar(pilas.actores.Mono, 20)
20 >>> grupo.escala = 2
21 """
22
24 """Esta funcion se asegura de que cada vez que se invoque a un metodo
25 del grupo, en realidad, el grupo va a invocar a ese metodo pero
26 en todos sus elementos. Algo asi como un map."""
27
28 def map_a_todos(*k, **kw):
29 for a in self:
30 funcion = getattr(a, attr)
31 funcion(*k, **kw)
32
33 return map_a_todos
34
36 for a in self:
37 setattr(a, atributo, valor)
38
40 """Les asigna una posición aleatoria a todos los actores del grupo."""
41 for a in self:
42 a.x = random.randint(-300, 300)
43 a.y = random.randint(-200, 200)
44
50