forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Алгоритмика (http://forum.boolean.name/forumdisplay.php?f=21)
-   -   Совет по архитектура (http://forum.boolean.name/showthread.php?t=16462)

den 09.03.2012 22:47

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

2)Создать класс этой сущности.
Создать класс метода управления.
Создать 3 класса метода управления: игрока (то есть мышка и клава), бота (то есть алгоритмы различные), сетевого игрока (то есть принимаем команды по сети), и наследуем это от главного класса.
Передаем созданием сущностям необходимый метод управления.

Надеюсь понятно описал)

Было бы неплохо, если бы кроме голосовая вы как нибудь аргументировали свой выбор.

Mr_F_ 09.03.2012 23:27

Ответ: Совет по архитектура
 
а зачем обязательно наследовать? просто имей массив сущностей и управляй каждой сущностью требуемым способом. будь проще.
т.е. я бы выбрал вариант 2, но без наследования. объекты-контроллеры хранят ссылку на сущность.

ffinder 10.03.2012 00:34

Ответ: Совет по архитектура
 
2 вариант грамотнее и меньше кода займет.

AVL 10.03.2012 00:48

Ответ: Совет по архитектура
 
Чем отличается... "существо", управляемое игроком, от управляемого компом или сетевым игроком? Вроде как только способом управления. Мне 2й вариант кажется более логичным.


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

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