Как стать автором
Обновить

Комментарии 97

>> IE за браузер не считаем

Дальше не читал.
хорошо, что не:

> >> Кубик Рубика
>
> Дальше не читал.
Пора переходить на что-то нормальное а не зацикливаться на старом.
НЛО прилетело и опубликовало эту надпись здесь
Меня всегда удивляло — какое другим людям дело, какой у меня браузер? Кому какое дело, на каком языке я пишу? Кому какое дело, какая у меня ОС?
Так нет же, всегда находятся такие, кто будет кричать — ставь файрфокс! Ставь оперу! Ставь Виндоуз! Линух форева!
Личный вопрос можно? Какое вам дело, что у кого-то стоит IE? Лично мне нет до этого никакого дела.
на этот раз пятницо явилось в образе Кубика Рубика:)
Вы просто умничка!
НЛО прилетело и опубликовало эту надпись здесь
Цвета легко настраиваются. Скажите шесть хороших цветов в формате #rrggbb, я заменю :-)
Используйте оригинальные цвета кубика.
Красный: #FF0000
Оранжевый: #FF8000
Жёлтый: #FFEB00
Белый: #FFFFFF
Синий: #0000FF
Зелёный: #00DC00
И не забудьте:
Белый напротив желтого,
Синий напротив зеленого,
Красный напротив оранжевого.
И с одной стороны видны белый, синий и красный так, что белый сверху, синий справа, а красный слева.

Так будет максимально верно.

Как-то так.
Сделал, только зелёный поставил сильно темнее. А то приведённые цвета — пытка для дихроматов :-) У меня вроде был в детстве кубик с тёмно-зелёным.
НЛО прилетело и опубликовало эту надпись здесь
Градиенты отключаются кнопкой Flat над кубиком.
НЛО прилетело и опубликовало эту надпись здесь
Вебсторейдж тут не гуд вариант. Его надо юзать разве что на действия в сессию. Сохранение должно быть именно на сервере, иначе пришел с работы дамой и Бааа! жди понедельника.
НЛО прилетело и опубликовало эту надпись здесь
а что их синхронизировать? запомнили на сервере id юзера + текущее расположение блоков.
НЛО прилетело и опубликовало эту надпись здесь
энд? какое страшное слово… наверное это будет первый сайт в интернете с «авторизацией».

нашли чем ежа пугать.
НЛО прилетело и опубликовало эту надпись здесь
Можно просто кодировать статус в строчку, которую человек может закинуть себе на флэшку или переслать по е-мейлу и потом назад вставить в поле для загрузки. Не хочется добавлять к этому сервер-сайд код.
тогда прямая дорога к мошенничеству =) на клиентсайде реализовать сколь-нибудь действенную защиту нереально.
Ну это не тот случай, чтобы защита нужна была. Чемпионат по сборке кубиков онлайн? :-) Программы должны помогать людям, даже если человек хочет читерить :-)
НЛО прилетело и опубликовало эту надпись здесь
почему бы и нет?
сделать сайт с авторизацией, рекордами и соревнованиями (как мелькавший тут тетрис), и с вашим «рубик-движком» :)
у меня прочиталось «пришел с работы дáмой» — долго думал :)
У меня в IE9 работает
НЛО прилетело и опубликовало эту надпись здесь
шикарно, а из Shuffle (animated) при 11x11 вообще можно скринсейвер делать
Спасибо, в детстве небыло, хоть сейчас покручу
Что-то по-моему перспектива — наоборот, задняя стенка больше передней.
визуальный эффект. Глаз привык к перспективе.
Да нет, не визуальный, вот посмотрите например на стандартное положение кубика, верхние грани, левая и правая не параллельны, ну и если кубик повернуть фронтально — то задняя стенка немного — но выпирает.
Правда-правда визуальный эффект :-)
Я даже в графическом редакторе проверил… и правда визуальный эффект… жуть :)
Вы знаете, я не поверю, что человек осознанно программировал обратную перспективу. А то, что аксонометрия дает легкий эффект обратной перспективы — общеизвестно.
Человек вполне себе осознанно может ошибаться :) в том числе при реализации перспективы.
Это ж как нужно ошибиться? ;) Это из разряда:
— Что вы делаете в моей машине?
— Ой, я просто ошибся и сел не в свою!
;)

ЗЫ Undo после Shuffle прикольно работает ;)
Просто изометрия. То, что задняя грань такая же по длине как передняя можно легко проверить.
Для IE есть excanvas(http://code.google.com/p/explorercanvas/), IE9 превью умеют работать с канвасом — почему бы и не допилить?
Написал же — лень :-) Я знаю про excanvas и использовал её.
перспективу бы не изометрическую и все было бы отлично :)
Еще бы, для ленивых владельцев разобранного кубика, сделать инструмент для быстренькой пошаговой сборки :)
Кнопка shuffle кладёт вращения в undo-буфер. Поэтому можно после shuffle нажать 50 раз undo, и кубик вернётся в исходное состояние =)
Управление — лучшее из тех, что я видел (и делал:)).
Единственное, надо перспективу сделать, чтоб во время поворота самого кубика мозг не нагревался и будет великолепно.
Ах, да забыл, вращение кубика шифтом неудобно, идеально, когда всё ложится на мышь, например вместо зажатия шифта можно сделать зажатие правлй кнопки (всё равно не используется)
Сделал. На вебе обычно не стоит закладываться на правую кнопку (к примеру, пользователь может запретить переопределять контекстно меню в опциях Javascript). Кроме того есть мако-юзеры без правой кнопки :-) Так что я оставил шифт как альтернативу.
у оперы на «зажатая правая кнопка+движение влево-вправо» повешены гестуры, т.е. взад-вперед по истории страниц можно бегать. Повернул Ваш кубик влево, отпустил правую кнопку и обратно на хабр попал :)

