Шестиугольный тетрис

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

    В этот раз я представляю на суд и удовольствие общественности клон тетриса. Шестиугольный.

    Идея игры, думаю, всем знакома. Я постарался придать ей вкусную реализацию. Это:

    • Предсказуемое поведение фигур. Что-то типа физики. На пример, если вы хотите повернуть фигуру, а стенка ей мешает, то фигура подвинется. В разумных, конечно, пределах.
    • Скины.
    • Регулируемый размер поля.
    • Просто постарался придать этому делу приятный вид


    Написано это дело на Qt, без зависимостей от чего-либо ещё. Должно собираться везде. Я тестировал на Windows, Linux и FreeBSD; Qt от 4.4.1 (более старой под рукой не оказалось) до новенькой 4.7.0.

    Захостил я всё это, традиционно, на googlecode. Там же лежит статическая сборка под Windows, не требующая для работы ничего (кроме Windows ,-)).

    Процедура сборки и установки на любых UNIX-like системах — стандартная.

    Вам потребуется Qt с девелоперской частью. А дальше забираете исходники с сайта проекта и собираете:

    На некоторых системах qmake может назваться qmake-qt4, а вместо make потребуется написать gmake, nmake, mingw32-make или ещё что-то в этом духе.

    Последний шаг (install) не обязателен, приложение можно запускать и не устанавливая. Можно и удалить (make uninstall).

    Собственно, те, кто просто хотят попробовать эту штуку, могут начинать :-) Дальше информация для тех, кто хочет что-нибудь улучшить.


    Чего я ожидаю от сообщества


    (i) Подготовка пакетов для разных дистрибутивов


    Весь мой opensource опыт показывает, что я один не в состоянии поддерживать пакеты для разных дистрибутивов. Также, мне доподлинно известно, что на хабре тусуются весьма инициативные люди из ArchLinux и AltLinux ,-) наверняка есть представители и других дистрибутивов. Я запостил пакетик на AUR, но если кто-то возьмётся за его поддержку — передам с благодарностью.

    Если кто-то займётся сборкой пакетов — три просьбы.

    • Отпишите мне, если хотите, чтобы я держал вас в курсе обновлений. Кроме того, было бы полезно поставить ссылки на пакеты на сайте проекта.
    • Отпишите сюда. Потому, что сейчас люди начнут просить deb, rpm...
    • Сообщайте о всех затруднениях.
    Ну и — большое человеческое вам спасибо! :-)

    (ii) Предложения по дизайну, скинам, фичам, опечаткам...


    Принимаются и приветствуются! Простые вещи будут сделаны быстро, сложные — учтены на будущее. Пишите в комментарии и/или почту.

    (iii) Локализации


    Если кто-то владеет неким языком и захочет сделать локализацию — я всегда «за». Пишите! Если вы ничего не понимаете в Qt и её средствах локализации — не беда; пишите; локализация — это просто. Никто из участников проекта не будет забыт!


    Чего я не советую делать


    Я не обещаю, что с радостью приму ваш код. Если вы найдёте и поправите мелкие баги — пожалуйста. Но если вы захотите редактировать всё вообще, то, могу и не согласиться принять ваши правки в проект. Желание редизайнить может возникнуть по нескольким причинам:

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

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

    Не оптимальности. Иногда (ИМХО) полезней сохранить простоту, пусть даже ценой небольшой не-оптимальности.

    Не академичность. Я понимаю, что где-то просится машина состояний, паттерн State и централизация эмиссии сигналов, где-то просится Mementor, где-то могут вызвать протест не константные итераторы и прямой доступ к свойствам (таковых только два на всю прогу, но они всё же есть, каюсь)… Я согласен, что код не везде выглядит так, как того требуют учебники. Но мне не хотелось бы торопиться с имплементацией строгих схем. Пусть сперва обычные пользователи выскажут свои хотелки; пусть станет ясно, в какую сторону это всё следует развивать, и уже тогда можно взяться за ортодоксальное кодирование.


    Вы всё ещё читаете?


    Мне сказать больше нечего, но, возможно, вы сможете удовлетворить свою жажду чтения и тетриса по следующим ссылкам:

    • Тетрис меняет мозг с неизвестными последствиями для интеллекта http://www.membrana.ru/articles/health/2009/09/08/181600.html
    • Аналогичный проект. Вполне работоспособен, но не развивается с 1993 года со всеми вытекающими. Похоже, под Windows оно не заработает. ftp://ibiblio.org/pub/Linux/games/arcade/tetris/cxhextris.tar.z
    • Ещё один аналог, но я его не запускал. Написано оно на Python, но требует столько много всего, что у меня не установлено, что я решил не захламлять систему. http://mjr.iki.fi/software/ghextris
    • Программа под винду… но выглядит стрёмно :-) Я не пробовал запускать. http://members.chello.at/theodor.lauppert/games/hextrisw.htm
    • Частью моего проекта является прототип написанный на Tcl/Tk http://hexglass.googlecode.com/svn/tags/hexglass-1.0.0/prototype/xTetris.tcl
    • Знаете ли вы, что Qt-приложения поддерживают опцию -style? Попробуйте -style plastique или -style motif; попробуйте значения cde, windows, cleanlook… Возможно, какие-то стили вам понравятся; но у вас могут работать не все (зависит от сборки Qt).
    Всем успехов! Спасибо за фидбэк и берегите мозг :-)

    upd: cypok нашёл багу, которая выползает под Mac OS X. Если вы пользователь этой ОС, то вам необходимо последовать его рекомендации.

    Проблему можно исправить ещё и другим способом: заменив ":/icon.xmp" на ":/about_icon.xmp".

    upd2: Mezomish сделал PPA для Убунты. Спасибо ему!

    upd3: 12:20:23 MSD — 1000 скачиваний только виндовой сборки и только с сайта проекта! Хабр — сила! :-)
    Поделиться публикацией
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама
    Комментарии 102
    • +3
      Интересная идея и замечательная реализация! Уже запорол первый стакан =)
      • 0
        Клёвая. Смотрел из винды.
        Мне в подобных проектах нравится когда скины (звуки, тексты) лежат доступно в папочках, чтобы я мог под свой вкус что-то переделать.
        А из современных штук, надо минимум таблицу рекордов сетевую.
        Мозг действительно сворачивается, особенно от С-фигуры.
        • 0
          Тетерис?
          • +2
            Гектрис.
            • 0
              В основе названия Тетрис — слово «тетра» (четыре), что означает, что все фигуры строятся из четырёх элементов.
              Здесь от этого правила никуда не ушли, тоже все фигуры из четырёх элементов. Разве что элементы не кватратики, как в классическом тетрисе, а шестиугольники. Поэтому можно назвать гексо-тетрисом. Но само слово тетрис всё равно уместно.
              • +1
                там просто «тетЕрис» было написано в названии поста. ;)
                • 0
                  подтвеждаю, — в названии поста была опечатка :-)
                  • +2
                    Дык можно сделать эту программу для iOS именно с таким именем, а в неё встроить тетеринг (возможность использовать телефон, как модем для мобильного интернета на стороннем компьютере). Ну как было приложение Handy Light.

                    Тогда название Тетерис будет как бы намекать на тетеринг ;)
            • +3
              Под Mac OS X собирали, запускали?

              Результат запуска:
              Terminating app due to uncaught exception 'NSImageCacheException', reason: 'Cannot lock focus on image <NSImage 0x10134cff0 Size={0, 0} Reps=(
              )>, because it is size zero.'
              Call stack:
              ...
              ...
              16  QtGui                         	0x00000001000465fe qt_mac_set_app_icon(QPixmap const&) + 110
              17  QtGui                         	0x00000001000ae174 QApplication::setWindowIcon(QIcon const&) + 164
              18  com.yourcompany.hexglass      	0x00000001000031c6 main + 678
              19  com.yourcompany.hexglass      	0x0000000100002ef8 start + 52
              
              • +2
                hexglass.cpp:56
                app.setWindowIcon(QIcon(":/icon.xmp"));


                Я может не знаток, но сходу файл с именем icon.xmp я не нашел
                • +4
                  Соответственно удаление этой строки приводит к счастью
                  hexglass app under Mac OS X
                  • +2
                    Удаление этой строки лечит указанную выше проблему
                    under Mac OS X
                    • +1
                      Спасибо!

                      Написал upd.

                      Видимо, эта иконка просто не используется нигде, кроме мака, поэтому опечатка не выползала. Поэтому меня мучит вопрос: где вы увидите иконку, если вместо ":/icon.xmp" напишите сщуствующий файл ":/about_icon.xmp"?
                      • 0
                        Че-то какие-то странности, иконка вроде открывается нормально, но setWindowIcon ни как не работает, оставил без иконки.
                        • 0
                          Два вопроса:
                          1) То есть с ":/about_icon.xmp" всё собирается и запускается, но иконки не видно?
                          2) А какая у вас версия Qt?
                          • 0
                            Мистика, щас заработало, видимо где-то затупил до этого. А я уже и png пробывал подсовывать, тут щас проблема как qt статически прилинковать?
                            • 0
                              Я знаю только один способ. Саму qt надо собрать с ключом -static, и в qmake.conf для вашей платформы надо в к QMAKE_LFLAGS тоже добавить -static. Это предельно надёжно. Я понятно изъясняюсь или уточнить что где?

                              А какого размера иконку для мака принято делать?
                              • 0
                                doc.trolltech.com/4.4/deployment-mac.html#linking-the-application-to-qt-as-frameworks — прикладывая в сборку нужные QtCore и QtGui, ибо Qt пересобирать немного лень, да и в Mac OS там какие-то проблемы могут быть. Посмотрел на Last.fm плеер, морду Virtual Box — они тоже юзают фреймворки.

                                Щас скоро перевыложу, flymio надеюсь поможет протестить
                                • 0
                                  И да, забыл главное! Игра очень интересна, не думал что перевод на шестиуголники придаст столько свежести тетрису!
                        • +1
                          А можете собранное выложить? Спасибо.
                          • +1
                            Вот выложил, попробуйте.
                            • 0
                              Спасибо, добрый человек.
                              • 0
                                Dyld Error Message:
                                Library not loaded: /usr/local/Cellar/qt/4.6.3/lib/QtGui.framework/Versions/4/QtGui
                                Referenced from: /Applications/Hexglass.app/Contents/MacOS/hexglass
                                Reason: image not found
                                • 0
                                  Ну вот поэтому я и сказал «попробуйте» :)

                                  Щас подумаю
                                  • 0
                                    Hexglass со статическими Qt библиотеками, можете попробовать?
                              • 0
                                Поддерживаю, выложите сборку под макось пожалуйста…
                          • +4
                            Могу сделать PPA для Убунты (если никто ещё не обращался с таким предложением).
                            • +7
                              Сделал. Желающим:

                              $ sudo apt-add-repository ppa:mezomish/qtapps
                              $ sudo aptitude update
                              $ sudo aptitude install hexglass

                              Ubuntu 10.04 и Ubuntu 10.10 (x86 точно уже собралось, amd64 на подходе).
                              • 0
                                Спасибо! Добавил upd.
                                • 0
                                  Для 9.10 (Karmic Koala) тоже сделал. Только репозиторий нужно добавлять командой

                                  $ sudo add-apt-repository ppa:user/ppa-name

                                  Начиная с 10.04, видимо, можно использовать оба варианта: apt-add-… и add-apt-…
                                  • 0
                                    Ой, в смысле

                                    $ sudo add-apt-repository ppa:mezomish/qtapps
                                    • 0
                                      Любопытно, но работают оба варианта.
                                      • 0
                                        У меня apt-add-… не работал в 9.10. А может мне просто пора было ложиться спать… %)
                            • +3
                              Да, кстати: я когда прочитал топик, увидел фразу «шестиуголный тетрис» — мозг тут же выдал «hextris». А «hexglass» как-то не очень ассоциируется с тетрисом.
                              Хотя хозяин-барин, конечно.
                              • +2
                                Дело в том, что слово «тетрис» является зарегистрированной торговой маркой. Я не уверен, что его можно использовать в названиях проектов. Разбираться я не стал, просто решил не использовать и всё :-)
                                • 0
                                  Ну, само-то слово «тетрис» в названии «hextris» не содержится. У них просто похожие окончания, что не является нарушением торговой марки. Кстати, приведённый ниже Ghextris включён в официальный репозиторий Debian, а это о чём-то говорит — Debian известен своей строгой политикой по отношению к лицензиям/авторским правам и пр. (все помнят историю с Firefox/Iceweasel?)
                              • 0
                                по привычке жал на пробел, чтобы повернуть фигуру, а она стрелками вверх/вниз поворачивается.
                                • +10
                                  Это что за привычка? Всю жизнь пробел обрушивал фигурки вниз, а не крутил.
                                  • 0
                                    Стрелкой «вверх» крутить, стрелкой «вниз» обрушивать
                                    • +4
                                      Однозначно…
                                      Одна рука, и только стрелки…
                                      Пробел и прочее, может дублировать, но под одну руку будет удобнее…

                                      P.S.
                                      Это ж OpenSource!!!
                                      Берем в руки напильник и hexglass/src/widgets/window.cpp…
                                      Находим

                                      case Qt::Key_Down:
                                      emit shift(FIGURE_ROTATE_RIGHT);
                                      break;

                                      Меняем на

                                      case Qt::Key_Down:
                                      emit drop_down();
                                      break;

                                      Наслаждаемся привычным управлением,
                                      направляем автору лучи благодарности ;)

                                      P.P.S.
                                      Я не виноват, что подсветка синтаксиса работает «только для белых»…
                                    • 0
                                      У каждого свои привычки, я вот например жал на кнопку вниз в надежде что оно вниз полетит, а оказывается это делается пробелом (и узнал я это из вашего поста ;) )
                                      • 0
                                        Я немного поясню, почему и что я сделал :-)

                                        Верх/вниз не просто крутят, а крутят в разные стороны. Это сделано потому, что у шестиугольной фигуры может быть шесть разных положений. В таких условиях проще один раз нажать «вверх», чем пять раз «вниз» (для получения того же результата).

                                        Про «пробел» и «ентер», — согласен, что не все ожидают от них именно такого поведения; поэтому я написал про них в «помощи» ,-)
                                  • 0
                                    А ещё можно шестиугольный трехмерный. Чтобы в трех измерениях фигуры собирать :)
                                    • +2
                                      лучше тогда уж сразу четырехмерный, чтобы без пол-литра ни одной строки убрать было нельзя :D
                                      • 0
                                        Ввиду крайне низкого опыта кросскомпиляции всё-же не постесняюсь и спрошу.
                                        В классических исходниках для компиляции на другую платформу указывается нечто вроде ./configure --host=arm-processor --prefix=/toolchain/arm-processor, далее в папках /toolchain/bin находятся альтернативные arm-processor-gcc, а в папке /toolchain/arm-processor/bin, /toolchain/arm-processor/include альтернативные файлы для компиляции (инклудесы например).
                                        Я к тому, что MAKEFILE нет? Или какого-либо configure?
                                        • 0
                                          Makefile генерится из .pro-файла командой «qmake». Как обстоят дела с кросскомпиляцией Qt-программ — к сожалению, не знаю.
                                          • +1
                                            Разобрался, +1 к экспириенсу.
                                            В общем, вот dl.dropbox.com/u/626643/Makefile.zip Makefile для тех, кому он возможно понадобится и тех, у кого нет qmake.
                                            • +1
                                              Осторожно! Makefile, генеримый qmake-ом, зависит от параметров сборки Qt. На разных платформах эти параметры могут отличаться. Использование чужого Makefile может привести к странным эффектам. Лучше генерите свой.
                                              • 0
                                                В общем случае верно. В моём случае всё равно ручками редактирую его (компилирую под handheld dingoo a320), а раз мне понадобилось, то предположил, что кому то понадобится тоже.
                                        • 0
                                          Нажал пробел чтоб фигурка упала и жал пока до низа не долетит по привычке, а отпустил позднее и следующую фигурку захватил… :( и так несколько раз — сила привычки наверное. Может сделать чтоб пробел именно вниз фигурку опускал со скоростью, но чтоб можно было отпустить и фигурка бы снова замедлилась? И чтоб нажатие на пробел на одной фигуре не влияло на следующую.
                                          • 0
                                            +1, очень часто «чуть-чуть» приопускаю фигурку
                                          • +1
                                            (iii) Локализации
                                            мы в свое время зарегистрировались на www.transifex.net теперь с локализацией вообще проблем нет, причем переводы начиная от гальского заканчивая корейским
                                            • 0
                                              Спасибо! Попробую.
                                              • 0
                                                А можете описать в двух словах процесс использования? Есть ли импорт существующих переводов (или заготовок для перевода), или нужно руками строки для перевода вбивать?
                                                • 0
                                                  если коротко то:
                                                  1) зарегистрировались, назначили права тем кто постучался с предложил поучаствовать
                                                  2) дали доступ боту на запись в реп
                                                  3) эм… всё…
                                              • +1
                                                Аккуратненький код. С ходу даже придраться не к чему
                                                • 0
                                                  Можно вопрос? Я так понимаю, кроме QT всё таки есть привязка к X11?
                                                  • 0
                                                    Если компилится под виндой, то привязки к X11 нету.
                                                  • 0
                                                    Скажите, а какие еще у вас есть open-source поделки? Интересно было бы тоже посмотреть.
                                                  • +1
                                                    Сейчас проверю собираемость на Сизифе.
                                                    Могу и в репо закинуть, если до меня ни кто не сделал этого…
                                                    Кричите в личку, если уже…
                                                    • 0
                                                      В новых пакетах я не вижу. Если закинете, — пишите обязательно. Спасибо!
                                                      • 0
                                                        Та погодь… Я еще не наигрался ;)

                                                        А пакет в Сизифе появится завтра, если я отправлю его на сборку сегодня…
                                                        Если…
                                                        Сам виноват ;)

                                                        P.S.
                                                        Собралось без вопросов на qt4-4.7.0
                                                        Теперь еще нужно красивый *.desktop…
                                                        Иконку ему, чтоб в меню нарисовалось…
                                                        И spec-файл, который сам по себе отдельный квест…
                                                        • 0
                                                          для *.desktop наверно можно использовать иконку resources/about_icon.xpm или конвертированный resources/hexglass.ico. Если я могу чем-то помочь, — пишите.
                                                          • 0
                                                            >Теперь еще нужно красивый *.desktop…

                                                            Можете использовать мой, который я для Убунты сделал: pastebin.com/aumnkxaC
                                                            Иконку я использовал about_icon.xpm, закинув её в /usr/share/pixmaps под именем hexglass.xpm
                                                            • 0
                                                              Спасибо…
                                                              Я, правда, иконку в PNG конвертировал…

                                                      • +2
                                                        Мичурин молодец.
                                                        • +1
                                                          Игра Суперская! Хочу такую под Андройд!!!

                                                          Еще есть предложение такое: клавиша Enter в каком то смысле дублирует Space. Лично я бы предпочел чтобы Space выполнял её функцию, а от обычного бросания отказались бы. Впроченм, после небольшой тренировки можно и к такому управлению привыкнуть
                                                          • 0
                                                            Полностью поддерживаю! Очень хотелось бы поиграть на нее в телефоне. Я бы даже заплатил бы, если она была бы платной… :)
                                                            Загружайте на маркет, один покупатель у вас уже есть :)
                                                          • 0
                                                            Нескромный вопрос автору: у Вас коммерческая версия Qt? Иначе статическая линковка Windows-версии (если мне не изменяет мой склероз) не разрешена?
                                                            • 0
                                                              Вот подробный рассказ из первых рук. Как я понимаю, статически нельзя линковать только определённые части. Я их и не линкую. Для верности, я всю Qt собираю без них. Или я не прав? Вопрос не праздный.
                                                              • 0
                                                                а если мне не изменяет память, то с недавнего времени некоммерческая версия Qt имеет лицензию GPL и LGPL на выбор.
                                                                А потому можно линковать как хочет ))
                                                              • 0
                                                                паузу и чтобы растягивалось на весь экран сделайте пожалуйста.
                                                                • 0
                                                                  Пауза есть, в помощи написано…
                                                                  А растянуть на весь экран, будет не красиво…
                                                                  • 0
                                                                    Паузы в меню не хватает, ожидал её там увидеть и не увидел. И сделать автопаузу на время, пока открыто меню.
                                                                    • 0
                                                                      А кнопку «p» на буржуйской раскладке нажать не пробовал?
                                                                      А «F1» нажать религия не позволяет?
                                                                      • 0
                                                                        Справку прочитал ДО того, как это писать, и про клавишу «p» в курсе.
                                                                        Что за агрессия? Я просто ссылкой промазал. Автор просил фичреквесты делать, я сделал.
                                                                        • 0
                                                                          Ни какой агрессии…
                                                                          Я сейчас вообще благодушен, ибо весь в игре ;)
                                                                          Пауза в меню? Так до нее еще дотянутся нужно.
                                                                          Она на кнопке, и это удобно…

                                                                          Именно это я вам и объяснил.
                                                                          • 0
                                                                            Да понятно, я просто только включил игру и мне позвонили в скайп. Есть у меня виндовая привычка хоткеи смотреть по меню, а не по справке ;) Думаю, я не один такой.
                                                                            • +1
                                                                              Эх…
                                                                              Это у вас там, в винде, хоткей, это способ вызвать пункт меню…
                                                                              А у нас, хоткей — вызов действия (action)…
                                                                              Можно и без меню…

                                                                              Зачем перегружать интерфейс?

                                                                              P.S.
                                                                              Замечания про «у нас» и «у вас», не ради флейма, и не в целях обидеть кого-то…
                                                                            • 0
                                                                              Ну и менюхой с автопаузой удобнее пользоваться, само собой.
                                                                  • +2
                                                                    Не хватает подсветки той зоны, куда упадет фигурка, тяжело ориентироваться в некваратном мире.
                                                                    • +2
                                                                      ;)
                                                                      Еще и большую кнопку «Разложить автоматически»…
                                                                      В том-то и задача, заставить мозги работать, а не шлепать по шаблону…

                                                                      Игра — супер!
                                                                      В свое время мы на классическом тетрисе мозги тренировали…
                                                                      Потом пошли всякие клоны с бонусами и прочей фигней…
                                                                      Трехмерный еще был, то же супер…

                                                                      Теперь вот гекс-* на весьма продолжительное время остановит работу ;)
                                                                      • +1
                                                                        так в этом же вся суть?! ,-)
                                                                        • 0
                                                                          может, сделать опционально? ;)
                                                                      • +1
                                                                        Всегда любил досовскую игрушку maxtris. Эта покрасивее.
                                                                        • 0
                                                                          Можно разнообразить фигуры вариантами от 3 до 6(или 7) шестиугольников в каждой фигуре. Можно как опцию сделать — играть ещё интересней будет.
                                                                          • 0
                                                                            Спасибо за AUR-пакет! Будет чем заняться вечерком)
                                                                            • 0
                                                                              Отписал ubuntugamer'у.
                                                                              • 0
                                                                                Спасибо. Сподвигли начат писать свою игру. А как реализован поворот фигуры?
                                                                                • 0
                                                                                  Путём линейных преобразований координат :-)
                                                                                • 0
                                                                                  А можно примерчик? Или указание на то где в коде написано?
                                                                                • +2
                                                                                  Отличная игра! Сбежалась вся семья, включая 3-летнего ребёнка :)
                                                                                  • 0
                                                                                    habrahabr.ru/blogs/open_source/104997/

                                                                                    А у меня вопрос следующий. В статье указано: «Я тестировал на Windows, Linux и FreeBSD; Qt от 4.4.1 (более старой под рукой не оказалось) до новенькой 4.7.0.»

                                                                                    Каким образом Вы этого добились, потому что сейчас я собираю свои приложения под Qt 4.6 в SuSE и в Windows. Этот процесс у меня не очень прост, как буду переходить на 4.7 не представляю. А Вы столько версии протестировали и под разные системы. Поделитесь секретом :) Что бы не захломлять можно в личку :)
                                                                                    • 0
                                                                                      За ссылку извините, просто интернета не было, я в gedit скопировал что бы не потерять, незаметил что она тут.
                                                                                      • 0
                                                                                        Не удивительно :-) В 4.6.3 есть глюки (под виндой точно), которые признали даже разработчики. (Они там что-то переименовали и не везде поменяли названия). Я много гуглил, прежде, чем разобрался.
                                                                                        А добился я просто. У меня есть несколько виртуальных машин. Все версии Qt собираются на них неделю. Дальше всё на много быстрее.
                                                                                        Если вы посмотрите внимательно на даты, то заметите, что прототип был написан 4 года назад :-) у меня время было пособирать разные Qt :-)
                                                                                    • 0
                                                                                      Замечательная игра. Идея отличная. Это лучший клон тетриса, который я когда-либо видел.

                                                                                      Было бы неплохо добавить:

                                                                                      1. Подсветку проекции фигурки на нижнюю грань стакана (чтобы было видно, куда падает фигурка).
                                                                                      2. Таблицу рекордов.
                                                                                      3. Сделать так, чтобы фигурка ускоряла падение только пока держишь пробел, а если отпустить — продолжала падать с нормальной скоростью.

                                                                                      В остальном всё сделано шикарно.
                                                                                      • 0
                                                                                        Собрал под ARM устройство (GPX Caanoo). Запускается.
                                                                                        Но играть нельзя, ибо на нём нет клавиатуры (но есть джойстик, аналоговый с двумя осями)
                                                                                        • 0
                                                                                          Сам допишу, используя это:
                                                                                          www.batcom-it.net/?p=59
                                                                                          Иначе все, использующие джойстики, идут лесом.

                                                                                        Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.