@Staffic

Проблемы в коде на Python?

def create_map():
    global obstacles
    locations = []
    for i in range(10):
        row = random.randint(0, 9)
        col = random.randint(0, 9)
        location = [col * 64 + 20, row * 64 + 20 + 640]
        if not (location in locations):
            locations.append(location)
            type = random.choice(["tree", "flag"])
            if type == "tree": img = ("d:\Python\skier_tree.png")
            elif type == "flag": img = ("d:\Python\skier_flag.png")
            obstacle = ObstacleClass(img, location, type)
            obstacle.add(obstacle)

Часть кода с книги "Hello, World!", игра Лыжник. Выдаёт ошибку -
Traceback (most recent call last):
  File "D:\Game Skier - 1.py", line 76, in <module>
    create_map()
  File "D:\Game Skier - 1.py", line 59, in create_map
    obstacle.add(obstacle)
  File "D:\Python\lib\site-packages\pygame\sprite.py", line 142, in add
    self.add(*group)
TypeError: add() argument after * must be an iterable, not ObstacleClass

Как с этим бороться? И откуда берутся картинки если вводить - pygame.image.load # Это для примера
Заранее огромное спасибо за помощь!
  • Вопрос задан
  • 122 просмотра
Пригласить эксперта
Ответы на вопрос 2
Staffic Доброго времени суток!
Для начала сделай отступы в своём коде.
А потом ты ошибся в последней строчке. Сравни свой код и код из книги.

def create_map():
    global obstacles
    locations = []
    for i in range(10):
    row = random.randint(0, 9)
    col = random.randint(0, 9)
    location = [col * 64 + 20, row * 64 + 20 + 640]
    if not (location in locations):
        locations.append(location)
        type = random.choice(["tree", "flag"])
        if type == "tree": img = "skier_tree.png"
        elif type == "flag": img = "skier_flag.png"
        obstacle = ObstacleClass(img, location, type)
        obstacles.add(obstacle)


Вот здесь есть код из книги и все файлы.
Ответ написан
@Staffic Автор вопроса
Спасибо Огромное!)
И такой вопрос еще, где хранить изображения, которые прописываешь в коде?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы