2DTankA - Классы для разработки игр "Танчики".
Всем привет. Это мой первый публичный проект. Я представляю вам 2DTankA. С помощью этих классов вы сможете легко и быстро выпустить игру Танчики на DevelStudio. Проект развивающийся, так что не судите строго, будут выходить разные обновления с разными плюшками.
Выложу последние (на данный момент версии):
TankGame v.1.0.51
TankMove v.2.1051.5
TankMusic v.2.1051.2
TankControl v.2.1051.0
Образец папки data для TankGame v.1.0.51
А чтобы вы могли скачать и старые версии я выложу ссылку на папку:
Архив версий
Приступим:
Сперва нужно переименовать файлы, наподобие TankMove v.2.105.5.php просто в TankMove.php. Например:
TankMove v.2.105.5.php -> TankMove.php.
TankMusic v.2.105.2.php -> TankMusic.php.
TankControl v.2.105.0.php -> TankControl.php.
А файл TankGame x.x.x.php переименовывать необязательно, т. к. именно его мы будем подключать к проекту, а все остальные файлы он сам подключит.
Итак, что все эти файлы значат:
![]()
Всегда нужно обращаться к классу TankGame, а не к другим (т. к. все команды, связывающие классы, именно в нем). Исключение: чтобы сделать танк ботом нужно обращаться к *Класс TankGame*->TCtrl->bot('Имя танка'), а чтобы убрать ИИ с этого танка, то *Класс TankGame*->TCtrl->unbot('Имя танка'), чтобы узнать бот ли он, то *Класс TankGame*->TCtrl->is_bot('Имя танка').
Папка data:
![]()
BASE_BLUE, BASE_RED - типы башен и танков.
Как создать свой класс:
Для начала нужно создать папку и назвать ее именем создаваемого класса, после этого нужно добавить _TANK или _TOWER в зависимости от того, для чего вы хотите создать класс.
Как создать класс для танка:
![]()
down.png, left.png, right.png, up.png - изображения повернутого в разные стороны танка в формате png.
move.mp3 - звук движения танка по форме.
move.php - скрипт для передвижения танка по форме. Покажу лишь только часть файла, остальное сами поймете:
$timerInt - интервал таймера.
$speed - скорость танка (в пикселях за $timerInt миллисекунд).
info.php - информация о танке.
$tankHealth - изначальное здоровье танка.
Как создать класс для башни:
![]()
![]()
PROJECTILE\down.png, PROJECTILE\left.png, PROJECTILE\right.png, PROJECTILE\up.png - изображения повернутого в разные стороны танка в формате png.
down.png, left.png, right.png, up.png - изображения повернутой в разные стороны башни в формате png.
fire.mp3 - звук выстрела.
fire.php - скрипт движения снаряда. Опять же, покажу только часть:
$gunSpeed - скорость снаряда (в пикселях за $timeint миллисекунд).
$damage - урон.
$charge - время перезарядки (в миллисекундах). 3000 миллисекунд = 3 секунды.
$timeint - интервал таймера.
info.php - информация о башне.
$x_up, $y_up, $x_right, $y_right, $x_down, $y_down, $x_left, $y_left - позиция башни относительно позиции танка при разных поворотах башни, повороте танка "up" ((+) в конце означает сложение, (-) - вычитание; в пикселях).
$gx, $gy - позиция снаряда относительно позиции башни при повороте башни "up" ((+) в конце означает сложение, (-) - вычитание; в пикселях).
$projectileSize_W_UP - ширина снаряда при повороте снаряда "up" (в пикселях).
$viewDistance - дальность обзора ботов (в пикселях).
Установку мы закончили, теперь
Как пользоваться ими:
Для начала нужно подключить файл TankGame.php, остальные файлы подключать не нужно, это сделает файл TankGame.php:
Теперь нужно создать экземпляр класса:
Теперь нужно создать танк:
Можно не создавать танк, а просто прихимичить уже существующие объекты:
Теперь перейдем к функциям управления танком:
$name - имя танка. В коде примером этого будет 'player'.
Вся информация о танках будет храниться в глобальном массиве $___TanksList.
Удалить танк:
Передвижение:
Поменять передачу:
Проверить танк:
Бот-Функции:
Сделать ботом:
Убрать ИИ с танка:
Проверка бота:
Скриншот:
![]()
Спасибо за внимание. Эти классы будут постоянно обновляться. У нас еще много идей, в скором будущем вы сможете увеличить возможности ваших танчиков. Если вы скачали эти классы, то нажмите "Спасибо".
Поддержать проект:
WebMoney: R832055817950.
QIWI: +79378057969.
Всем привет. Это мой первый публичный проект. Я представляю вам 2DTankA. С помощью этих классов вы сможете легко и быстро выпустить игру Танчики на DevelStudio. Проект развивающийся, так что не судите строго, будут выходить разные обновления с разными плюшками.
Выложу последние (на данный момент версии):
TankGame v.1.0.51
TankMove v.2.1051.5
TankMusic v.2.1051.2
TankControl v.2.1051.0
Образец папки data для TankGame v.1.0.51
А чтобы вы могли скачать и старые версии я выложу ссылку на папку:
Архив версий
Приступим:
Сперва нужно переименовать файлы, наподобие TankMove v.2.105.5.php просто в TankMove.php. Например:
TankMove v.2.105.5.php -> TankMove.php.
TankMusic v.2.105.2.php -> TankMusic.php.
TankControl v.2.105.0.php -> TankControl.php.
А файл TankGame x.x.x.php переименовывать необязательно, т. к. именно его мы будем подключать к проекту, а все остальные файлы он сам подключит.
Итак, что все эти файлы значат:

