Forum.iFiction.Ru

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

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

Вы не зашли.

0    0    #26
29.05.2004 12:15

Olegus t.Gl.
Участник (+1055, -249)
Откуда: Москва
Зарегистрирован: 01.03.2001
Сообщений: 2881
Вебсайт

Re: В общем дело поехало...

Вроде как получилось реализовать работу с массивами, пока предусмотрено только три вида массива: одномерный ("Список"), двумерный ("Таблица"), трёхмерный ("Кирпич", название рабочее, если кто придумает что-то подходящее — сообщите).

Неактивен

0    0    #27
29.05.2004 23:57

Nash
Участник
Зарегистрирован: 22.04.2003
Сообщений: 44
Вебсайт

Придумать, начать и дожить до релиза...

Re: В общем дело поехало...

Olegus t.Gl. написал:

Вроде как получилось реализовать работу с массивами, пока предусмотрено только три вида массива: одномерный ("Список"), двумерный ("Таблица"), трёхмерный ("Кирпич", название рабочее, если кто придумает что-то подходящее — сообщите).

Если трехмерный - то "Куб". ИМХО, мненонически самое правильное название...

Неактивен

0    0    #28
30.05.2004 00:35

GrAndrey
папа RTADS и Бяка (+49, -2)
Откуда: Москва
Зарегистрирован: 15.09.2002
Сообщений: 1201
Вебсайт

меньше слов

Re: В общем дело поехало...

Nash написал:

Если трехмерный - то "Куб". ИМХО, мненонически самое правильное название...

Тогда уж параллелепипид, он, в отличие от куба, может иметь разную длину сторон smile
Хорошо звучит - параллелепипид данных. Только написать его правильно многим будет непросто smile

Неактивен

0    0    #29
31.05.2004 00:24

Unreal
Участник (+3)
Зарегистрирован: 13.09.2002
Сообщений: 170

Re: В общем дело поехало...

Olegus t.Gl. написал:

Будет компилятор для получения кода игры в определённом формате, и будет виртуальная машина (так это вроде называется) для проигрывания этого кода.

Все это, естественно, отсутсвует в RTADS и Русском Inform.

Честно скажу, я не ожидаю от "системы" многого. О сроках разработки я уж не говорю — _годы_ покажут.

Т.о. мое отношение к разработке (и трате на это сил) негативное.

Неактивен

0    0    #30
31.05.2004 23:00

Nash
Участник
Зарегистрирован: 22.04.2003
Сообщений: 44
Вебсайт

Придумать, начать и дожить до релиза...

Re: В общем дело поехало...

GrAndrey

Тогда уж параллелепипид, он, в отличие от куба, может иметь разную длину сторон

Трехмерный массив с разной длиной сторон? А зачем он будет нужен в IF? (я вот даже сомневаюсь, будет ли вообще востребован трехмерный массив, но если автору не трудно его реализовать - пускай будет на всяк случай wink).
А куб звучит попроще smile

Только написать его правильно многим будет непросто

Да ну, написать (объявить, я понимаю?) несложно. Это ж не динамические массивы...

Stas Starkov

Все это, естественно, отсутсвует в RTADS и Русском Inform.

??? А что тогда из себя представляет файл *.gam, например?

Честно скажу, я не ожидаю от "системы" многого. О сроках разработки я уж не говорю — _годы_ покажут.

Т.о. мое отношение к разработке (и трате на это сил) негативное.

А альтернатива?

Неактивен

0    0    #31
01.06.2004 00:58

GrAndrey
папа RTADS и Бяка (+49, -2)
Откуда: Москва
Зарегистрирован: 15.09.2002
Сообщений: 1201
Вебсайт

меньше слов

Re: В общем дело поехало...

Nash:
>>Да ну, написать (объявить, я понимаю?) несложно. Это
>>ж не динамические массивы...

Нет, правильно написать слово параллелепипид smile

Stas Starkov
Quote:Все это, естественно, отсутсвует в RTADS и Русском Inform. 

>> ??? А что тогда из себя представляет файл *.gam,
>> например?

Памятка: сарказм - это не старческая болезнь, и не опухоль. Это такие реплики, которые будучи записанными на форуме, часто неправильно воспринимаются. Вспоинается давнишняя тема  roll:
https://forum.ifiction.ru/viewtopic.php?pid=7289#p7289

Неактивен

0    0    #32
01.06.2004 09:22

Nash
Участник
Зарегистрирован: 22.04.2003
Сообщений: 44
Вебсайт

Придумать, начать и дожить до релиза...

Re: В общем дело поехало...

Дважды неверно понять собеседника - это еще надо постараться  big_smile
Да, "параллелепипед" - это очень сложное слово, а потому "куб". Спасение для развращенных мышкой пользователей.

Памятка: сарказм - это не старческая болезнь, и не опухоль

Ну хорошо. Вот покажете мне, как без лишней головной боли воплотить РЕАЛЬНУЮ многообъектность в RTADS, да еще чтоб отдельные экземпляры ОДНОГО объекта можно было перекидывать из контейнера в контейнер...придется согласиться, что разработка русской платформы никому не нужна.

Неактивен

0    0    #33
01.06.2004 13:03

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

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

Re: В общем дело поехало...

Nash написал:

Ну хорошо. Вот покажете мне, как без лишней головной боли воплотить РЕАЛЬНУЮ многообъектность в RTADS, да еще чтоб отдельные экземпляры ОДНОГО объекта можно было перекидывать из контейнера в контейнер...придется согласиться, что разработка русской платформы никому не нужна.

Все это без проблем делается в Python/Hydra wink

Неактивен

0    0    #34
01.06.2004 20:44

GrAndrey
папа RTADS и Бяка (+49, -2)
Откуда: Москва
Зарегистрирован: 15.09.2002
Сообщений: 1201
Вебсайт

меньше слов

Re: В общем дело поехало...

Nash написал:


Ну хорошо. Вот покажете мне, как без лишней головной боли воплотить РЕАЛЬНУЮ многообъектность в RTADS, да еще чтоб отдельные экземпляры ОДНОГО объекта можно было перекидывать из контейнера в контейнер...придется согласиться, что разработка русской платформы никому не нужна.

И покажу:

Код:

myachik : item
    sdesc = "мячик"
    rdesc = "мячика"
    ddesc = "мячику"
    vdesc = "мячик"
    tdesc = "мячиком"
    pdesc = "мячике"
    adjective = 'небольшой' 'резиновый#t' 'небольшого' 'небольшому' 'небольшому#d' 'небольшим' 'небольшим#t' 'небольшом' 'резиновый' 'резиновый#t' 'резинового' 'резиновому' 'резиновому#d' 'резиновым' 'резиновым#t' 'резиновом'
    noun = 'мячик' 'мячика' 'мячику' 'мячиком' 'мячике' 'мячику#d' 'мячиком#t'
    ldesc = "Небольшой резиновый мячик."
    isHim = true
;

/* Внутри какой-либо из процедур, создаем экземпляры объекта. В данном примере, внутри процедуры осмотра стартовой комнаты, если она произодится впервые */

startroom: room
ldesc = {
   if (!startroom.issen)
  {
   local myachik1 = new myachik;
   myachik1.moveInto(startroom);
   /* Далее можно поменять его свйоства. Например, добавить новые имена, позволяющие различать созданные объекты */
  }
}
;

Для любого, кто хотя бы поверхностно ознакомился с языком RTADS, этот код будет довольно понятен. С динамически созданными объектами система будет обращаться совершенно так-же, как и зарнее созданными.

P.S. Мячик описан за 10 секунд при помощи все того-же легендарного "Генератора"  ;D

Неактивен

0    0    #35
01.06.2004 22:38

Nash
Участник
Зарегистрирован: 22.04.2003
Сообщений: 44
Вебсайт

Придумать, начать и дожить до релиза...

Re: В общем дело поехало...

Погодите, но вот же отрывок из мануала по RTADS:

Еще одной из вариаций на ту же тему является набор неотличимых друг от друга объектов. Например, мы хотим реализовать спичечный коробок, полный спичек. Игрок должен иметь возможность взять одну спичку из коробка, чтобы зажечь ее.

Однако, поскольку TADS требует индивидуального набора лексических свойств для каждого объекта, нам придется-таки наложить некоторые ограничения на действия игрока. В частности, в каждый конкретный момент времени игрок сможет держать в руках только одну спичку - все остальные спички должны оставаться в коробке.

А если у меня есть патронташ и я хочу брать произвольное кол-во патронов, чтобы зарядить их в мой боевой пистолет? Дальше в мануале идет страница исходного кода решения со спичками. И это если позволено брать только одну спичку из коробка. Мне придется городить вдвое больше?
ЗЫ. Не судите слишком строго, RTADS я знаю действительно поверхностно...

Неактивен

0    0    #36
02.06.2004 00:35

