Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
33 / 33 / 20
Регистрация: 18.03.2016
Сообщений: 101

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

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

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

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

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

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

Скажите, как это лучше сделать? Может можно проще. Везде в программе они фигурируют, как ArrayList<Entity>.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
16.05.2017, 21:59
Ответы с готовыми решениями:

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

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

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

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

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

Решение

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

Цитата Сообщение от v777779 Посмотреть сообщение
Менеджер игры отрабатывает список, убирает с поля танки которые пропали со списка, и добавляет новые в игру.
Да, это понятно. Даже уже сделано. Просто я думал, раз модифицируется только одно поле, может не нужно держать на каждый танк целый CLASS файл? Может есть что-то чего я не знаю, что позволило бы изменять код по время работы? (например реализовывать абстрактный класс Tank, у которого готово было бы всё, кроме метода move(), используя код метода из текстового файла)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
17.05.2017, 16:41
Помогаю со студенческими работами здесь

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

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

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

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

Посоветуйте с чего начать
Господа оптимизаторы прошу совета! С чего по Вашему мнению нужно начать оптимизацию http://www.lovelab.com.ua (русскоязычная версия)???


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru