Форум программистов, компьютерный форум, киберфорум
Наши страницы
Бета-тестирование
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
infobos
Строитель
455 / 72 / 4
Регистрация: 18.06.2010
Сообщений: 499
1

Игра Кубик Рубик для Windows

09.08.2017, 09:14. Просмотров 2013. Ответов 64
Метки нет (Все метки)

Опишу свой путь развития:
Я программист уже более 10 лет. Серьезно к трехмерной графике начал присматриваться в январе 2017 года.
В январе 2017 года начал изучать DirectX, OpenGL, C++, ООП подтянул.
Подтолкнуло меня изучать реалистичную трехмерную графику для своих будущих проектов, а именно хочу сделать помощник по расчету инженерных коммуникаций.

При изучении начал осознавать, что это оказалось достаточно сложным процессом, и перед этим решил получить небольшой опыт и поставил себе цель сделать две игрушки:
1. Игра лабиринт: Игра Лабиринт 3D (вторая часть) – генерация уникального большого лабиринта (4 уровня сложности)
2. Игра Кубик Рубик (эта тема посвящена тестированию этой игры)

Из всего опыта подметил больше всего – это умение правильно писать код. Так чтобы проекты писались очень быстро. Я в играх не использовал и пока не собираюсь вообще использовать подключаемые библиотеки типа GLUT. Можно без GLUTa делать приложения. Конечно не обошелся от помощи других профессионалов в этой сфере. Приходилось вставлять готовые открытые алгоритмы в программный код.

В общем, приложение должно работать на Windows7,8,10. Буду признателен, если проверите работу на windowsXP. Хотя ХP похоже уже не пользуется спросом.

Если получите ошибки в программе просьба: Прислать скриншот, указать операционную систему и видеокарту.

Управление в игре Кубик Рубик:

Вращение всего кубика: Удерживаете правую кнопку мыши и двигаете мышку по экрану. Причем двигать можно не только верх, вниз и по диагонали. Но можно и вокруг кубика и вы увидите, что-то новое в управлении… Такое управление я не видел в играх других производителей игр. Это была моя идея сделать такое движение. И мне помог ее сделать один опытный программист. Не знаю, только стоит его рекламировать или нет.
Вращение части кубика: Удерживайте левую кнопку мыши и двигайте мышку в ту сторону, в которую хотите, чтобы вращался механизм. Прицелились мышкой в нужный квадратик, и далее удерживайте левую кнопку мыши и двигайте в ту строну, в которую хотите, чтобы он повернулся.
Клавиша 1: Запутать кубик
Клавиша 2: Собрать кубик

Кстати игру написал на Visual Studio 2012 приложение win32 С++. Голый WinAPI+OpenGL, без всяких помощников вроде GLUTа. Использованы стандартные библиотеки <gl\gl.h> <gl\glu.h>, которые не нуждаются в подкреплении современных ОС Windows. Также потому что функции из этой библиотеки грузятся с драйверами видеокарты. Поэтому приложение должно запускать без проблем.

Возможно, что со старыми видеокартами будут проблемы из-за отсутствия функций. Хотя использовал в рисовании glBegin()glEnd(), чтобы максимально заставить работать на всех ПК. Может случайно захватил другие функции, просто не проверял код и не убирал лишнее.
5
Миниатюры
Игра Кубик Рубик для Windows  
Вложения
Тип файла: rar KubikRubik.rar (75.8 Кб, 39 просмотров)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.08.2017, 09:14
Ответы с готовыми решениями:

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

Дорисовать кубик рубик
Господа требуется через canvas на форме нарисовать кубик рубик Лицевую часть сделал, а вот боковую...

Кубик рубик С++ & OpenGL
Здравствуйте, я начал изучать С++ и мне дали задание сделать кубик рубика на С++ и OpenGL, до этого...

Кубик Рубик в OpenGL - вращение
Недавно начал осваивать OpenGL, попытался сделать кубик рубика, но столкнулся с проблемой вращения...

Кубик рубик с разными гранями
Купил кубик рубик с разными гранями. Не могли бы подсказать как его собрать. Алгоритмы сборки.

64
DenNik
Непрофессионал
2037 / 1643 / 310
Регистрация: 26.07.2011
Сообщений: 8,356
Записей в блоге: 1
10.08.2017, 14:43 21
-----------
1
infobos
Строитель
455 / 72 / 4
Регистрация: 18.06.2010
Сообщений: 499
11.08.2017, 08:16  [ТС] 22
Цитата Сообщение от DenNik Посмотреть сообщение
при запуске 8-9 раз выдает сообщение, но затем нормально работает
А Ваша видеокарта?
Скажите точную модель вашей карты: Панель управление -> Диспетчер устройств -> Видеоадаптеры