GrAndrey
папа RTADS и Бяка (+49, -2)
Откуда: Москва
Зарегистрирован: 15.09.2002
Сообщений: 1201
Вебсайт

меньше слов

Re: В общем дело поехало...

Nash написал:

Погодите, но вот же отрывок из мануала по RTADS:
А если у меня есть патронташ и я хочу брать произвольное кол-во патронов, чтобы зарядить их в мой боевой пистолет? Дальше в мануале идет страница исходного кода решения со спичками. И это если позволено брать только одну спичку из коробка. Мне придется городить вдвое больше?
ЗЫ. Не судите слишком строго, RTADS я знаю действительно поверхностно...

В TADS есть понятие неразличимых объектов (они имеют флаг isEquivalent и общий суперкласс). Только что динамически создал 25 патронов. Брать их получается только по одному. Буду писать анализ для числительных.

Неактивен

0    0    #37
02.06.2004 01:00

Olegus t.Gl.
Участник (+1055, -249)
Откуда: Москва
Зарегистрирован: 01.03.2001
Сообщений: 2881
Вебсайт

Re: В общем дело поехало...

"Куб" так "куб". Трехмерный массив может пригодится для моделирования пространства.

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

P.S. Не думайте, что описанные фичи отняли бОльшую часть времени (на тему — ковыряясь в мелочах, забыл о главном)...

P.P.S. Различные примеры из других платформ весьма интересны и познавательны, однако не стоит превращать эту тему в FAQ по этим платформам. В то же время, я ни в коем случае не запрещаю некоторую отвлечённость в разговоре. Но придерживайтесь меры...

Неактивен

0    0    #38
02.06.2004 08:57

Nash
Участник
Зарегистрирован: 22.04.2003
Сообщений: 44
Вебсайт

Придумать, начать и дожить до релиза...

Re: В общем дело поехало...

Насчёт переменных: в моей платформе определения переменной с указанием типа будет не нужно (хотя нужна будет инициализация или типа того) — её тип будет определяться присвоенным значением.

Да, с одной стороны - это есть правильно и проще. С другой - довольно сложно проследить, где же в первый раз была объявлена переменная smile И усложняется контроль над ошибками в компиляторе.
Но это все к спору между сторонниками паскаля и си.
А будут ли в платформе функции (именно функции, а не процедуры)? И еще - переменные будут делиться на локальные и глобальные (с учетом подключаемых библиотек)? 

Неактивен

0    0    #39
02.06.2004 10:34

Olegus t.Gl.
Участник (+1055, -249)
Откуда: Москва
Зарегистрирован: 01.03.2001
Сообщений: 2881
Вебсайт

Re: В общем дело поехало...

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

Неактивен

0    0    #40
02.06.2004 21:50

Unreal
Участник (+3)
Зарегистрирован: 13.09.2002
Сообщений: 170

Re: В общем дело поехало...

Nash написал:

Погодите, но вот же отрывок из мануала по RTADS:
А если у меня есть патронташ и я хочу брать произвольное кол-во патронов, чтобы зарядить их в мой боевой пистолет? Дальше в мануале идет страница исходного кода решения со спичками. И это если позволено брать только одну спичку из коробка. Мне придется городить вдвое больше?

(Так вот что ты имел в виду... Точнее надо формировать техническое задание. :-) )

То, чего ты хочешь, не реализовано ни в одной (насколько я знаю) системе IF кроме TADS3! Это просто объяснимо — это весьма сложно сделать и при этом сделать "правильно". Плюс к тому, необходимость в подобной функциональности возникает не часто и, как ты сам видел, это ограничения _можно_ обойти.

А можно узнать, имеется ли данная вещь хотя бы в списке желаемого в "IF платформе"? А в RTADS это _уже_ возможно, пусть и не без труда (чужого, кстати, — код-то уже написан добрыми иностранцами).

Неактивен

0    0    #41
02.06.2004 22:36

Nash
Участник
Зарегистрирован: 22.04.2003
Сообщений: 44
Вебсайт

Придумать, начать и дожить до релиза...

Re: В общем дело поехало...

То, чего ты хочешь, не реализовано ни в одной (насколько я знаю) системе IF кроме TADS3!

А в RTADS это _уже_ возможно, пусть и не без труда (чужого, кстати, — код-то уже написан добрыми иностранцами).

Так "не реализовано" или "возможно"? smile

Плюс к тому, необходимость в подобной функциональности возникает не часто

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

Неактивен

