while trees_count <= 10:
x_tree = randrange(1,11)
y_tree = randrange(1,9)
tree = Tree(x_tree,y_tree)
trees_count += 1
while trees_count <= 10:
x_tree = randrange(1,11)
y_tree = randrange(1,9)
tree = Tree(x_tree,y_tree)
trees_count += 1
>>> import random
>>> for i in range(10):
... print (random.randrange(1, 11), random.randrange(1, 9))
...
(5, 2)
(5, 1)
(7, 6)
(5, 5)
(9, 5)
(6, 4)
(7, 2)
(7, 2)
(9, 7)
(6, 5)
class Tree(pygame.sprite.Sprite):
def __init__(self, cX, cY):
pygame.sprite.Sprite.__init__(self)
self.image, self.rect = load_image('tree.bmp', -1)
screen = pygame.display.get_surface()
self.area = screen.get_rect()
self.rect.topleft = (cX-1)*50, (cY-1)*50
EnchantnerСкорее наоборот, твои деревья создаются, а потом сразу уничтожаются, поскольку ты перезатираешь ссылки на них:
Кажись, сам начал понимать… Просто создаются ссылки на один и тот же объект? То есть конструктор срабатывает один раз? Тогда как сделать?
EnchantnerЗасовывай tree в какой-нибудь контейнер, иначе у тебя все перетирается. Где-то, так:
tree = Tree(x_tree,y_tree)
from random import *
Tree = lambda x, y: (x, y)
q = [Tree(randrange(1, 11), randrange(1, 9)) for i in range(10)]
print q
>> [(1, 3), (6, 3), (7, 2), (9, 8), (9, 7), (2, 7), (3, 8), (10, 4), (4, 2), (1, 8)]