|
340 / 135 / 70
Регистрация: 30.06.2014
Сообщений: 717
|
||||||
Игровая логика strategy09.08.2019, 17:04. Показов 1752. Ответов 3
Метки game development (Все метки)
Приветствую!
Нужно спроектировать классы для игры "стратегия". У нас есть танки, солдаты, БМП. Все они могут стрелять и ездить. БМП может перевозить солдата, но не может перевозить танк ![]() Ниже я предлагаю свой каркас, и жду от вас еще варианты...
0
|
||||||
| 09.08.2019, 17:04 | |
|
Ответы с готовыми решениями:
3
Java-разработчик (Игровая логика) Москва, 3000 $ Source Strategy паттерн strategy |
|
1992 / 1216 / 440
Регистрация: 13.06.2013
Сообщений: 4,115
|
||
| 11.08.2019, 14:56 | ||
|
GameStrategy не очень имя, я бы назвал Unit.
Для BMP еще можно сделать интерфейс Transport. Вообще много чего можно придумать, но ТЗ маленькое)
0
|
||
|
340 / 135 / 70
Регистрация: 30.06.2014
Сообщений: 717
|
|||||||
| 11.08.2019, 21:32 [ТС] | |||||||
|
Добавлено через 13 минут я вот думаю можно без дополнительных интерфейсов обойтись:
Добавлено через 5 минут но если позже и Танку дадут возможность перевозить солдат, то тут думаю есть смысл инициализировать интерфейс с методом transporting и имплементировать в тот класс который может перевозить с индивидуальной реализацией
0
|
|||||||
|
1992 / 1216 / 440
Регистрация: 13.06.2013
Сообщений: 4,115
|
|||||||
| 12.08.2019, 09:10 | |||||||
|
1) У метода transport нет типизации, IDE не сможет ничего подсказать о $object. 2) Почему-то транспорт знает кого именно он может перевозить. Нарушается принцип открытости/закрытости. Причем привязка идет к конкретным классам, даже не к интерфейсам. Каждый раз добавляя нового юнита, мне придется менять BMP. А если у меня сотни различных видов людей и транспортов?
1
|
|||||||
| 12.08.2019, 09:10 | |
|
Помогаю со студенческими работами здесь
4
strategy pattern Использование паттерна Strategy Design Pattern - Strategy Паттерн Strategy и игрушка Паттерн Strategy + paintEvent Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2.
Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
|
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
|
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
|
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2.
Данный документ берёт данные из другого нетипового документа. . .
|
|
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
|
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: реализовать программный контроль на предмет проведения документа. . .
|
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача:
1. Реализовать контроль заполнения реквизита. . .
|
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение:
DISM / Online / Add-Capability / CapabilityName:WMIC~~~~
Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
|