|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
29.08.2009, 17:33 | #1 |
Непрофессионал
Участник клуба
Регистрация: 01.01.2008
Сообщений: 1,405
|
Модель Кубика-Рубика
Недели три назад появилась идея - написать что-то типа ScreenSaver_a (программы-заставки).
Выбрал тему - собирающийся и разбирающийся Кубик Рубика. Вот, собрал физическую модель кубика. Зацените. А с логической моделью как-то не всё гладко. Сначала думал загнать всю инфу по кубику в трёхмерный массив. Каждый элемент массива ассоциируется с одним элементом кубика-Рубика. Элемент кубика Рубика - это тоже кубик, некоторые из граней которого окрашены в разные цвета. Таким образом, каждый элемент массива определяет какие грани элемента кубика окрашены и какими цветами. И, вообщем, неудобная модель получилась - при повороте граней, приходится перегонять очень много данных внутри этого массива, причём не просто перегонять, а ещё и интеллектуально (в зависимости от направления поворота грани) менять значения элементов массива. Может кто другую модель предложит, более логичную.
И чем больше я узнавал людей, тем больше мне нравились компьютеры.
------------------------------------ Страничка с моими программками http://ulex-masm.ru |
29.08.2009, 18:05 | #2 |
Участник клуба
Регистрация: 12.10.2007
Сообщений: 1,204
|
Красиво нарисовано.
Заметил одну недоработку. Если окно перетащить мышкой, пропадает часть кубиков. В архиве мой вариант с исходниками (Delphi+OpenGL)- это к вопросу о модели. Последний раз редактировалось alexBlack; 29.08.2009 в 18:09. |
29.08.2009, 22:45 | #3 | |
Заблокирован
Старожил
Регистрация: 20.07.2008
Сообщений: 4,032
|
Моя идея организации модели:
Цитата:
|
|
29.08.2009, 23:45 | #4 |
Linux C++ Qt ARM
Старожил
Регистрация: 30.11.2008
Сообщений: 3,030
|
Вообще класно. Еще можно сделать, что бы человек мог запутать кубик, а программа его собрать, ну или наоборот, зупутывал бы человек, а собирала программа. (если нужно, могу дать очень простой и понятный алгоритм сборки)
Дилетант широкого профиля.
"Слова ничего не стоят - покажите мне код!" © Линус Торвальдс Последний раз редактировалось ROD; 29.08.2009 в 23:49. |
30.08.2009, 02:56 | #5 | ||
Студент, не
Старожил
Регистрация: 29.01.2009
Сообщений: 2,067
|
Потрясающе... ^___^
Только надо бы ещё чуть сверху подсвечивать, а то уж слишком темновато получилось (во всяком случае у меня)... А может можно сделать настоящий ScreenSaver? Я бы себе такой поставил... Цитата:
Цитата:
I am the First of Cyber Evolution...
I am the First to Program your Future... |
||
30.08.2009, 03:19 | #6 |
В тени
Старожил
Регистрация: 19.12.2008
Сообщений: 5,788
|
Понравилось. Красиво получилось..
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем. ___________________________________ ___________________________________ _______ [=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль] |
30.08.2009, 08:41 | #7 |
Участник клуба
Регистрация: 12.10.2007
Сообщений: 1,204
|
Скорее всего версия Delphi. Не компилируется этот фрагмент:
Код:
Как вариант можно переписать следующим образом: Код:
Последний раз редактировалось alexBlack; 30.08.2009 в 08:45. |
30.08.2009, 20:38 | #8 |
Непрофессионал
Участник клуба
Регистрация: 01.01.2008
Сообщений: 1,405
|
Исправил ошибку с исчезающими кубиками.
Потихоньку адаптирую программу под Screen Saver. В связи с этим проблема, не могу скрыть окно программы, чтобы при запуске приложения-заставки в свойствах экрана в предварительном просмотре его не было видно. И ещё не знаю как сделать, чтобы программа закрывалась при выходе из свойства:экран->заставка.
И чем больше я узнавал людей, тем больше мне нравились компьютеры.
------------------------------------ Страничка с моими программками http://ulex-masm.ru |
30.08.2009, 22:01 | #9 |
Участник клуба
Регистрация: 12.10.2007
Сообщений: 1,204
|
Вот здесь рекомендации по созданию . Пункт 3 .... и 4, а то кнопочка экран/заставка/параметры доступна, но запускает сам сейвер в полном окне и закрыть его можно только по Alt+F4.
|
30.08.2009, 22:14 | #10 |
Linux C++ Qt ARM
Старожил
Регистрация: 30.11.2008
Сообщений: 3,030
|
Что-то после первой "паузы" (когда кубик перестал вращать грани,и просто стал крутиться) и последующем начале вращения граней, у меня верхняя грань начала вращаться без перерыва.
Дилетант широкого профиля.
"Слова ничего не стоят - покажите мне код!" © Линус Торвальдс |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Даталогическая модель | Шульц | БД в Delphi | 0 | 27.12.2008 23:44 |
3D модель в GLScene | -=<[Evklidd]>=- | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 4 | 04.02.2008 15:32 |
Модель бензоколонки | forester | Помощь студентам | 23 | 11.10.2007 15:17 |