Добавлено через 9 минут
Цитата Сообщение от DenNik Посмотреть сообщение
при запуске 8-9 раз выдает сообщение, но затем нормально работает
Проверьте пожалуйста у Вас запускается игра лабиринт: Игра Лабиринт 3D (вторая часть) – генерация уникального большого лабиринта (4 уровня сложности)
Именно хочу убедиться те функции у вас работают? Или нет.
По ошибке понятно, что проблема в том, что в программе не убраны лишние загрузки функций у видеокарты. В вашей карте отсутствуют функции, поэтому вышла ошибка.
Скажите точную модель вашей карты: Панель управление -> Диспетчер устройств -> Видеоадаптеры

Добавлено через 33 минуты
Грузится штук 30 функций с видекарты, и какие-то функции отсутсвуют на вашей карте.
Мы можем конечно их проверить, но мне нужно приготовить файл, для теста
И вы должны мне прислать название каждой ошибки. Так я смогу определить способности вашей видеокарты.
0
infobos
Строитель
455 / 72 / 4
Регистрация: 18.06.2010
Сообщений: 499
11.08.2017, 08:24  [ТС] 23
Приготовил файл(KubikRubik3.exe), где выскачет ошибка с названием неработающей функции у видеокарты.
Просьба прислать скриншот каждой ошибки и я сделаю анализ работы вашей видеокарты.
0
Вложения
Тип файла: rar KubikRubik3.rar (66.5 Кб, 5 просмотров)
DenNik
Непрофессионал
2037 / 1643 / 310
Регистрация: 26.07.2011
Сообщений: 8,356
Записей в блоге: 1
11.08.2017, 09:57 24
Цитата Сообщение от infobos Посмотреть сообщение
А Ваша видеокарта?
Игра Кубик Рубик для Windows

Цитата Сообщение от infobos Посмотреть сообщение
ошибка с названием неработающей функции у видеокарты.
в порядке появления
Игра Кубик Рубик для Windows
Игра Кубик Рубик для Windows
Игра Кубик Рубик для Windows
Игра Кубик Рубик для Windows

Игра Кубик Рубик для Windows
Игра Кубик Рубик для Windows
Игра Кубик Рубик для Windows
Игра Кубик Рубик для Windows
1
11.08.2017, 09:57
DenNik
Непрофессионал
2037 / 1643 / 310
Регистрация: 26.07.2011
Сообщений: 8,356
Записей в блоге: 1
11.08.2017, 09:58 25
видеоадаптер встроенный
1
DenNik
Непрофессионал
2037 / 1643 / 310
Регистрация: 26.07.2011
Сообщений: 8,356
Записей в блоге: 1
11.08.2017, 10:04 26
на ВинХР тестировал, ни одной ошибки. видеокарта тоже встроенная
Игра Кубик Рубик для Windows
1
Evg
Эксперт CАвтор FAQ
20071 / 7637 / 585
Регистрация: 30.03.2009
Сообщений: 21,364
Записей в блоге: 30
11.08.2017, 10:09 27
DenNik, ты лучше скажи модель материнки и процессора. Из этого можно точно выяснить, что за видеокарта там встроена и где она встроена (в материнке или в процессоре)
1
DenNik
Непрофессионал
2037 / 1643 / 310
Регистрация: 26.07.2011
Сообщений: 8,356
Записей в блоге: 1
11.08.2017, 10:13 28
Evg, проц в посте 20, карта - в 24. или нужно прдробнее?

Добавлено через 1 минуту
ой, материнки. щас постморю ))
1
Evg
11.08.2017, 10:15
  #29

Не по теме:

Цитата Сообщение от DenNik Посмотреть сообщение
Evg, проц в посте 20, карта - в 24. или нужно прдробнее?
Модель процессора действительно есть (просто на предыдущую страницу надо лазить), а что означает Q45/Q43 - я, честно говоря, не совсем понимаю. То ли винда не уверена в том, что у тебя там стоит, то ли что-то ещё

1
DenNik
Непрофессионал
2037 / 1643 / 310
Регистрация: 26.07.2011
Сообщений: 8,356
Записей в блоге: 1
11.08.2017, 10:18 30
Evg, проц, память, плата
1
Миниатюры
Игра Кубик Рубик для Windows   Игра Кубик Рубик для Windows   Игра Кубик Рубик для Windows  

