Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Диаграмма классов. Нужен совет. 
:(
    Опции темы
mes
Дата 31.12.2010, 17:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



итак как бегают фишки и идет расчет столкновений вроде понятно.. покрайней мере отчего оталкиваться.. теперь перейдем к управлению (интеллекту)..  
для того чтоб решить куда идти, надо "видеть" состояние всей игры.. для человека, естественно, нарисованное, а для аи достаточно ссылки на плайинг.. 
как производиться управление ? можно пойти двумя способами.. 
1. в фишке выделить память под хранение импульса и предоставить плееру его изменять.. 
2. у плеера хранить желаемое направление, а контроллер игры будет опрашивать и на основании этого изменять фишку.. 
второй способ мне кажется предпочтительнее.. 
теперь как выразить это.. 
можно у плайинга сделать метод  для изъявления желания направления движения фишки.. и на него вешать объекты.. выглядит немножко неповоротливо..
сейчас..

Добавлено через 1 минуту и 34 секунды
Цитата(TGrey @  31.12.2010,  16:07 Найти цитируемый пост)
Ну почему же мешать) Мне же не надо мега продвинутую и супер запрограммированную игру) Обычная примитивная реализация подобия игры.

"под подходом" имелось в виду нежелание признавать объектом то, что фактически является законченной полноценной сущностью из за того, что оно выражено числом smile

Добавлено через 6 минут и 18 секунд
думаю самое простое будет так..
имеется плайер, тот кто управляет фишкой :
Код

struct iplayer 
{
    direction get_direction_wish () =0:
};

struct gui_player : iplayer {.. };
struct enemy_ai : iplayer {.. };


Добавлено через 9 минут и 37 секунд
итого получается что с каждой фишкой у нас происоциирован контролер игрока, который получая всю информацию о плайинге выражает свое желание.. и на основании этого идет пересчет положения.. 
подобный подход позволит прицепить любойконтролер на любую фишку.. т.е можно аи на фишку игрока , а гуи_плаыера на врага..

Добавлено через 11 минут и 16 секунд
P.S. везде писал аи - это калька с английского - подразумевалось ИИ..

Добавлено через 14 минут и 38 секунд
значит у нас будет набор игроков для игры, опрос их готовки и переход в режим игры.. 
итого получается что game хранит список игроков, а playing хранит фишки и т.п.. 
осталось согласовать пожелания плееров с поведением фишек..

мне сейчас нужно отойти.. позже продолжу (если сами не разберетесь к тому времени )..


--------------------
PM MAIL WWW   Вверх
mes
Дата 31.12.2010, 17:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



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



--------------------
PM MAIL WWW   Вверх
TGrey
Дата 31.12.2010, 17:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 294
Регистрация: 1.12.2007

Репутация: нет
Всего: 1



Спасибо за помощь mes, но я уже тоже ухожу праздновать) На сегодня наверно можно закончить.

PM MAIL   Вверх
mes
Дата 31.12.2010, 19:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



Цитата(TGrey @  31.12.2010,  15:56 Найти цитируемый пост)
 зачем описывать эти поведения для фишек? У меня всего-то 2 фишки

а что когда плеер скушает супер силу, он врагов не бьет ?

Добавлено @ 19:22
я тут выше говорил про кадр (frame)  - к рисованию (отображению) это не имеет никакого отношения.. 
фактически наш frame(подобрать более точный термин оставляю Вам) это аналог хода в играх с поочередным хождением.. 

также мы нагрузили playing функцией produce_frame(), что явно является нагружением логикой, тем более что для расчета требуется волеизъявления игроков.. поэтому это желательно вытащить наружу..
итого получается :
Код

struct game
{
    playing     const& get_playing () const { return _playing; }
    player_list const& get_players () const { return _player_list; }
    
    void make_move ()
    {
       _producer.iterate (_playing, _player_list );
    }    
  private:
    player_list    _player_list;
    playing        _playing;
    producer       _producer;
};


Добавлено @ 19:24
Цитата(TGrey @  31.12.2010,  16:34 Найти цитируемый пост)
Спасибо за помощь mes, но я уже тоже ухожу праздновать)

пожалуйста smile приятного времяпровождения smile 
Цитата(TGrey @  31.12.2010,  16:34 Найти цитируемый пост)
 На сегодня наверно можно закончить.

ну теперь можно сказать, что закончили.. у меня вроде все уложилось в голове smile


Это сообщение отредактировал(а) mes - 1.1.2011, 00:17


--------------------
PM MAIL WWW   Вверх
baldina
Дата 3.1.2011, 11:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 32
Всего: 101



Цитата(mes @  31.12.2010,  19:11 Найти цитируемый пост)
Это сообщение отредактировал(а) mes - 1.1.2011, 00:17 

Да вы маниаки, господа!  smile 
Всех с Новым Годом...
PM MAIL   Вверх
mes
Дата 3.1.2011, 11:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



Цитата(baldina @  3.1.2011,  10:38 Найти цитируемый пост)
Цитата

Это сообщение отредактировал(а) mes - 1.1.2011, 00:17 

Да вы маниаки, господа!  

у меня на самом деле несколько иное время.. чем то, что показывает форум.. smile

Добавлено через 2 минуты и 44 секунды
Цитата(baldina @  3.1.2011,  10:38 Найти цитируемый пост)
Всех с Новым Годом... 

Взаимно smile


--------------------
PM MAIL WWW   Вверх
TGrey
Дата 5.1.2011, 20:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 294
Регистрация: 1.12.2007

Репутация: нет
Всего: 1



Все, сдал на 5 smile 
PM MAIL   Вверх
mes
Дата 6.1.2011, 09:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



TGrey, ну если не секрет, нам тоже покажите smile интересно все ж  smile 


--------------------
PM MAIL WWW   Вверх
TGrey
Дата 6.1.2011, 19:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 294
Регистрация: 1.12.2007

Репутация: нет
Всего: 1



Да то, что и говорил)
Все классы не знают ничего друг о друге, Дравер рисует только то, что ему дает Гейм. Гейм управляет передвижениями.
Все как заказывали)
user posted image
PM MAIL   Вверх
baldina
Дата 6.1.2011, 23:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 32
Всего: 101



TGrey, таки Гейм?  smile 
PM MAIL   Вверх
TGrey
Дата 7.1.2011, 00:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 294
Регистрация: 1.12.2007

Репутация: нет
Всего: 1



Что-то сервер с картинкой упал видимо... не показывает.
Ну да Гейм. Больше я не придумал ему заданий, поэтому сделал задачу ему обслуживать ходы)
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1061 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.