Всегда нужно обращаться к классу TankGame, а не к другим (т. к. все команды, связывающие классы, именно в нем). Исключение: чтобы сделать танк ботом нужно обращаться к *Класс TankGame*->TCtrl->bot('Имя танка'), а чтобы убрать ИИ с этого танка, то *Класс TankGame*->TCtrl->unbot('Имя танка'), чтобы узнать бот ли он, то *Класс TankGame*->TCtrl->is_bot('Имя танка').
Папка data:

BASE_BLUE, BASE_RED - типы башен и танков.
Как создать свой класс:
Для начала нужно создать папку и назвать ее именем создаваемого класса, после этого нужно добавить _TANK или _TOWER в зависимости от того, для чего вы хотите создать класс.
Как создать класс для танка:

down.png, left.png, right.png, up.png - изображения повернутого в разные стороны танка в формате png.
move.mp3 - звук движения танка по форме.
move.php - скрипт для передвижения танка по форме. Покажу лишь только часть файла, остальное сами поймете:
PHP код:
//////////////////
$timerInt = 20; // Timer interval (ms). CAUTION!!! Small interval - low performance.
$speed = 4; // Tank speed (pixels per $timerInt ms).
//////////////////
$speed - скорость танка (в пикселях за $timerInt миллисекунд).
info.php - информация о танке.
PHP код:
/////////////////////
$tankHealth = 250; // Max health.
/////////////////////
Как создать класс для башни:


