воскресенье, 11 октября 2009 г.

The Tag Game

Еще весной этого года (где-то числа 26, март), в рамках инициативы по приобретению навыков совместной разработки, был начат проект "The Tag Game", или попросту "Пятнашки".

После нескольких дней более-менее активной разработки проект был заморожен ввиду приближающейся сдачи курсовой, сессии, и т. п. Под конец лета разработка была возобновлена, и в конце августа - начале сентября была готова пилотная версия с поддержкой скинов, которая так и лежала на сервере, дожидаясь сборки и создания дистрибутива.

И вот сегодня было решено собрать ее и создать дистрибутив (пока только для Windows; Linux, а может и Mac - немного позже; приложение опирается на Qt, так что проблем быть не должно).

Итак, первая версия "Пятнашек" для Windows доступна отсюда (~4 Mb).

P. S. Исходный код открыт. Ссылка в Readme.txt.

6 комментариев:

  1. Ссылку на исходники оказалось найти проще, чем readme.txt. Как его собирать-то?

    ОтветитьУдалить
  2. Доработал напильником, собрал. Получаю "Bad file (config.xml)" и дальше дело не идёт.

    Создал файл, написал в него что-то. Теперь "Bad definition (config.xml, config/game/shuffling/default)"

    В общем, не работает твоя программа.

    ОтветитьУдалить
  3. В tag/0.0.1 по ошибке не попали файлы конфигурации и скины, исправлено.
    Благодарю за сигнал :)

    Эксепшны на отсутсвие конфига, а потом на конфиг с ошибками - нормальное поведение.
    Правда, наверное стоит сделать сообщения более информативными..

    P.S. Хотелось бы узнать про доработки напильником - в чем они состояли?

    ОтветитьУдалить
  4. Нет, я выбирал trunk. Там до сих пор нет конфига. Наверное, ты пользуешься ситемами управления версиями не так давно. Стандартная практика — свежие ревизии кладутся в транк, а тэги только помечают самые стабильные из них.

    И эксепшн должен сообщать пользователю о сути ошибки. Например, что не найден конфигурационный файл.

    А вообще, комильфо создавать дефолтный конфиг, если его нет.

    Доработка:

    Index: TheTagGame/TheTagGame.pro
    ===================================================================
    --- TheTagGame/TheTagGame.pro (revision 54)
    +++ TheTagGame/TheTagGame.pro (working copy)
    @@ -10,9 +10,12 @@
    #LIBS += ../GUI/debug/libGUI.a \
    # ../Core/debug/libCore.a \
    # ../Utility/debug/libUtility.a
    -LIBS += ../GUI/release/libGUI.a \
    - ../Core/release/libCore.a \
    - ../Utility/release/libUtility.a
    +#LIBS += ../GUI/release/libGUI.a \
    +# ../Core/release/libCore.a \
    +# ../Utility/release/libUtility.a
    +LIBS += ../GUI/libGUI.a \
    + ../Core/libCore.a \
    + ../Utility/libUtility.a
    HEADERS += TheTagGame.h \
    CriticalErrorHandler.h
    RESOURCES += icons.qrc

    Index: all.pro
    ===================================================================
    --- all.pro (revision 0)
    +++ all.pro (revision 0)
    @@ -0,0 +1,9 @@
    +TEMPLATE = subdirs
    +
    +CONFIG += release
    +
    +SUBDIRS = \
    + Core \
    + GUI \
    + Utility \
    + TheTagGame

    Жду новых ревизий!

    ОтветитьУдалить
  5. Собралось. Запустилось. Правда, прищлось ещё конфиг переложить из ./TheTagGame/release в директорию запуска.

    Красиииииво!

    ОтветитьУдалить
  6. Рад, что игрушка понравилась :)

    Насчет транка и тагов - они именно так и используются. А неразбериха возникла из-за не совсем удачной организации хранения ресурсов - были лишние копии, и, как оказалось, недостающие.

    К тому же раньше не обращал внимание на правила оформления проектов - полностью доверялся QtCreator'у. Теперь, с темплейтом subdirs все стало гораздо лучше :), помойму даже время билда уменьшилось :).

    Итак, как результат, сейчас (58 ревизия) как в транке, так и в тагах порядок, можно качать исходники и без проблем собирать (дебаг или релиз - неважно, все должно работать нормально).

    Спасибо за комментарии!

    ОтветитьУдалить