Forum.iFiction.Ru

iFiction.Ru · ifHub · FAQ · IFWiki · QSP · URQ · INSTEAD · AXMA

форум об interactive fiction, текстовых приключенческих играх и всём таком...

Вы не зашли.

0    0    #1
13.04.2001 23:56

WildWizard
Участник (+1)
Откуда: Россия, Красноярск
Зарегистрирован: 01.03.2001
Сообщений: 450
Вебсайт

Nobody expects the Spa.. Oh, never&&mind.

ООП IF платформы vs линейное программирование

Объекты в IF языках программирования это хорошо - можно задать общие для объектов вещи и более не мучиться... Проблемы есть, но их не много и они довольно просто решаются/избегаются. Это, например, приписывание не тех свойств объектам = простая невнимательность. Но, возможно, кто-нибудь скажет, что ООП (объектно-ориентированное программирование) сложнее, чем линейное программирование.
Короче не знаю.
Просто ищу оправдание внезапно наплывшему желанию написать простую платформу на Python для IF. Команды там будут обрабатываться совершенно линейно, как в "Васе". Т.е. те команды, кот. программист не задал пониматься просто не будут. Хотя будут некоторые вспомогательные механизмы - такие, как маски команд. Скажем, игрок набирает "отдать топор гоблину", находясь в комнате room1. Тогда последовательно будут вызываться следующие команды: room1_отдать_топор_гоблин, room1_отдать_топор_*, room1_отдать_*_гоблин, room1_отдать_*_*, room1, отдать_топор_гоблин, отдать_топор_*, отдать_*_гоблин, отдать_*_*, *. Вот примерно так. Надеюсь, что идея понятна. Следует ли пытаться сделать такую систему, или она по сути слишком примитивна и не стоит затраченного времени? А?

Неактивен

0    0    #2
18.04.2009 00:54

BreakMT
Участник (+2)
Зарегистрирован: 31.07.2007
Сообщений: 16
Вебсайт

Re: ООП IF платформы vs линейное программирование

Хорошо, что Билли Хаст промелькнул в качестве примера примитивной разработки текстового квеста. Это действительно так. По теме я бы хотел сказать, что использование того или иного метода программирования исходит от понимания, что будет "в конце". ООП создано, что бы облегчить программирование, не для того что бы "оно было". С его использованием код становится меньше, логичней и проще в использовании, но только в тех случаях, когда это действительно необходимо.
Вот,  опять же, взять исходники моего квеста (Билли Хаст, исходники здесь - http://breakmt.narod.ru/billy_src.zip). Многие сказали бы, что это очень плохие исходники. Я сам понимаю, что они могли бы быть гораздо лучше, используй я ООП, да и, вообще, подходя к этому делу серьезней. Другой вопрос был бы ли этот Билли Хаст вообще, если бы я надумал усложнить задачу, сделать редактор карт, диалогов, расчет времени суток, используя ООП ввести всякие контейнеры, поверхности и т.д. да и вообще необходимы ли они были бы в данной игре?
Что лучше - сделать игру за несколько дней и затем оттачивать ее, либо сделать демку, в которую невозможно будет играть, но в ней будет все вышеперечисленное? Многие начинающие (да и знающие) разработчики переоценивают свои силы и пытаются сделать универсальный движок для разработки продолжений. Я считаю, что это не правильно лично из своего опыта.
Короче, мой вывод: если ты размышляешь использовать ли ООП или нет, если ты новичок - пиши как ты привык, потому что только в этом случае ты получишь результат (причем может быть в короткие сроки) + обучишься чему то новому... иначе пиши используя ООП, потому что это удобно, когда понимаешь, что это такое.

Извиняюсь, если не в тему, потому что писал не для платформ (в которых я не секу), а для тех, кто делает квест с нуля используя язык программирования.

Неактивен

Powered by PunBB
© copyright 2001–2026 iFiction.Ru