так, что шифт очень даже нужен.
lany — искренне восхищаюсь ;)
сколько вы потратили времени если не секрет?
Пару дней с перерывами. Чистого времени — не знаю… Часов 15, может…
Спасибо, всё очень понравилось.
перспективную проекцию бы. делается просто, плюсов — много.
Самый простой способ: снять на видео «Shuffle (animated)» и прокручивая обратно — решить головоломку.
Даешь высокие технологии! :)
Нажмите после shuffle (необязательно animated) кнопку undo 50 раз (можно быстро подряд) и наслаждайтесь =)
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Сделал, но у меня не было такой проблемы. Посмотрите, помогло ли :-)
НЛО прилетело и опубликовало эту надпись здесь
А, вы про эти команды. Я думал, про мышиные эвенты на самом канвасе. Сейчас лучше?
НЛО прилетело и опубликовало эту надпись здесь
Ну если подскажете, что дописать, то допишу :-)
Багофича:
если усердно крутить кубик, то он увеличивается или уменьшается:

dl.dropbox.com/u/1604499/capture-2.mp4
(1,2 Мб если заботитесь о траффике)
404.
Там есть кнопки zoomIn/zoomOut. Может, вы их случайно нажали?
Сорри, сейчас будет.
Ага, интересная бага. После последней модификации вращения в матрице преобразований стала накапливаться погрешность. Сделал нормализацию матрицы, спасибо.
автор, добавьте заголовок HTML5 doctype html и ie9 автоматом переключится в режим поддержки стандартов и все заработает
Сейчас лучше?
да, все работает, спасибо
Спасибо автору, поразмялся немного. К управлению, действительно, привыкаешь довольно быстро.

Чуть попроще.
Так этот-то из полностью собранного делается в 4 поворота :)
А так собрать слабо? :D
Неа


НЛО прилетело и опубликовало эту надпись здесь
Небольшая проблема: shuffle иногда крутит один и тот же слой несколько раз подряд в разных направлениях.
Я знаю. Ну пускай, вам что ли жалко? :-) Если кажется, что замес недостаточно сложный, нажмите шаффл ещё раз :-)
Не жалко. Клевая игрушка:)
Спасибо! Мне понравилось!

А вот это мне точно слабо о_О
Насколько я понимаю, это делается аналогично схемам K11-K13 из алгоритма 5×5, любой из которых будто бы естественно расширяется на любые внутренние кубики. Но выглядит красиво, да :-)
Я ничего, кроме как 2x2x2 и 3x3x3, не пробовал ни разу.
За что Вам ещё раз отдельное спасибо — сейчас кручу 4x4x4 :)
Да я тоже на своей программе большие размеры впервые попробовал :-) Теперь хочу уже купить хардварный 5×5 =)
Это собирается так же, как и окошки выше.
1) Любой центральный синий слой вращаем в сторону белого
2) Любой красный в сторону белого
3) Синий обратно
4) Красный обратно
В результате 4 поворотов получаем 1 синий «пиксель» на белом фоне.
Аналогично можно собрать любую двухцветную картинку. За это я и люблю многомерные кубики. Жаль у меня только 7*7*7 есть, уже хочу 11*11*11 и больше. )
А-а, блин, точно! Спасибо :)
И правда просто :-)
я нажал Shuffle (animated), потом понял, что это надолго, и нажал Shuffle (fast)
он сработал, но Shuffle (animated) продолжился :)
есть ли способ остановить/отменить Shuffle (animated)?
Есть. Надо нажать Reset :-)
Можно написать отдельную функцию в три строчки, которая очистит очередь анимации.
я имел в виду — остановить без ресета, с сохранением уже имеющегося Shuffle
интуитивно я нажал Shuffle (fast) именно затем, чтоб Shuffle (animated) прекратился

на самом деле — это всё плюшки :)
сделано супер!
Меня предыдущие посты сподвигли на написание on-line решалки для кубика. Пока программа показывает только процесс решения по пунктам. Теперь думаю, как бы визуализировать процесс, чтобы показывала что-то типа видео-ролика с поворотами граней.
Ну если вы на JS пишете, то прикручивать решатель к моему коду совсем несложно. Загоняйте очередную комбинацию в cube.addSliceRotation, затем ждите, пока cube.animationQueue не опустеет, тогда продолжайте. Текущее состояние кубика в cube.state[грань][номер_элемента], взаимное расположение граней в cube.neighbors. Можно прикрутить к анимации callback, чтобы после завершения текущей анимации управление назад переходило к решателю.
Надо будет попробовать.
НЛО прилетело и опубликовало эту надпись здесь
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории