12/05/2004 в 00:23 были начаты работы по созданию русской IF-платформы для написания игр с текстовым вводом команд. От DOS'а пришлось отказаться в пользу Win32. Пишется всё на Delphi.
По состоянию на сегодняшний день дела идут удовлетворительно. Вот только вывод информации на экран в консольном приложении под Win95 происходит немного тормознуто (реанимировал для тестов свой старенький компьютер: CPU:486 160МГц/Mem:40MB/S3 Virge DX 2MB/HDD:426MB).
Если кто знает, как в консольном приложении использовать свои шрифты (в полноэкранном режиме), просьба сообщить — буду очень признателен.
Постараюсь по возможности сообщать о ходе работ...
Неактивен
Я все-таки не понимаю, вы пишите игры или движки?
Неактивен
Nash: "Кажется, мы удаляемся от главной темы."
Тема у нас заявлена как: "В общем, дело поехало...". По-моему, она настолько общая, что от неё черезвычайно трудно отклониться
Nash: "Вкратце, если TADS вдруг кардинально поменяют, придется все заново переводить."
ТАДС кариданльно не поменяется. Он и раньше менялся с сохранением обратной совместимости, а теперь вообще почти не обновляется. Автор занят разработкой новой версии (уже около 4 лет, причем, он - профессиональный программист ).
Nash: "Лично я ЗА то, чтобы кто-то из нас написал платформу, которая будет иметь нормальный парсер, понимать падежи, иметь русский синтаксис etc."
Я это всё, конечно, понимаю, и уважаю подобное рвение. Просто я знаю: не бывает игр без движка, но бывают движки без игр. Как я понял, Олегус, от которого зависит организация конкурса, делает игру для участия в нем. И я тревожусь: дождемся ли мы этого события?
Неактивен
Nash написал:
Если трехмерный - то "Куб". ИМХО, мненонически самое правильное название...
Тогда уж параллелепипид, он, в отличие от куба, может иметь разную длину сторон
Хорошо звучит - параллелепипид данных. Только написать его правильно многим будет непросто
Неактивен
Nash:
>>Да ну, написать (объявить, я понимаю?) несложно. Это
>>ж не динамические массивы...
Нет, правильно написать слово параллелепипид
Stas Starkov
Quote:Все это, естественно, отсутсвует в RTADS и Русском Inform.
>> ??? А что тогда из себя представляет файл *.gam,
>> например?
Памятка: сарказм - это не старческая болезнь, и не опухоль. Это такие реплики, которые будучи записанными на форуме, часто неправильно воспринимаются. Вспоинается давнишняя тема :
https://forum.ifiction.ru/viewtopic.php?pid=7289#p7289
Неактивен
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
Неактивен
Nash написал:
Погодите, но вот же отрывок из мануала по RTADS:
А если у меня есть патронташ и я хочу брать произвольное кол-во патронов, чтобы зарядить их в мой боевой пистолет? Дальше в мануале идет страница исходного кода решения со спичками. И это если позволено брать только одну спичку из коробка. Мне придется городить вдвое больше?
ЗЫ. Не судите слишком строго, RTADS я знаю действительно поверхностно...
В TADS есть понятие неразличимых объектов (они имеют флаг isEquivalent и общий суперкласс). Только что динамически создал 25 патронов. Брать их получается только по одному. Буду писать анализ для числительных.
Неактивен
Uten написал:
По поводу консоли в Win32:
В 98 окнах изменение шрифта консоли - только извне, ручками.
В Вин2000 и ВинХР - таких возможностей не предусмотрено вообще. На то она и консоль.
Как это нельзя? Свойства, шрифт. Правда только два (наверно, можно ещё установить), но размеры на любой вкус.
Неактивен
У меня была прога, заменяющая стандартный ДОСовский шрифт, со встроенным "графическим" редактором. Использовал для улучшения графики в "рогалике". К сожалению, забыл как называется, а найти у себя уже не могу. С ДОС-игрой под виндами будет работать, если запустить их в одной консоли (запустить по очереди через батник).
Неактивен