_Develop
277 / 184 / 30
Регистрация: 24.01.2013
Сообщений: 552
11.08.2017, 12:13 31
Evg, DenNik, да это видео еще в мат.плате, совсем старая версия...
1
eXPonent
99 / 52 / 27
Регистрация: 21.05.2012
Сообщений: 1,170
11.08.2017, 14:03 32
очень неплохая идея, ещё было бы неплохо создать алгоритмы сборки
Что бы к примеру я написал свой алгоритм сборки
и комп пытается его по этому алгоритму собрать, возможно людям будет очень интересно придумывать именно свои алгоритмы сборки, а не самостоятельно собирать кубик рубик
алгоритмы возможно будет просто писать через if-else (задачи для муравьев)
сама же прога будет внутри себя будет пробегать по муравьиным алгоритмам
1
infobos
Строитель
455 / 72 / 4
Регистрация: 18.06.2010
Сообщений: 499
11.08.2017, 15:00  [ТС] 33
Цитата Сообщение от eXPonent Посмотреть сообщение
очень неплохая идея, ещё было бы неплохо создать алгоритмы сборки
Что бы к примеру я написал свой алгоритм сборки
и комп пытается его по этому алгоритму собрать, возможно людям будет очень интересно придумывать именно свои алгоритмы сборки, а не самостоятельно собирать кубик рубик
алгоритмы возможно будет просто писать через if-else (задачи для муравьев)
сама же прога будет внутри себя будет пробегать по муравьиным алгоритмам
А можете намекнуть что-за такие муравьиные алгоритмы? Статьи, термины, названия, как работает?
0
infobos
Строитель
455 / 72 / 4
Регистрация: 18.06.2010
Сообщений: 499
11.08.2017, 16:23  [ТС] 34
DenNik, Спасибо за скриншоты!
По вашей встроенной карте: Проблема именно в отсутствие работы этих функции у видеокарты. Ваша карта старая и не поддерживает их вот и весь фокус. Возможно драйвера не имеются, я вашу видеокарты не мониторил по характеристикам. А версия этих функций начинается от OpenGL 3.0 и заканчивается версией до 4.5.

Я просто не глядя модифицоровал существующий проект и начал писать на нем игру кубик рубик. И оставил в проекте кубик рубик эти функции.

Там функции для использования буфера в памяти видеокарты, но они в игре не задействованы, поэтому после серии всплывания окон игра продолжает работать:
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
GL_framebuffer_object - v3.0
PFNGLGENFRAMEBUFFERSPROC  generate framebuffer object names  генерировать имена объектов фреймбуфера
PFNGLBINDFRAMEBUFFERPROC  bind a named framebuffer object  связать именованный объект фреймбуфера
PFNGLFRAMEBUFFERTEXTURE2DPROC
PFNGLCHECKFRAMEBUFFERSTATUSPROC
PFNGLDELETEFRAMEBUFFERSPROC
 
PFNGLISFRAMEBUFFERPROC   determine if a name corresponds to a framebuffer object  определить, если имя соответствует объект фреймбуфера
PFNGLGENERATEMIPMAPPROC  OpenGL 3.3 generate mipmaps for a specified texture target  создать mip на указанные цели в текстуры (сглаживание пикселей)
PFNGLTEXIMAGE2DMULTISAMPLEPROC  OpenGL 4.5  establish the data storage, format, dimensions, and number of samples of a multisample texture's image  создание хранилища данных, Формат, размеры и количество образцов изображения мультисэмплинга текстуры


Я просил Вас проверить игра лабиринт у Вас запустится или нет?: Игра Лабиринт 3D (вторая часть) – генерация уникального большого лабиринта (4 уровня сложности)
В игре лабиринт были использованы минимальное количество функций у видеокарты и выбраны минимальные версии OpenGL. Хотелось бы узнать насколько ваша карта справится с этой игрой - лабиринт.

