Pull to refresh

Comments 102

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

Тогда название Тетерис будет как бы намекать на тетеринг ;)
Под 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
hexglass.cpp:56
app.setWindowIcon(QIcon(":/icon.xmp"));


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

Написал upd.

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

А какого размера иконку для мака принято делать?
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 надеюсь поможет протестить
И да, забыл главное! Игра очень интересна, не думал что перевод на шестиуголники придаст столько свежести тетрису!
А можете собранное выложить? Спасибо.
Спасибо, добрый человек.
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
Ну вот поэтому я и сказал «попробуйте» :)

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

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

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

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

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

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

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

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

Можете использовать мой, который я для Убунты сделал: pastebin.com/aumnkxaC
Иконку я использовал about_icon.xpm, закинув её в /usr/share/pixmaps под именем hexglass.xpm
UFO just landed and posted this here
Игра Суперская! Хочу такую под Андройд!!!

Еще есть предложение такое: клавиша Enter в каком то смысле дублирует Space. Лично я бы предпочел чтобы Space выполнял её функцию, а от обычного бросания отказались бы. Впроченм, после небольшой тренировки можно и к такому управлению привыкнуть
Полностью поддерживаю! Очень хотелось бы поиграть на нее в телефоне. Я бы даже заплатил бы, если она была бы платной… :)
Загружайте на маркет, один покупатель у вас уже есть :)
Нескромный вопрос автору: у Вас коммерческая версия Qt? Иначе статическая линковка Windows-версии (если мне не изменяет мой склероз) не разрешена?
Вот подробный рассказ из первых рук. Как я понимаю, статически нельзя линковать только определённые части. Я их и не линкую. Для верности, я всю Qt собираю без них. Или я не прав? Вопрос не праздный.
а если мне не изменяет память, то с недавнего времени некоммерческая версия Qt имеет лицензию GPL и LGPL на выбор.
А потому можно линковать как хочет ))
паузу и чтобы растягивалось на весь экран сделайте пожалуйста.
UFO just landed and posted this here
Паузы в меню не хватает, ожидал её там увидеть и не увидел. И сделать автопаузу на время, пока открыто меню.
UFO just landed and posted this here
Справку прочитал ДО того, как это писать, и про клавишу «p» в курсе.
Что за агрессия? Я просто ссылкой промазал. Автор просил фичреквесты делать, я сделал.
UFO just landed and posted this here
Да понятно, я просто только включил игру и мне позвонили в скайп. Есть у меня виндовая привычка хоткеи смотреть по меню, а не по справке ;) Думаю, я не один такой.
UFO just landed and posted this here
Ну и менюхой с автопаузой удобнее пользоваться, само собой.
Не хватает подсветки той зоны, куда упадет фигурка, тяжело ориентироваться в некваратном мире.
UFO just landed and posted this here
так в этом же вся суть?! ,-)
может, сделать опционально? ;)
Всегда любил досовскую игрушку maxtris. Эта покрасивее.
Можно разнообразить фигуры вариантами от 3 до 6(или 7) шестиугольников в каждой фигуре. Можно как опцию сделать — играть ещё интересней будет.
Спасибо за AUR-пакет! Будет чем заняться вечерком)
Спасибо. Сподвигли начат писать свою игру. А как реализован поворот фигуры?
Путём линейных преобразований координат :-)
А можно примерчик? Или указание на то где в коде написано?
спасибо — внесли ясность
Отличная игра! Сбежалась вся семья, включая 3-летнего ребёнка :)
habrahabr.ru/blogs/open_source/104997/

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

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

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

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

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

Articles