Народы, вот у нас много человек писало на всяких левых языках типа бейсика, паскаля и даже экшнскрипта. Я пробовал на С++. Внимание, вопрос.
Как у вас там всё было устроено, и как устраивать надо? Чисто конкретно программёрский вопрос. Как представлена карта? Двуменрый массив чтоли? Если да то как вверх и вниз ходить? Трёхмерный чтоли? Как вы обрабатываете команды и где находятся обработчики? У меня мелькает картинка, что в самой дубовой слепленной абы побыстрее игрушке каждая локация - это функция:
function Kuhnya()
begin
command:=WaitForCommand();
case command of
'юг': Gostinnaya();
'север': Say('сюда нельзя')
end;
end
Ну что-то в этом роде. Каждая комната - это вот такая функция. Мне бы узнать как сам каркас программы устраивается. Думаю, и всем будет интересно посмотреть кто и как делает.
А?
Неактивен
Ar.A.B. написал:
Стол - локация? (подрзумевается - на столе) Чем не локация? Ну и: под столом, за столом, в столе ets. - тоже локации.
К примеру - "смотри под стол".
На столе ну, скажем пепельница. Под ней - тоже что-нить быть может? Пусть будет отдельная локация. А раз локация - то и контейнер.
И потом - "поставить" и "положить" - разные действия с разным результатом.
Зачем локация? Можно просто отдельные объекты сделать, работающие в качестве контейнеров.
А вообще, у меня система немного другая - можно создать (объявить) объект с практически любыми свойствами, всё прописывается на скриптах.
Неактивен
Ar.A.B. написал:
Так и есть. Объект любой может быть локацией (или контейнером - не вижу разницы). А может и не быть.
Небольшая разница всё же есть. Локация может содержать игрока, а контейнер - только другие предметы. Хотя, это вопрос предметной области, в каждой реализации она своя.
Неактивен
Ar.A.B. написал:
1. В локацию перейти можно, а в не_локацию нельзя никак.
2. В контейнер можно поместить предмет (при условиях) а в не_контейнер - нельзя.
Полностью согласен с такой концепцией.
Неактивен