diliup gabadamudalige wrote: > I need to random pick a pygame sprite from a sprite class. > The random module does not allow this to be used on a group. > Is the shortest way to raed in the attributes thatr I need into a list and > then random pick that or is there a shorter way? Sample code is given > below. > > scalelist=[] > for scale in all_scales: > scalelist.append( [scale.name, > scale.scaletype] > ) > > scale = random.choice(scalelist) > > where all_scales is a sprite class with 45 objects. > I append the 2 attributes of each sprite to a scalelist with the above > function and then random pick an item from the scalelist. > > Is this the shortest way?
Not the shortest, but probably an efficient way: subclass pygame.sprite.OrderedUpdates and use the subclass to group your sprites: # untested class MyGroup(pygame.sprite.OrderedUpdates): def __getitem__(self, index): return self._spritelist[index] group = MyGroup(sprite1, sprite2, ...) some_sprite = random.choice(group) _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor