Forum.iFiction.Ru

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

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

Вы не зашли.

0    0    #451
14.02.2013 06:56

DoubleDragon
Модератор (+390, -31)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1759
Вебсайт

Разработчик "AXMA Story Maker"

Re: Предложения по новому функционалу

sosiskin написал:

А как насчёт тёмной цветовой схемы для редактора кода? А то пялиться сутками на белый экран, это знаете, удовольствие на любителя. Кто как, а я кодить привык в SublimeText, там цвета как на данном форуме по умолчанию, щадящие.

Это можно.

Неактивен

0    0    #452
14.02.2013 06:57

DoubleDragon
Модератор (+390, -31)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1759
Вебсайт

Разработчик "AXMA Story Maker"

Re: Предложения по новому функционалу

Ergistal написал:

Не предпологается сделать он-лайн редактор? Чтобы не качать каждый раз новую версию, а сразу же открыл в режиме "он-лайн", пописал игру, закрыл... Пришёл домой с работы и продолжил с того-же места smile

Есть такая мысль давно, но произойти это может не раньше начала лета.

Неактивен

0    0    #453
16.02.2013 11:58

DoubleDragon
Модератор (+390, -31)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1759
Вебсайт

Разработчик "AXMA Story Maker"

Re: Предложения по новому функционалу

Доступна версия 1.9. Подробнее здесь: https://forum.ifiction.ru/viewtopic.php … 487#p27487

Неактивен

0    0    #454
03.03.2013 04:26

Ergistal
Участник (+33, -3)
Откуда: Крым
Зарегистрирован: 25.05.2011
Сообщений: 133
Вебсайт

Лучший графический редактор - Ваше воображение, загрузи и наслаждайся.

Re: Предложения по новому функционалу

По макросу  repeat.

Сейчас в качестве аргумента задаётся только число секунд. В формате <<repeat 'Тест3' 5>>


Если не трудно, сможете ли добавить такое условие?

<<repeat 'Тест3' $delay>>

В смысле чтобы задавать задержку значением переменной?

Неактивен

1    0    #455
03.03.2013 06:44

Korwin
Гоблин, зеленый от недосыпа (+168, -14)
Откуда: Екатеринбург
Зарегистрирован: 27.11.2007
Сообщений: 783
Вебсайт

У трав, растущих на мягкой земле - слабые корни. (с)Korwin

Re: Предложения по новому функционалу

Судя по вполне справедливым смешкам сообщества, в настоящее время Korwin просто чемпион по созданию багов и глюков в своих играх.

Я подумал, и решил, что данный факт следует использовать в общественных интересах. Статью об ошибках при создании текстовых игр я еще напишу.

А сейчас выскажу свои предложения по редактору AXMA Story Maker, которые позволят сократить количество багов еще в процессе создания игры:

1. Ввести проверку на наличие всех закрывающих <<endif>> в редактируемом параграфе и отмечать такую ошибку цветом кавычек соответствующего <<if $...>> Также отмечать такую ошибку в визуальном редакторе.

Как вариант - при нахождении курсора внутри одного из макросов, относящегося к <<if ..>> <<elseif>> <<else>> <<endif>> выделять все, относящееся именно к этому макросу ярким цветом.

Это позволит сократить количество ляпов при вложенных условиях.

2. Считать параграф с переменной, встретившейся в тексте квеста один раз - ошибочным. При возможности, подсвечивать такую переменную.

3. Подсвечивать цветом ошибки макрос <<if $объект = значение>> и макрос <<set $объект eq значение>>

4. При наличии в коде двух параграфов с одинаковыми названиями остановить процесс компиляции и указать на ошибку, а не уничтожать один из них!
5. При тестировании если в условии есть несуществующая переменная - остановить процесс выполнения и выдать ошибку.

Неактивен

0    0    #456
03.03.2013 07:50

DoubleDragon
Модератор (+390, -31)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1759
Вебсайт

Разработчик "AXMA Story Maker"

Re: Предложения по новому функционалу

Ergistal написал:

По макросу  repeat.

Сейчас в качестве аргумента задаётся только число секунд. В формате <<repeat 'Тест3' 5>>


Если не трудно, сможете ли добавить такое условие?

<<repeat 'Тест3' $delay>>

В смысле чтобы задавать задержку значением переменной?