PROJECTILE\down.png, PROJECTILE\left.png, PROJECTILE\right.png, PROJECTILE\up.png - изображения повернутого в разные стороны танка в формате png.
down.png, left.png, right.png, up.png - изображения повернутой в разные стороны башни в формате png.
fire.mp3 - звук выстрела.
fire.php - скрипт движения снаряда. Опять же, покажу только часть:
PHP код:
//////////////////
$gunSpeed = 65; // Pixels per $timeint ms.
$damage = 55; // Damage.
$charge = 3000; // Recharge time (ms).
$timeint = 50; // Timer interval (ms). CAUTION!!! Small interval - low performance.
//////////////////
$damage - урон.
$charge - время перезарядки (в миллисекундах). 3000 миллисекунд = 3 секунды.
$timeint - интервал таймера.
info.php - информация о башне.
PHP код:
//- Tank Rotate is UP -///////
$x_up = 13; //(+)//
$y_up = 31; //(-)//
$x_right = 13; //(+)//
$y_right = 38; //(+)//
$x_down = 13; //(+)//
$y_down = 38; //(+)//
$x_left = 58; //(-)//
$y_left = 38; //(+)//
//////////////////////////////
$gx = 20; //(+)//
$gy = 16; //(-)//
//////////////////////////////
//- For TankControl -/////////////////////////////////////////////////////
$projectileSize_W_UP = 8; // A projectile weight. (pixel, rotate - up) //
$viewDistance = 1200; // Tower's view distance. (pixel) //
//////////////////////////////////////////////////////////////////////////
$gx, $gy - позиция снаряда относительно позиции башни при повороте башни "up" ((+) в конце означает сложение, (-) - вычитание; в пикселях).
$projectileSize_W_UP - ширина снаряда при повороте снаряда "up" (в пикселях).
$viewDistance - дальность обзора ботов (в пикселях).
Установку мы закончили, теперь
Как пользоваться ими:
Для начала нужно подключить файл TankGame.php, остальные файлы подключать не нужно, это сделает файл TankGame.php:
PHP код:
include 'TankGame.php';
PHP код:
// Синтаксис new TankGame($dm = false).
// dm - Режим разработчика. Если он включен, то у ботов появятся сканирующие полоски, а также будет включен вывод ошибок.
new TankGame;
// Для обращения к классу TankGame можно использовать глобальную переменную $___TankGame, которая автоматически создается при создании экземпляра.
// Для обращения к классам
// TankMove - $___TankGame->TMove;
// TankMusic - $___TankGame->TMusic;
// TankControl - $___TankGame->TCtrl.
PHP код:
global $___TankGame;
//Синтаксис create($name,$form,$tankType,$towerType,$rotateTank,$rotateTower,$x,$y)
// $name - имя танка.
// $form - название формы (название, а не объект)
// $tankType - тип танка (в образце, как я ранее вам показывал есть BASE_BLUE и BASE_RED)
// $towerType - тип башни (в образце, как я ранее вам показывал есть BASE_BLUE и BASE_RED)
// $rotateTank - изначальный поворот танка
// $rotateTower - изначальный поворот башни
// $x, $y - позиция
$___TankGame->create('player','Form1','BASE_BLUE','BASE_BLUE','up','up',200,200);
PHP код:
global $___TankGame;
//Синтаксис set($name,$form,$tankType,$towerType,$rotateTank,$rotateTower,$tank,$tower,$movePlayer,$firePlayer)
// $tank - танк (TMImage)
// $tower - башня (TMImage)
// $movePlayer - плеер передвижения (SQUALL)
// $firePlayer - плеер выстрела (SQUALL)
$___TankGame->create('player','Form1','BASE_BLUE','BASE_BLUE','up','up',c('image1'),c('image2'),c('sqPlayer1'),c('sqPlayer2'));
$name - имя танка. В коде примером этого будет 'player'.
Вся информация о танках будет храниться в глобальном массиве $___TanksList.
Удалить танк:
PHP код:
global $___TankGame;
$___TankGame->delete('player');
// delete($name,$killed = false)
// $name - во всех функциях - имя танка.
// $killed - убит или нет. Пока что ничего не делает, но в будущем...
PHP код:
global $___TankGame;
$___TankGame->start_move('player');
// Начать передвижение
// Вызывает функцию ___START_MOVE_DO_NOT_CALL__*Тип танка*
PHP код:
global $___TankGame;
$___TankGame->stop_move('player');
// Прекратить движение
// Вызывает функцию ___STOP_MOVE_DO_NOT_CALL__*Тип танка*
PHP код:
global $___TankGame;
$___TankGame->set_transmission('player',true);
// set_transmission($name,$back_transmission = false)
// $back_transmission: true - движение назад, false - вперед
PHP код:
global $___TankGame;
$___TankGame->is_tank('player');
// Выдаст false, если данный танк не существует
Сделать ботом:
PHP код:
global $___TankGame;
$___TankGame->TCtrl->bot('player');
PHP код:
global $___TankGame;
$___TankGame->TCtrl->unbot('player');
PHP код:
global $___TankGame;
$___TankGame->TCtrl->is_bot('player');
// Выдаст false, если танк не бот, или он не существует
// Если параметр $name будет пустым (is_bot()), то выдаст массив с ботами

Спасибо за внимание. Эти классы будут постоянно обновляться. У нас еще много идей, в скором будущем вы сможете увеличить возможности ваших танчиков. Если вы скачали эти классы, то нажмите "Спасибо".
Поддержать проект:
WebMoney: R832055817950.
QIWI: +79378057969.