0    0    #42
22.06.2004 12:36

Olegus t.Gl.
Участник (+1055, -249)
Откуда: Москва
Зарегистрирован: 01.03.2001
Сообщений: 2881
Вебсайт

Re: В общем дело поехало...

Дело хоть и медленно, но продвигается. Пока всё на стадии проектирования с программными "набросками" реализации некоторых алгоритмов. Так, вроде удалось разобраться и спроектировать работу со свойствами и методами объектов платформы...

В настоящее время работаю над реализацией в платформе работы как с типизированными переменными, так и с переменными без типа.

Изрядное количество хлопот доставляет реализация операций присваивания и сравнения на равенство через один знак "=". Обозначать эти операции по-разному (как в C или Delphi/Pascal'е) на мой взгляд не очень разумно.

Неактивен

0    0    #43
24.06.2004 12:50

dennis
Участник
Зарегистрирован: 10.06.2003
Сообщений: 159

Re: В общем дело поехало...

Использование РАЗНЫХ символов для присваивания и сравнения в C/C++/Inform — отнюдь не роскошь. Это бинарные операции, могут использоваться в любых контекстах, и иначе различить их нельзя.

Неактивен

0    0    #44
24.06.2004 13:39

Olegus t.Gl.
Участник (+1055, -249)
Откуда: Москва
Зарегистрирован: 01.03.2001
Сообщений: 2881
Вебсайт

Re: В общем дело поехало...

dennis написал:

Использование РАЗНЫХ символов для присваивания и сравнения в C/C++/Inform — отнюдь не роскошь. Это бинарные операции, могут использоваться в любых контекстах, и иначе различить их нельзя.

Ясное дело, что не роскошь. Говоря проще, в C/C++/PHP/т.п. различие в обозначении этих операций обусловлено в первую очередь тем, что в этих языках можно использовать операции и сравнения, и присвоения в рамках одного действия (или как это там называется).
Я при проектировании платформы от этого сознательно отказался.

Неактивен

0    0    #45
09.08.2004 00:16

Olegus t.Gl.
Участник (+1055, -249)
Откуда: Москва
Зарегистрирован: 01.03.2001
Сообщений: 2881
Вебсайт

Re: В общем дело поехало...

Работа идёт, хотя лето, солнце и т.п. несколько снижают темп...

Неактивен

0    0    #46
31.08.2004 13:05

Uten
Гость

Re: В общем дело поехало...

По поводу консоли в Win32:
В 98 окнах изменение шрифта консоли - только извне,  ручками.
В Вин2000 и ВинХР - таких возможностей не предусмотрено вообще. На то она и консоль.

0    0    #47
31.08.2004 14:39

Olegus t.Gl.
Участник (+1055, -249)
Откуда: Москва
Зарегистрирован: 01.03.2001
Сообщений: 2881
Вебсайт

Re: В общем дело поехало...

Жаль, что нельзя менять шрифт. Хотя и несколько странно...

Неактивен

0    0    #48
31.08.2004 15:28

GrAndrey
папа RTADS и Бяка (+49, -2)
Откуда: Москва
Зарегистрирован: 15.09.2002
Сообщений: 1201
Вебсайт

меньше слов

Re: В общем дело поехало...

Uten написал:

По поводу консоли в Win32:
В 98 окнах изменение шрифта консоли - только извне,  ручками.
В Вин2000 и ВинХР - таких возможностей не предусмотрено вообще. На то она и консоль.

Как это нельзя? Свойства, шрифт. Правда только два (наверно, можно ещё установить), но размеры на любой вкус.

Неактивен

0    0    #49
31.08.2004 16:46

Uten
Гость

Re: В общем дело поехало...

GrAndrey написал:


Как это нельзя? Свойства, шрифт. Правда только два (наверно, можно ещё установить), но размеры на любой вкус.

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

0    0    #50
31.08.2004 20:27

GrAndrey
папа RTADS и Бяка (+49, -2)
Откуда: Москва
Зарегистрирован: 15.09.2002
Сообщений: 1201
Вебсайт

меньше слов

Re: В общем дело поехало...

У меня была прога, заменяющая стандартный ДОСовский шрифт, со встроенным "графическим" редактором. Использовал для улучшения графики в "рогалике". К сожалению, забыл как называется, а найти у себя уже не могу. С ДОС-игрой под виндами будет работать, если запустить их в одной консоли (запустить по очереди через батник).

Неактивен

Powered by PunBB
© copyright 2001–2024 iFiction.Ru