Custom player controller for Warcraft 3

Published
Карта, демонстрирующая реализацию кастомного управления для варкрафта (aka "как в TcX", лол). Для запуска вполне хватит обычного JNGP с включённымы JassHelper'ом и cJass (без оптимизации скрипта карты).
Запускаем, жмём ESC, тыкаем мышкой, тестируем. Геймплея в карте нет, только демонстрация управления.
Если у кого-нибудь есть возможность протестировать по сети - будет круто, напишите в ЛС/тему, и я закину тест-кейсов.
Да-да, код выглядит ужасно и всё такое. Потом почищу, наверное.
Для того, чтобы всё было красиво, нужно ещё интерфейс заменить.


Views: 3 617

tysch_tysch #7 - 4 years ago 0
Голосов: +0 / -0
так назад верни, быстро)
а гора комментов потому что наработка в аду с точки зрения навигации
вот невнятные модельки сотнями комментируют
Clamp #8 - 4 years ago 0
Голосов: +0 / -0
ZlaYa1000, отрефакторю и закину обратно, да. Сейчас душа лежит героя допилить =)
prog #9 - 4 years ago 2
Голосов: +2 / -0
а гора комментов потому что наработка в аду с точки зрения навигации
Ну я вот почитал, посмотрел, файла не увидел, кода не увидел, подумал "о, да я же делал такое в своей недоделаной карте, только дамы легкого поведения иначе одеты были" и прошел мимо т.к. мне это уже давно не интересно, максимум любопытно было глянуть насколько отличается от моей давней реализации. А сколько нибудь интересного срача диалога здесь не предвидится т.к. школоте это не нужно в виду сложности сабжа, а все остальные и сами в состоянии свою альтернативу сварганить, если бы им это было нужно.
Clamp #10 - 4 years ago 0
Голосов: +0 / -0
Вот это версия, которую я заливал. Она хорошо инкапсулирована и, хотя и рассчитана на строго определённую архитектуру карты (глобальный таймер, запускающий поток обработки игры N раз в секунду), показала себя достойно.
Сейчас сильно перепилил, всё красиво делаю, без костылей и с максимально адекватной логикой внутри самой системы. В свободное время учусь прогать таким изощрённым образом =)
Прикрепленные файлы
prog #12 - 4 years ago 6
Голосов: +6 / -0
В свободное время учусь прогать таким изощрённым образом =)
Сверлильщик зубов дракона через задний проход, третьего разряда.
Clamp #13 - 4 years ago (изм. ) 0
Голосов: +0 / -0
prog, так нет же. Если глянуть на мой код, то там из нативных типов используются только int, float, bool, string, timer, trigger, причём таймер единожды для всей карты, а триггеры только для чтения инпата юзеров. Всё взаимодействие с UI, где невозможно обойтись без хендлов, инкапсулировано в максимально компактные библиотеки, которые работают через абсолютно адекватное API.

В итоге в основной массе логика портируема в тот же юнити с не особо значительными правками, проверял пару раз.

Ну а так да, конкретно этот кусок - велосипед.
prog #14 - 4 years ago 0
Голосов: +0 / -0
Clamp, полноценного ООП в джасе не запилить, только ООП-подобные костыли. Опыт по поведению конкретных движков и компиляторов, порой весьма своенравных, тоже не получить.
Clamp #15 - 4 years ago 0
Голосов: +0 / -0
prog, а кто сказал, что во главе угла должно стоять ООП?
Кроме того, независимо от внутренней логики работы vJass написанные на нём объектные модели работают адекватно, хотя и имеют некоторые ограничения в реализации. Почему бы и не считать это нормальным ООП? Темплейтов нету?
prog #16 - 4 years ago (изм. ) 0
Голосов: +0 / -0
Почему бы и не считать это нормальным ООП? Темплейтов нету?
Полиморфизм, явный и неявный тайпкастинг, интерфейсы, абстрактные классы?