forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Blitz3D (http://forum.boolean.name/forumdisplay.php?f=45)
-   -   Beam Box - исходники (http://forum.boolean.name/showthread.php?t=19102)

Жека 18.04.2014 09:28

Beam Box - исходники
 
Вложений: 5
Всем привет.

Выкладываю исходники своего проекта Beam Box.
Теоретически, можно сделать игрушку из этого, но я пас.
Делал 2 года назад, сегодня немного подправил для публики.

Описание:
[Суть]

Есть поле с цветными кубиками и есть стержень.
Суть в том, чтобы сбрасывать кубики одинакого цвета, выстраивая их в линии по горизонтали и вертикали.
Чтобы выстроить кубы, нужно их двигать.
Чтобы двигать, нужно нанизывать их на стержень, и двигать стержень с нанизанными кубами на нужное место.
В горизонтальной плоскости сброс осуществляется по трафарету - заранее заданной фигуре.


[Управление]

1. Клавиатура

Стрелки курсора / WASD - двигать стержень в стороны
CTRL + Стрелки курсора - двигать и поворачивать камеру
ALT + Стрелка вперёд/назад - поменять угол наклона камеры
Пробел или Shift (удержание) - нанизать куб на стержень
Пробел или Shift (кратковременно) - сбросить куб со стержня (если такой же цвет снизу)

2. Геймпад


[Сброс кубов]

Сброс кубов возможен как в вертикальной, так и в горизонтальной плоскости.
В вертикальной плоскости сброс осуществляется при составлении в столбик нужного числа кубов, число указано на 2д-табло.
Если вместо количества стоит звёздочка (*), то в этой клетке сброс осуществляется вручную повторным кратковременным нажатие на пробел или шифт; таким образом, здесь можно сбросить любое количество кубов.
В горизонтальной плоскости сброс осуществляется по трафарету - некоторой заданной фигуре, которая отображается на экране. Проверка трафарета начинается с верхнего левого угла группы кубов, собранных в кучу (одноцветные + касаются друг друга боками).
За сбор фигуры нужного цвета даётся больше очков.
При сбросе трафарета учитывается общее число кубов в фигуре, т.е. можно по вертикали ставить, и потом сбросить трафарет.
Сброс происходит при таком угле поворота камеры, при котором фигура выглядит так же как на 2д-проекции.

Если встать стержнем на пустое место, то
1. если есть куб, то он падает в дырку
2. если стержень пуст, то его вместительность уменьшается на 1

[Плюшки в коде]

Движение по меню и стержня с залипанием кнопок - зажал влево и стержен поедет влево пока не дойдёт до края или кнопку не отпустишь и т.п.
Движение стержня всегда одинаково при повороте игрового поля разными сторонами.
Автоповорот камеры до нужного угла из текущей позиции.
Отображение информации игрового поля в 2д с учётом поворота камеры.
Проверка на совпадение с трафаретом с учётом поворота камеры (определяется регион кубов включая последний поставленный, и в регионе проверка, а не по всему полю)
Движение точки по повёрнутому овалу, 2д в главном меню
(всего 2 тыщи строк, не много)

Картинки:

Видео:


Скачать:


Часовой пояс GMT +4, время: 12:20.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot