Forum.iFiction.Ru

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

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

Вы не зашли.

0    0    #1
09.02.2008 13:46

Eten
Участник (+9, -307)
Откуда: Балаково, Санкт-Петербург.
Зарегистрирован: 21.05.2007
Сообщений: 1416
Вебсайт

---

Вопросы перед последней доработкой синтаксиса СТК

Народ, в проекте уже почти разобрана работа с объектами, как работать с отношениями тоже ясно (с этим у вас трудностей не возникнет), но две темы остались не закончеными, это: массивы и характеры.

Характеры, планируется сделать возможность их динамичного изменения в ходе программы, т.е. удалил или добавил. Но они являются свойствами, а значит должны являться чем-то постоянным. В итоге остается два выбора, сделать спецмассив (назовем пока так) и вводить в него названия характеров за место числового индекса, при этом будет таже самая гидкость и никакого противоречия и путаницы на ровном месте. Другой вариант, забить на это дело, хотя будет очень и очень жаль.

Вот примерный синтаксис первого варианта:

Код:

...//дан актер вася со своими характерами
вывод(вася.характер["голод"]);//выводит: значение характера голод
вывод(вася.характер["умения.пойло"]);//выводит значение умения выпивать пойло, характер составной умения, а простой пойло
...

Теперь о массивах, здесь вопросец по проще. Как будет удобнее задвать вложенные массивы?
1) Как в Си, только в ввиде одномерных массивов, которые могут содержать в себе другие массивы.
2) Как в Паскале, где массив имеет N-ую размерность (хотя внутренне реализация процесса таже, что и в Си, только проще) и может включать в себя другие массивы.

Пример 1-го варианта:

Код:

...//дан массив А массивов Б (как некий тип Массив [5])
Массив [10] : Массив [5] : число А;
А[1].[2] = 3;//Запись значения элементу массива Б

Пример 2-го варианта:

Код:

..//тоже самое
Массив [10, 5] : число А;
А[1,2] = 3;//аналогично оперции выше, только вместо массива Б учитывается его размерность.
...
//тоже самое, но с учетом, что Б это отдельный массив
Массив [10, 5] : Массив [5] : число А;
Массив [5] : число Б2;
А[1, 3] = Б2://присвоение массиву А[1] значения массива Б2;
А[1, 3].[2] = 2://присвоение элементу [2] массиву А[1] значения 2;

Примечание: все приведено схематично, но суть выражает точно.
З.Ы.
Жду объективных ответов или предложений. Но именно в рамках вопроса tongue

Неактивен

0    0    #2
10.02.2008 09:20

fireton
некто с бородой (+354, -92)
Откуда: Москва
Зарегистрирован: 22.08.2005
Сообщений: 1103
Вебсайт

Тон

Re: Вопросы перед последней доработкой синтаксиса СТК

Как я понимаю, у тебя операторы будут на русском языке? Тогда постарайся не использовать символы, которых нет в русской раскладке. Такие как "[", "]", "#", "@", "'" и т.д. А то разработчик задолбается переключаться. Субъективно переключение для набора одного символа задалбывает больше, чем переключение для набора, скажем, строки текста...

Неактивен

Powered by PunBB
© copyright 2001–2024 iFiction.Ru