Змея / Говнокод #19661 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
if not self.squad:
			magus = Magus(0, 0)
			ranger = Ranger(12, 18)
			knight = Knight(32, 11)
			sage = Sage(21, 26)
			self.squad = [magus, ranger, knight, sage]
AttributeError: 'GameWindow' object has no attribute 'squad'
...
    if self.selection.actions < self.active_skill.actions:
AttributeError: 'WardSigil' object has no attribute 'actions'
...

Посоны, суть такова. На один буржуйский конкурс пришла игра, а я в жюри. Игра вроде бы классная (новый xcom+ascii графон+инквизиция), но есть проблема - автор почему-то считает что питон должен на несуществующие поля возвращать nil\false\0, а у меня python 2.7 просто падает с приведенной ошибкой. Ну а питон 3 ругается на print, т.е. игра явно на питоне 2.х.
В общем может есть какая-нибудь опция, старая версия питона которая так себя вела или какой-нибудь хак, чтоб заставить питон вести себя как у автора? Иначе придется 1 балл ставить, автор на связь не выходит а игр еще сотни.
Да, он еще написал что тестировал только на MacOS - там какая версия по дефолту стоит?

Запостил: kipar kipar, (Updated )

Комментарии (19) RSS

  • А это точно питон, а не что-то ещё питоноподобное?
    Ответить
  • Это точно питон, файлы называются py, используют байндинги питона к libtcod и игра в общем запустилась, только половина скиллов не работает.
    Ответить
  • На последних маках по дефолту стандартный 2.7.
    Раз автор не позаботился о совместимости(описании как запускать поделку), то его надо покарать, имхо.
    Ответить
  • напиши себе кроссверсионный транспайлер для питона
    Ответить
  • Magus(0, 0)

    Маг-то днище.

    И почему не Mage? Или это именно что волхв?
    Ответить
      • Я только исходники нашел. Там экзешник есть что ты гамануть ?
        Ответить
          • а я так хотел побыть донным магусом(((

            придется быть альфасамцом и мачо в реальности
            Ответить
            • Игра запускается в Винде, но нужен Питон и библиотека отсюда:
              https://bitbucket.org/libtcod/libtcod/downloads

              libtcodpy.py, dll-файлы, libtcod.cfg и директорию data нужно скопировать в директорию с игрой.

              Но игра тут же обламывается в точке, указанной топикстартером.
              Ответить
              • У меня нет питона и желания с ним ипаться. Умерла так умерла.
                Ответить
              • Если запускать не aracanacommand a MAIN то эту точку проходит и в принципе HQ и прочее работает. Падает только половина скиллов, но игру можно и без них оценить
                Ответить
  • Я о такой опции не слышал. Должно быть кривая инициализация объекта.
    А вообще, если нужны хитровыебанные опции, то автор должен был сказать об этом заранее, ну или хотя б протестировать на чистой установке. Иначе ССЗБ.
    Ответить
  • object.__metaclass__ = что-то ловящее обращения к __attr__ не покатит?
    Ответить
  • Если в ините класса или где-нибудь еще не установился атрибут, то естественно падает такая ошибка. Никогда не видел, чтобы питон жевал такое.

    Прописать так, и все
    if not getattr(self, 'squad', None):


    Впрочем, возможно ошибка как раз в том, что атрибут должен быть установлен ранее, но по какой-то причине не установился. В этом и баг
    Ответить

Добавить комментарий

Помни, guest, за тобой могут следить!

    А не использовать ли нам bbcode?


    8