| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Программирование игр, графики и искусственного интеллекта > Совет по организации программы |
| Автор: G_R_E_M_L_I_N 2.5.2007, 21:43 | ||||
| Доброго всем времени суток.Объясню ситуацию. Это пока все умозаключительно,в мыслях так сказать,хочу услышать Ваши советы по поводу всего этого. Итак:
Вот в кратце игровой мир и процесс.Все поведение персонажей прописывается в текстовом файле,причем для каждой локации он свой. Что я думаю. Мне нужно загрузить эти текстовые файлы в,например, массив loc[10];где они будут у меня храниться и куда я в зависимости от локации смогу обращаться по индексу. В каждом из текстовых файлов будет стоять метка на выполнения того или иного действия в зависимости от того,какие предметы есть у ГГ.Тоесть,например у ГГ есть топор,и он находится в локации 2,тогда я беру текст из loc[1]-и по тексту ползу до тега [topor/] после чего происходит разговор,обмен предметами,снова разговор до такого тега[/topor].Если же в тексте loc[1] тега [topor/] не встречается то перс говорит фразу по умолчанию.Если у нас например 10 предметов из которых 3 встречаются,то начинается произвольный диалог из этих 3-х. Посему нам нужен как минимум класс Hero:
я его написал вот так,но думаю что у умных людей будут мысли как улучшить. Затем нам нужна какая-то структура данных что бы в ней хранить все эти 10 текстовых файлов(ужос)какая - ума не приложу. С остальным вроде просто,потому как,если заходим в локацию с нужным предметом,то в сценарии получим то что надо,а если пока такового нет,то все равно ничего не получим. В общем очень нужны Ваши дельные и не очень советы.Голову ломаю уже неделю,не знаю как реализовать. |
| Автор: Gelos 5.5.2007, 23:26 |
| G_R_E_M_L_I_N, Теги = ключевые слова в файлах? Если да, то просто ищешь в тексте его. Потом, не совсем понял,зачем хранить файлы в структуре. Имеется ввиду имена файлов, или ты хочешь сами файлы в память загнать? |
| Автор: Жуть 6.5.2007, 04:26 | ||||
В аттаче пример дерева диалога, с переходами. Синий - просто узел. Красный - дать вещь. Зеленый - получить. Черный - выход из комнаты. В сером прямоугольнике "реплика" данного узла. Логики в диалогах нет, но у меня уже 4 часа утра, такчто не обессудь Тебе нужно будет создавать класс "парсер", который из файла для данной комнаты построит дерево диалога и передаст его "комнате". Оч. сильно рекомендую создать xml файл для описания локации. набросок для рисунка:
Впринципе никто не мешает сделать более 2х ответов, или цикл в графе дерева... |