Суть самой игры заключается в следующем:
- Игрок на экране видит табло, которое разбито на 16 клеток. В пятнадцати из них расположены неповторяющиеся цифры, в случайном порядке от 1 до 15 и одна пустая.
Алгоритм передвижения основан на передвижении пустого куба. То есть мы не обращаем внимание на фишки, а перемещаем пустой куб туда, куда нужно поставить фишку. Волновой алгоритм обхода препятствий с применением регулярных последовательностей действий. Основные моменты на которые следует обратить внимание это: пустой куб не двигается на те позиции на которые его нельзя перемещать.
Цель: развитие логических умений пользователя.
Входные данные:
- Кнопка начала игры.
- Кнопка музыки.
- Начальная позиция кубов.
- Изначальное количество времени.
- Изначальное количество ходов.
Выходные данные:
- Расположение кубов.
- Прошедшее время.
- Музыка.
Требования для запуска:
- Минимальная версия Visual Studio 2010
При покупке Вы получаете исходный код проекта с ексешником ,а так же, полностью готовая к защите, пояснительную записку(теория).
Исходный код:
void Scene::on_motion(int x, int y) { switch (button) { case 0: angleX += x - mouseX; angleY += y - mouseY; mouseX = x; mouseY = y; break; /*case 2: distZ += y - mouseY; mouseY = y; break;*/ //если нужно будет отдалять } } void Scene::on_mouse(int _button, int state, int x, int y) { if (state == 1) { // 0 - нажали на кнопку, 1 - отпустили button = -1; // если никакая кнопка не нажата return; } switch (button = _button) { case 0: mouseX = x; mouseY = y; break; //case 2: distZ = -15;break;- шаг отдаления } } // void Scene::on_keyboard(unsigned char key,int a,int b) //{ // switch(key) // case 27:{ exit(0); break; } //} void Scene::on_size(int w, int h) { width = w; height = h; if (height == 0) height = 1; // Предотвращение деления на ноль, если окно слишком мало // (Вы не можете сделать окно нулевой высоты). }
AlexTrofumuk