Я попробую. Если это не потянет за собой ничего, то в следующей версиии будет.

Неактивен

0    0    #457
03.03.2013 07:56

DoubleDragon
Модератор (+390, -31)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1759
Вебсайт

Разработчик "AXMA Story Maker"

Re: Предложения по новому функционалу

2Korwin.
Очень вовремя поднят этот вопрос! Я как раз уже пару недель делаю модуль проверки ошибок, так что всё сказанное - по делу.

Единственное, не понял это:

3. Подсвечивать цветом ошибки макрос <<if $объект = значение>> и макрос <<set $объект eq значение>>

Почему надо подсвечивать?

Неактивен

0    0    #458
03.03.2013 08:39

Korwin
Гоблин, зеленый от недосыпа (+168, -14)
Откуда: Екатеринбург
Зарегистрирован: 27.11.2007
Сообщений: 783
Вебсайт

У трав, растущих на мягкой земле - слабые корни. (с)Korwin

Re: Предложения по новому функционалу

DoubleDragon написал:

2Korwin.
Очень вовремя поднят этот вопрос! Я как раз уже пару недель делаю модуль проверки ошибок, так что всё сказанное - по делу.

Единственное, не понял это:

3. Подсвечивать цветом ошибки макрос <<if $объект = значение>> и макрос <<set $объект eq значение>>

Почему надо подсвечивать?

Потому что это ошибочные конструкции, которые иногда возникают при торопливом копировании через Ctrl-C - Ctrl-V. То есть я программирую так - и поправьте меня если я делаю неправильно:

1. Придумываю условие. Если у гнома есть молот, он может выковать меч.
2. Вписываю, допустим <<if $молот eq 1>> [[Выковать меч из орала.]] <<else>> Сначала нужно найти молот! <<endif>>
3. Копирую <<if $молот eq 1>> в параграф :: Start и ручками заменяю его на <<set $молот = 0>> - чтобы инициализировать переменную, иначе все условие, включая else не работает.
При спешке и нехватке времени возникает ошибка, когда я не заменяю eq на =

4. Аналогично получается при копировании куска <<set $молот = 1>>  в условие - замена set на if логична, но замена '=' на 'eq' не выглядит очевидной, поскольку в других языках программирования '=' бывает и оператором сравнения, и оператором присваивания.

Неактивен

0    0    #459
03.03.2013 08:59

DoubleDragon
Модератор (+390, -31)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1759
Вебсайт

Разработчик "AXMA Story Maker"

Re: Предложения по новому функционалу

Хм. Можно писать <<if $объект == значение>> как вариант... А инициализация переменных в начале игры вообще необязательна. Или мне нужен пример, когда это необходимо.

Неактивен

0    0    #460
03.03.2013 10:03

Korwin
Гоблин, зеленый от недосыпа (+168, -14)
Откуда: Екатеринбург
Зарегистрирован: 27.11.2007
Сообщений: 783
Вебсайт

У трав, растущих на мягкой земле - слабые корни. (с)Korwin

Re: Предложения по новому функционалу

DoubleDragon написал:

Хм. Можно писать <<if $объект == значение>> как вариант... А инициализация переменных в начале игры вообще необязательна. Или мне нужен пример, когда это необходимо.

Проверил - действительно, переменная, которая не присвоена рассматривается как нуль и выполняется
Сказать, что я изумлен - это ничего не сказать! Зачем же я тогда 60 переменных инициализировал?
А раньше не надо было? Или у меня это старые привычки?

Неактивен

1    0    #461
03.03.2013 10:08

DoubleDragon
Модератор (+390, -31)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1759
Вебсайт

Разработчик "AXMA Story Maker"

Re: Предложения по новому функционалу

Переменная по-правде вначале равна значению undefined. Лучше на него не проверять, а делать как в примере из руководства:
Например, чтобы проверить существование объекта (или наличие предмета у героя) просто укажите его название в условии:
<<if $объект>>

Ну где-то с полгода так, с начала осени точно smile Видимо старые привычки.

Неактивен

0    0    #462
03.03.2013 10:58

Ergistal
Участник (+33, -3)
Откуда: Крым
Зарегистрирован: 25.05.2011
Сообщений: 133
Вебсайт

Лучший графический редактор - Ваше воображение, загрузи и наслаждайся.

Re: Предложения по новому функционалу

Зачем же я тогда 60 переменных инициализировал?

А что в этом плохого? Я тоже делаю отдельный параграф "старт_переменные" и в нём в 1-м параграфе макросом display инициализирую  все переменные. Зато они все находятся в одном месте, и  как в шпаргалку можно заглянуть.

Неактивен

1    0    #463
03.03.2013 12:04

Morych
Модератор (+67, -8)
Откуда: Гродно
Зарегистрирован: 05.07.2012
Сообщений: 523
Вебсайт

Re: Предложения по новому функционалу

Ergistal написал:

Зачем же я тогда 60 переменных инициализировал?

А что в этом плохого? Я тоже делаю отдельный параграф "старт_переменные" и в нём в 1-м параграфе макросом display инициализирую  все переменные. Зато они все находятся в одном месте, и  как в шпаргалку можно заглянуть.

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

Неактивен

0    0    #464
26.03.2013 15:29

Morych
Модератор (+67, -8)
Откуда: Гродно
Зарегистрирован: 05.07.2012
Сообщений: 523
Вебсайт

Re: Предложения по новому функционалу

Можно ли в версии 2.0 добавить возможность выравнивания текста по левому краю в таблицах?

Неактивен

0    0    #465
26.03.2013 16:11

DoubleDragon
Модератор (+390, -31)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1759
Вебсайт

Разработчик "AXMA Story Maker"

Re: Предложения по новому функционалу

Morych написал:

Можно ли в версии 2.0 добавить возможность выравнивания текста по левому краю в таблицах?

Можно, но тогда с тебя идея простого синтаксиса этой фичи.

Неактивен

0    0    #466
26.03.2013 16:27

Flash
Участник (+10, -9)
Зарегистрирован: 12.05.2012
Сообщений: 203
Вебсайт

Re: Предложения по новому функционалу

Цикл очень-очень нужен. И ранее обещалось использование картинок не только в роли иллюстраций как сейчас. Тоже нужно сильно для карты, состоящей из квадратиков. Поставил сейчас новую версию. Модуль проверки ошибок это хорошо, но нельзя ли сделать его опциональным, а то рабочий код не получается откомпилить из-за этого в версии 1.9.6.1.

Отредактировано Flash (26.03.2013 16:38)

Неактивен

1    0    #467
26.03.2013 17:10

DoubleDragon
Модератор (+390, -31)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1759
Вебсайт

Разработчик "AXMA Story Maker"

Re: Предложения по новому функционалу

Flash написал:

Цикл очень-очень нужен. И ранее обещалось использование картинок не только в роли иллюстраций как сейчас. Тоже нужно сильно для карты, состоящей из квадратиков. Поставил сейчас новую версию. Модуль проверки ошибок это хорошо, но нельзя ли сделать его опциональным, а то рабочий код не получается откомпилить из-за этого в версии 1.9.6.1.

Цикл будет. С картинками думаю. А что именно модуль ошибок не пропускает?

Неактивен

0    0    #468
26.03.2013 17:19

Morych
Модератор (+67, -8)
Откуда: Гродно
Зарегистрирован: 05.07.2012
Сообщений: 523
Вебсайт

Re: Предложения по новому функционалу

DoubleDragon написал:

Morych написал:

Можно ли в версии 2.0 добавить возможность выравнивания текста по левому краю в таблицах?

Можно, но тогда с тебя идея простого синтаксиса этой фичи.

Приходит в голову нечто такое:
<<row @@@$cell_1@@@ %%%$cell_2%%% noborder>>
где @@@ - выравнивание по правому краю, %%% - по левому. По умолчанию выровнено по центру.
устроит и общее выравнивание для всех ячеек строки:
%%%<<row $cell_1 $cell_2 noborder>>%%%
ещё варианты:
<<row $cell_1 $cell_2 noborder left>> (и <<row $cell_1 $cell_2 noborder right>>)
<<rowleft $cell_1 $cell_2 noborder>> (и <<rowright $cell_1 $cell_2 noborder>>)

Неактивен

0    0    #469
26.03.2013 17:27

Flash
Участник (+10, -9)
Зарегистрирован: 12.05.2012
Сообщений: 203
Вебсайт

Re: Предложения по новому функционалу

DoubleDragon написал:

А что именно модуль ошибок не пропускает?

<<set $t = $t.replace(/1/g,"_")>>
<<set $t = $t.replace(/2/g,"#")>>

Неактивен

0    0    #470
26.03.2013 17:31

DoubleDragon
Модератор (+390, -31)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1759
Вебсайт

Разработчик "AXMA Story Maker"

Re: Предложения по новому функционалу

Вот так работает:
<<set $t = $t.replace("1","_")>>
<<set $t = $t.replace("2","#")>>
А //g - это для регулярных выражений. Не знаю, нужно ли делать их поддержку, если мало кто из авторов умеет ими пользоваться...

Неактивен

0    0    #471
26.03.2013 17:32

DoubleDragon
Модератор (+390, -31)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1759
Вебсайт

Разработчик "AXMA Story Maker"

Re: Предложения по новому функционалу

<<row $cell_1 $cell_2 noborder left>> (и <<row $cell_1 $cell_2 noborder right>>)
<<rowleft $cell_1 $cell_2 noborder>> (и <<rowright $cell_1 $cell_2 noborder>>

Это мне нравится smile Подумаю ещё...

Неактивен

0    0    #472
26.03.2013 17:43

Korwin
Гоблин, зеленый от недосыпа (+168, -14)
Откуда: Екатеринбург
Зарегистрирован: 27.11.2007
Сообщений: 783
Вебсайт

У трав, растущих на мягкой земле - слабые корни. (с)Korwin

Re: Предложения по новому функционалу

Morych написал:

Приходит в голову нечто такое:
<<row @@@$cell_1@@@ %%%$cell_2%%% noborder>>
где @@@ - выравнивание по правому краю, %%% - по левому. По умолчанию выровнено по центру.
устроит и общее выравнивание для всех ячеек строки:
%%%<<row $cell_1 $cell_2 noborder>>%%%
ещё варианты:
<<row $cell_1 $cell_2 noborder left>> (и <<row $cell_1 $cell_2 noborder right>>)
<<rowleft $cell_1 $cell_2 noborder>> (и <<rowright $cell_1 $cell_2 noborder>>)

<<row @@@$cell_1@@@ %%%$cell_2%%% noborder>> - самый функциональный, гибкий и сложный вариант для восприятия. Но, поскольку необходимость возникает не слишком часто - возможно.
%%%<<row $cell_1 $cell_2 noborder>>%%% - самый естественный в плане единства синтаксиса

<<row $cell_1 $cell_2 noborder left>> (и <<row $cell_1 $cell_2 noborder right>>) - смотрится понятно, и вполне естественно, но имеем нарушение принципов разметки макросов. Не знаю, насколько это допустимо.
<<rowleft $cell_1 $cell_2 noborder>> (и <<rowright $cell_1 $cell_2 noborder>>) - умножение числа макросов? Как-то некрасиво.

Хотел предложить свой вариант, с системной переменной <<$$align='center'>> <<$$align='left'>> <<$$align='right'>> — но 1-й вариант Morych'a мне кажется правильнее, а третий - нагляднее.

Отредактировано Korwin (26.03.2013 17:44)

Неактивен

0    0    #473
26.03.2013 17:45

DoubleDragon
Модератор (+390, -31)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1759
Вебсайт

Разработчик "AXMA Story Maker"

Re: Предложения по новому функционалу

Корвин, спасибо! Как обычно, разложил всё по полочкам!

Неактивен

0    0    #474
26.03.2013 18:08

Flash
Участник (+10, -9)
Зарегистрирован: 12.05.2012
Сообщений: 203
Вебсайт

Re: Предложения по новому функционалу

DoubleDragon написал:

Вот так работает:
<<set $t = $t.replace("1","_")>>
<<set $t = $t.replace("2","#")>>
А //g - это для регулярных выражений. Не знаю, нужно ли делать их поддержку, если мало кто из авторов умеет ими пользоваться...

Так мне нужно больше одного символа заменять в строке. Кстати, а почему для repeat ограничение такое большое? 1 секунда - слишком много для некоторых целей.

Неактивен

0    0    #475
26.03.2013 18:41

DoubleDragon
Модератор (+390, -31)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1759
Вебсайт

Разработчик "AXMA Story Maker"

Re: Предложения по новому функционалу

Там можно указывать любое количество символов. А одна секунда в repeat - вынужденное ограничение. Может потом поменяем.

Неактивен

Powered by PunBB
© copyright 2001–2019 iFiction.Ru