Сейчас убрал все загрузки функций с видяхи: KubikRubik4.exe
Прикрепил: KubikRubik4.rar
1
Вложения
Тип файла: rar KubikRubik4.rar (65.1 Кб, 5 просмотров)
infobos
Строитель
455 / 72 / 4
Регистрация: 18.06.2010
Сообщений: 499
11.08.2017, 16:45  [ТС] 35
Цитата Сообщение от eXPonent Посмотреть сообщение
очень неплохая идея, ещё было бы неплохо создать алгоритмы сборки
Что бы к примеру я написал свой алгоритм сборки
и комп пытается его по этому алгоритму собрать, возможно людям будет очень интересно придумывать именно свои алгоритмы сборки, а не самостоятельно собирать кубик рубик
алгоритмы возможно будет просто писать через if-else (задачи для муравьев)
сама же прога будет внутри себя будет пробегать по муравьиным алгоритмам
Я сам кубик рубик собирал по формулам из инета. Сам не смог догадаться как его собирать.
А Вы говорите о алгоритмах по сборке. Я не стану этим заниматься, потому что чувствую это задача не одной недели. А мне на хлеб надо зарабатывать...
Найти кротчайший путь сборки кубика - задачу наверно можно выполнить методом поиска комбинаций. Чувствую времени на поиск уйдет гигантское (часы...). Сначала придется найти эти формулы через поиск комбинаций, потом их записать в готовые формулы и запускать по команде. Времени на интеллектуальный труд уйдет много.
Хотя нет, тупо собирать по формулам, которые есть в инете.
0
DenNik
Непрофессионал
2037 / 1643 / 310
Регистрация: 26.07.2011
Сообщений: 8,356
Записей в блоге: 1
11.08.2017, 19:42 36
Цитата Сообщение от infobos Посмотреть сообщение
проверить игра лабиринт у Вас запустится или нет?:
именно на том ПК смогу только в понедельник проверить
1
fever brain
oh my god
1374 / 730 / 152
Регистрация: 05.01.2016
Сообщений: 2,213
Записей в блоге: 7
11.08.2017, 19:51 37
Перекомпилируйте для Windows 32 и тогда еще много и много людей смогут протестировать ваш кубик-рубик
1
infobos
Строитель
455 / 72 / 4
Регистрация: 18.06.2010
Сообщений: 499
11.08.2017, 19:54  [ТС] 38
Цитата Сообщение от fever brain Посмотреть сообщение
Перекомпилируйте для Windows 32 и тогда еще много и много людей смогут протестировать ваш кубик-рубик
И так сделано под windows x32. Проверьте работу последнего файла: KubikRubik4.rar
Или Вы о чем?
1
fever brain
oh my god
1374 / 730 / 152
Регистрация: 05.01.2016
Сообщений: 2,213
Записей в блоге: 7
11.08.2017, 19:57 39
Цитата Сообщение от infobos Посмотреть сообщение
Хотя нет, тупо собирать по формулам, которые есть в инете
Интересно бы взглянуть, я однажды обычное решение кратчайшего маршрута искал около часа
пока не вытерпел и сам его не изобрел с нуля

Где же вы собираетесь черпать формулы нахождения кратчайших маршрутов для создания всех цветов хотябы одной стороны ?

Добавлено через 2 минуты
Цитата Сообщение от infobos Посмотреть сообщение
И так сделано под windows x32
Скачал из первого поста. Извиняюсь, теперь заработало.
1
infobos
Строитель
455 / 72 / 4
Регистрация: 18.06.2010
Сообщений: 499
11.08.2017, 20:13  [ТС] 40
Цитата Сообщение от fever brain Посмотреть сообщение
Где же вы собираетесь черпать формулы нахождения кратчайших маршрутов для создания всех цветов хотябы одной стороны ?
Я не собираюсь это делать! Как пример, запустить поиск кротчайшего пути через тупой перебор различных комбинаций. Написать алгоритм, который будет сохранять приоритетные формулы. И потом найти тысячи готовых решений, которые будут сравниваться с комбинацией кубика и выдавать кратчайший путь для игрока. Но я не буду этим заниматься.

Добавлено через 13 минут
Вернее миллиарды комбинаций кубика сократить до значимых формул. Уничтожить повторения комбинаций. Уничтожить еще всякие лишние операции и оставить самые короткие пути. Потом эту базу коротких формул применять к сущестующей запутанности кубика. К примеру проверить по базе тысячи комбинаций кубика с существующей запутанностью и предложить эту формулу. Мы просто за ранее на каждую запутанную комбинацию будем иметь самый короткий путь сборки, который ранее нашли и записали как приоритетные формулы сборки.

Тупо на каждую запутанность будем иметь уже записанное решение комбинаций. У нас просто за ранее будет база со множеством решений.
0
11.08.2017, 20:13
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.08.2017, 20:13

Кубик рубик с разными цветами+подпись
в Pascal Срочно нужно, заранее спасибо!!

Нарисовать кубик рубик с разными цветами
срочно нужны

Как сделан этот кубик рубик?
Как сделан этот кубик рубик? как сделаны эти стрелочки?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru