forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   MidletPascal (http://forum.boolean.name/forumdisplay.php?f=46)
-   -   Разнообразие юнитов в военной стратегии (http://forum.boolean.name/showthread.php?t=18672)

.:MaSe:. 02.11.2013 20:36

Разнообразие юнитов в военной стратегии
 
Вложений: 2
Создаю стратегию,столкнулся с проблемой разнообразия юнитов. Планировал просто отрисовывать их по разным координатам - получилось безобразие:dontknow: . Потом подумал что у них ведь ещё должны быть разные способности и предназначения и зашёл в тупик, Помогите пожалуйста.:SOS:
Управление:
2,6,8,4 = ↑→↓←
1 - установить координаты курсора на солдата №1
5 - выбрать солдата, если выбран - установить точку сбора(для всех солдат, даже если был выбран один)
7 - показать инфо
* - выход из приложения

Дополнительно:
* Можно создавать свои карты, изменяя map.txt(поле 55х55 блоков(один блок 16х16пикс)).0 - пусто, 1 - непроходимый блок(прозрачный),2 - земля, 7 - крепость(см. Примечания), всё остальное(3,4,5,6) - деревья.

Примечания:
* Фон неподвижный, для экономии оперативной памяти и быстродействия игры.
* Крепость обязательно делать так, как показано в оригинале
711
111
111
* Солдаты не умеют обходить препятствия, поэтому карта почти пустая
* Создать можно максимум 50 юнитов
* Картинки, все кроме курсора, не мои
Вложение 19848

.:MaSe:. 02.11.2013 23:20

Ответ: Разнообразие юнитов в военной стратегии
 
всё это отягчает то, что в type = record не должно быть массивов

Igor 03.11.2013 01:01

Ответ: Разнообразие юнитов в военной стратегии
 
Да поможет тебе Java 2 me! Когда-то я начинал писать на ней стратегию, но потом иссяк энтузиазм. Суть - можно создать абстрактный класс юнит, с методами нарисовать себя на экран и дать координату по "у".
При рисовании я их сортировал по координате qSort'ом, телефон прекрасно справлялся. Потом от него наследуются классы - дерево, двигающийся юнит и т.п. У двигающегося юнита добавляются методы движения и прочего. (Выбрать, что от чего наследовать не так-то просто) В итоге имеешь классы рабочих, солдатиков, конницу, здания. Фишка в том, что при рисовании, например, вообще без разницы с какими юнитами работать, могут быть вперемежку и пехота и деревья. При отдавании команды двигаться, не важно кому - хоть пехоте, хоть коннице.
А вот реализация движения, рисования и т.п. у каждого может быть своей.
В общем, советую попробовать

.:MaSe:. 03.11.2013 01:09

Ответ: Разнообразие юнитов в военной стратегии
 
Цитата:

Да поможет тебе Java 2 me...В общем, советую попробовать
учить яву?

.:MaSe:. 03.11.2013 01:14

Ответ: Разнообразие юнитов в военной стратегии
 
работа с абстрактными класс юнитами как-то сложновато для меня, мне бы что-нибудь попроще например:
for i:=1 to unit_count do
if unit_life>0 then
{и тут всё необходимое: перемещение, атака..}

.:MaSe:. 19.11.2013 23:28

Ответ: Разнообразие юнитов в военной стратегии
 
Вложений: 1
появилась ещё одна проблема - юниты зависят друг от друга, например солдат[1] зависит от рыцаря[1](а рыцарь от солдата), солдат[2] - от рыцаря[2].Это проявляеться в следующем:
Я выбираю рыцаря[1] и указываю точку в каоторую ему необходимо двигаться - он идёт, но солдат[1] идёт тоже, причём если рыцарь дошёл до точки и остановился, то солдат тоже остановился(не дойдя до точки)

помогите:SOS: :SOS:

или хотя бы намекните где я ошибся, если надо могу кинуть часть кода

Ahsoka_Tano 20.11.2013 20:54

Ответ: Разнообразие юнитов в военной стратегии
 
.:MaSe:., я не смотрел ваш код, но когда я писал стратегию пробел с передвижением у меня небыло.
Как делали мы:
Type
Const MaxKolUnits=9;
Units=Recod

x,y - координаты движения моба
x1,y1- координаты движения к выбранному месту.
state- состояние юнита, например 0-стоит, 1-ход, 2-атака и т.д.
TimeRun,TimeAttack - величины отвечающие за скорость атаки и скорость передвижения,
TypeUnit,HP,MaxHP - тип юнита(рыцари, стрелки и т.д.), его текущее и максимальное здоровье.
Можно также ввести величину отвечающею за Броню, так что с разнообразием юнитов проблем быть не должно.
После объявления типа делаем массив из них:
U:array[0..MaxKolUnits]of Units;

.:MaSe:. 20.11.2013 22:54

Ответ: Разнообразие юнитов в военной стратегии
 
я разобрался, но всё равно спасибо,ваш способ тоже хорош, может перепишу свой код


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

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