33 / 33 / 20
Регистрация: 18.03.2016
Сообщений: 100
1

Посоветуйте, как начать проект

16.05.2017, 21:59. Показов 1051. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Я хочу сделать "игру для программистов". Вид сверху, присутствуют стены: пробиваемые и непробиваемые, есть местность: трава и песок. По траве перемещение с нормальной скоростью по песку с половинной. Есть танки. Они одинаковые, все с одинаковыми характеристиками. Это уже готово.

Суть в том, что мне надо сделать так, чтобы у танков было разное ИИ. Я хочу, чтобы во время игры, не выключая игру, можно было бы добавить новый танк и новым ИИ или убрать его.
Все танки наследуются от Entity. Их код одинаков, за исключением метода move(). В этом методе каждый танк и обрабатывает данные и принимает решение.
В игре будет присутствовать одновременно только 1 танк каждого вида.

Должно быть можно в любой момент написать новый ИИ и добавить танк в игру или убрать из игры любой танк.

Я представляю это так:
В папке рядом с jar'ником лежат CLASS файлы - танки, у каждого свой ИИ. Программа при изменении файлов тут же загружает классы, добавляет по уже созданной системе спавна новые танки и убирает те, файлы которых были убраны.

Скажите, как это лучше сделать? Может можно проще. Везде в программе они фигурируют, как ArrayList<Entity>.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.05.2017, 21:59
Ответы с готовыми решениями:

Посоветуйте с чего начать?
Здраствуйте! Хотел бы немного выучить ЯП... И прошу посоветовать книг &quot;для чайников&quot;, пожалуйста. ...

Посоветуйте с чего начать новичку
Добрый день, уважаемые Java программисты :senor: Посоветуйте с чего начать новичку изучать Java....

С чего начать изучение? Посоветуйте плз.
Здравствуйте вам Работаю с JavaScript и HTML. Но вот появилась проблемма - мне нужны файловые...

Посоветуйте OpenSource-проект на Java, куда можно подключиться
Хочу начать первые шаги в мире open source. Посоветуйте какой-нибудь проект на джава, куда можно...

6
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
16.05.2017, 22:15 2
корованы-то можно грабить?
0
33 / 33 / 20
Регистрация: 18.03.2016
Сообщений: 100
16.05.2017, 22:28  [ТС] 3
???

Добавлено через 10 минут
Кроме одинаковых танков нет никаких юнитов на поле. Я даже турели и спавнеры убрал, которые до этого сделал. Суть в том, что танк, когда погибает респавнится, попадает в новые обстоятельства, в итоге создаётся статистика. Сколько каждый танк убил, сколько погиб, сколько в среднем держался и т.п.
Все противники одинаковы и равны. Это чтобы была более корректная статистика и всё зависело бы только от ИИ.
0
51 / 51 / 23
Регистрация: 05.04.2010
Сообщений: 127
16.05.2017, 22:29 4
Лучший ответ Сообщение было отмечено Asia4444_ как решение

Решение

Вы хотите все делать динамически и прямо на лету менять логику сущностей? Тогда ваш вариант вполне хороший. Если приложение будет серверное то посмотрите в сторону RMI.
1
528 / 263 / 70
Регистрация: 11.12.2016
Сообщений: 1,223
17.05.2017, 00:39 5
Интересная тема, пожалуй, отмечусь здесь.
0
164 / 170 / 139
Регистрация: 28.11.2016
Сообщений: 301
17.05.2017, 04:12 6
Цитата Сообщение от Asia4444_ Посмотреть сообщение
Скажите, как это лучше сделать? Может можно проще. Везде в программе они фигурируют, как ArrayList<Entity>.
Так а в чем вопрос то? Вы же сами все описали. Создаете тред, который раз в 5 секунд скажем, сканирует папку, сравнивает содержимое со списком типов танков, обновляет этот список и передает его менеджеру игры.
Менеджер игры отрабатывает список, убирает с поля танки которые пропали со списка, и добавляет новые в игру.
0
33 / 33 / 20
Регистрация: 18.03.2016
Сообщений: 100
17.05.2017, 16:41  [ТС] 7
Цитата Сообщение от v777779 Посмотреть сообщение
Так а в чем вопрос то?
Да в общем-то план и так есть. Просто я только 1 раз делал загрузку классов во время работы программы и был не уверен в эффективности, когда решил сделать постоянную подгрузку множества классов.

Цитата Сообщение от v777779 Посмотреть сообщение
Менеджер игры отрабатывает список, убирает с поля танки которые пропали со списка, и добавляет новые в игру.
Да, это понятно. Даже уже сделано. Просто я думал, раз модифицируется только одно поле, может не нужно держать на каждый танк целый CLASS файл? Может есть что-то чего я не знаю, что позволило бы изменять код по время работы? (например реализовывать абстрактный класс Tank, у которого готово было бы всё, кроме метода move(), используя код метода из текстового файла)
0
17.05.2017, 16:41
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.05.2017, 16:41
Помогаю со студенческими работами здесь

Хачю начать изучать С++ посоветуйте с чево начать
Хачю начать изучать С++ посоветуйте с чево начать

Посоветуйте как лучше присоединить проект
Собственно вот какой вопрос. Есть несколько небольших, плохо раскрученных проектов - у людей есть...

Посоветуйте, Как Лучше Сделать Проект С Открытым Кодом На Лотусе
Привет! Есть идеи, наработки по задаче : Учета задач, учета потраченного времени с реализацией...

Посоветуйте с чего начать
Господа оптимизаторы прошу совета! С чего по Вашему мнению нужно начать оптимизацию...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru