Forum.iFiction.Ru

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

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

Вы не зашли.

0    0    #226
20.06.2013 00:56

NekronMono
Участник
Зарегистрирован: 17.06.2013
Сообщений: 3

Re: Как сделать что-то или "я вот не понимаю"

Большое спасибо.
Может кто нибудь подсобить примером?
Хорошим примером работы со списками хотя бы, я не совсем отчетливо понял, что это такое.

Неактивен

0    0    #227
20.06.2013 13:05

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

Re: Как сделать что-то или "я вот не понимаю"

NekronMono написал:

Спасибо большое.
Есть еще такой вопрос.
У нас есть деревня разбитая на координаты. Количество домов  в каждой клеточке рандомируются во время старта вместе с генерированием вариантов домов (то есть у меня написано 10 вариантов обустройства дома, персонажи и события в нем, программа рандомно выбирает какой из вариантов выбрать). Но нужно добиться такого результата, чтобы при повторении варианта, переменные не смешивались и не сбивались, то есть если я разбил окно в доме номер 1, то в доме номер 8 (где у меня попался такой же вариант развития событий) окно стояла на месте, но у первого окно оставалось разбитым. Неужели придётся каждой координате, дому и варианту писать одинаковые скрипты, только с разными переменными?

Одинаковые скрипты точно писать не надо. Попробуем разобраться. Ergistal правильно подсказал насчёт списков и циклов. Все свойства дома можно поместить в списки. Например список, который отвечает за состояние окна во всех домах:

Код:

<<set $window = [true, true, true]>>

Пусть у нас есть три дома, а true означает, что окно целое. Теперь разбиваем окно в первом доме:

Код:

<<set $window[0] = false>>

Индекс первого дома = 0. И разобьем окно в третьем доме:

Код:

<<set $window[2] = false>>

Теперь можно задать другой список с другим свойством. Цвет стен, например:

Код:

<<set $color = ["синие", "чёрные", "красные"]>>

Теперь нам надо знать в который по счёту дом мы зашли. Индекс дома занесём в переменную $n, тогда для любого дома:

Код:

:: Дома
Вы зашли в дом номер <<print $n>>.
У этого дома <<print $color[$n]>> стены. Окно <<if $window[$n]>>целёхонько<<else>>разбито<<endif>>.

А переходы в разные дома могут выглядеть так:

Код:

[[Идти в первый дом|Дома {$n = 0}]]
[[Идти во второй дом|Дома {$n = 1}]]
[[Идти в третий дом|Дома {$n = 2}]]

Неактивен

0    0    #228
08.07.2013 18:46

Nabusan
Участник
Зарегистрирован: 08.07.2013
Сообщений: 2

Re: Как сделать что-то или "я вот не понимаю"

Если вопросы были отвечены, я спрошу еще раз, уж простите)


1. Я хочу, что бы игрок нашел предмет, но он мог поленится и не зайти. Дальше я делаю проверку с if, т.е есть предмет\нету предмета, но мне выдает ошибку. Уточните как правильно это сделать пжста

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

Отредактировано Nabusan (08.07.2013 19:01)

Неактивен

0    0    #229
08.07.2013 23:05

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

Re: Как сделать что-то или "я вот не понимаю"

Nabusan написал:

Если вопросы были отвечены, я спрошу еще раз, уж простите)


1. Я хочу, что бы игрок нашел предмет, но он мог поленится и не зайти. Дальше я делаю проверку с if, т.е есть предмет\нету предмета, но мне выдает ошибку. Уточните как правильно это сделать пжста

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

1. В начале игры пишем <<set $predmet = 0>> это будет означать, что предмета у гг нет. Там, где он его находит, пишем <<set $predmet = 1>> Тогда проверка наличия предмета:

Код:

<<if $predmet>>
Предмет есть.
<<else>>
Нет предмета.
<<endif>>

2. Например:

Код:

:: ВводИмени
Как звать-то тебя, дружище?
<<input 'Нпц' $name>>

:: Нпц
Ну привет, <<print $name>>!

А вообще советую посмотреть учебник в блоге "Гиперкниги", там про все это подробно писано. smile Например, в этой главе кроме всего прочего говорится, что делать, если игрок вздумает ввести имя капсом.

Неактивен

0    0    #230
09.07.2013 01:21

Nabusan
Участник
Зарегистрирован: 08.07.2013
Сообщений: 2

Re: Как сделать что-то или "я вот не понимаю"

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

Код:

Осталось послднее - Ваш Класс
Хотя, человечеческие закрома полны сюрпризов
[[+Обыскать закрома|Меч {$Меч=1}]]
 <<set $Меч = 1>>
[[-Воин|Воин]]
[[-Маг|Маг]]
[[-Вор|Вор]]

Неактивен

0    0    #231
09.07.2013 09:28

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

Re: Как сделать что-то или "я вот не понимаю"

Nabusan написал:

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

Код:

Осталось послднее - Ваш Класс
Хотя, человечеческие закрома полны сюрпризов
[[+Обыскать закрома|Меч {$Меч=1}]]
 <<set $Меч = 1>>    <--- так вот поэтому и находит :)
[[-Воин|Воин]]
[[-Маг|Маг]]
[[-Вор|Вор]]

При построении страницы весь код параграфа выполняется последовательно и до конца. Т.е. когда вы видите на экране текст со ссылками, объект $меч уже равен 1. А вот присваивание значений в ссылках (в фигурных скобках) выполняется только при нажатии на ссылку.

Неактивен

0    0    #232
10.07.2013 15:14

plusova
Участник
Зарегистрирован: 10.07.2013
Сообщений: 11

Re: Как сделать что-то или "я вот не понимаю"

Приветствую, уважаемые!! Я новичок.
Пытаюсь сделать на платформе AXMA Story Maker интерактивный тренинг.
В тренинге есть задания, на которые пользователь может ответить письменно прямо в тексте, онлайн.
Подскажите как сделать, чтобы текст, который вводит пользователь сохранялся. И как реализовать возможность распечатки сохраненных пользователем результатов, отправки на e-mail

Неактивен

0    0    #233
10.07.2013 15:36

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

Re: Как сделать что-то или "я вот не понимаю"

plusova написал:

Приветствую, уважаемые!! Я новичок.
Пытаюсь сделать на платформе AXMA Story Maker интерактивный тренинг.
В тренинге есть задания, на которые пользователь может ответить письменно прямо в тексте, онлайн.
Подскажите как сделать, чтобы текст, который вводит пользователь сохранялся. И как реализовать возможность распечатки сохраненных пользователем результатов, отправки на e-mail

Добро пожаловать в сообщество Аксмавторов!
Значения всех объектов (в том числе и те, которые вводит пользователь) сохраняются при нажатии кнопки "Сохранить состояние" в Меню.
Распечатку можно реализовать средствами браузера, в котором будет проигрываться тренинг. Если вы будете использовать "Хром", то там, знаю, можно
распечатать в pdf-файл. А вот автоматическую отправку на почту, боюсь, реализовать невозможно. Если только кто-нибудь не подскажет нестандартное решение. smile

Неактивен

0    0    #234
10.07.2013 15:44

plusova
Участник
Зарегистрирован: 10.07.2013
Сообщений: 11

Re: Как сделать что-то или "я вот не понимаю"

Morych, спасибочки за скорый ответ.

Morych написал:

Значения всех объектов (в том числе и те, которые вводит пользователь) сохраняются при нажатии кнопки "Сохранить состояние" в Меню.
smile

нажатие кнописьки это понятно. Вопрос: как бы сделать ссылку на эту кнопиську сразу под окошком ввода? и 
чтобы текст при этом сразу же на странице просмотра отражался?

Неактивен

0    0    #235
10.07.2013 15:53

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

Re: Как сделать что-то или "я вот не понимаю"

Нажатие, извините, чего? smile
Ссылку под окошком ввода никак не сделаешь, она всегда в определённом месте. Можно только сообщить пользователю про такую возможность. Вообще я говорю про сохранение значений между сеансами. Т.е. сохранение значений после закрытия браузера. А текущие значения объектов и так хранятся в памяти, их можно показывать макросом «print».

Неактивен

0    0    #236
10.07.2013 16:04

plusova
Участник
Зарегистрирован: 10.07.2013
Сообщений: 11

Re: Как сделать что-то или "я вот не понимаю"

Morych написал:

Нажатие, извините, чего? smile

Ну того самого объекта, на котором важно "Сохранить состояние" smile

спасибо, за ответы!

Неактивен

0    0    #237
10.07.2013 16:15

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

Re: Как сделать что-то или "я вот не понимаю"

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

Неактивен

0    0    #238
10.07.2013 16:40

plusova
Участник
Зарегистрирован: 10.07.2013
Сообщений: 11

Re: Как сделать что-то или "я вот не понимаю"

Morych написал:

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

Есть описание задания данное автором.

Под ним  окошко для ввода текста пользователем.

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

Задача 2: чтобы у меня была возможность посмотреть что написал пользователь

Неактивен

0    0    #239
10.07.2013 17:08

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

Re: Как сделать что-то или "я вот не понимаю"

plusova написал:

Есть описание задания данное автором.

Под ним  окошко для ввода текста пользователем.

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

Задача 2: чтобы у меня была возможность посмотреть что написал пользователь

Создать объект можно при помощи макроса «set». Пример задачи 1:

Код:

:: Start   (<-- это название параграфа)
# Создаем объект «$ответ», изначально его значение равно пустой строке
<<set $ответ = "">>
[[Приступить к выполнению задания|Задание]]

:: Задание
Описание задания.
<<if $ответ eq "">>
     # Если ответа ещё не было, показываем текстовое поле ввода
     Введите ваш ответ:
     <<input "Задание" $ответ>>
<<else>>
     # Иначе показываем ответ пользователя
     Ваш ответ: <<print $ответ>>
<<endif>>

По поводу задачи 2, вы сможете посмотреть, что написал пользователь, только если будете сидеть рядом с пользователем и смотреть на его монитор. smile Наверно, вы хотели отправлять лог работы пользователя себе на e-mail? Если такая фича и будет реализована, не думаю, что это произойдёт скоро.

Неактивен

0    0    #240
10.07.2013 19:19

plusova
Участник
Зарегистрирован: 10.07.2013
Сообщений: 11

Re: Как сделать что-то или "я вот не понимаю"

Спасибо за пример. Разобралась наконец с объектами.
С параграфом не очень удобно. он добавляет текст внизу страницы, а надо в месте вставки. или я что-то не так делаю.
и почему-то ответ пользователя так и не отображается.

Morych написал:

По поводу задачи 2, вы сможете посмотреть, что написал пользователь, только если будете сидеть рядом с пользователем и смотреть на его монитор. smile Наверно, вы хотели отправлять лог работы пользователя себе на e-mail? Если такая фича и будет реализована, не думаю, что это произойдёт скоро.

Задачу два Вы перевели совершенно верно, жаль что так.

Неактивен

0    0    #241
10.07.2013 20:26

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

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

Re: Как сделать что-то или "я вот не понимаю"

Как вариант малой автоматизации:

поздравляем вы выполнили задание!
Скопируйте текст с этой страницы и отправьте на ящик Sobaka@jambux.ru

Неактивен

0    0    #242
10.07.2013 20:40

plusova
Участник
Зарегистрирован: 10.07.2013
Сообщений: 11

Re: Как сделать что-то или "я вот не понимаю"

Ergistal написал:

Как вариант малой автоматизации:...

тоже вариант, спасибо smile

Неактивен

0    0    #243
10.07.2013 22:46

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

Re: Как сделать что-то или "я вот не понимаю"

plusova написал:

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

А дайте посмотреть код вашей истории. Если не хотите светить текст заданий, можно в личку или замените всю секретную инфу.

Неактивен

0    0    #244
11.07.2013 00:38

plusova
Участник
Зарегистрирован: 10.07.2013
Сообщений: 11

Re: Как сделать что-то или "я вот не понимаю"

Morych написал:

А дайте посмотреть код вашей истории. Если не хотите светить текст заданий, можно в личку или замените всю секретную инфу.

Да ничего секретного. Все равно планируют бесплатно в общий доступ выложить. Пока у меня с разметкой мозг в кучку сбивается и на историю "это" мало похоже.
Показать по сути нечего, похоже на обычный pdf файл . Еж ли есть у Вас такая возможность запишите, пожалуйста (пожалуйста, пожалуйста, пожалуйста), толковый видео урок "для начинающих" по использованию макросов. Желательно с пошаговыми демо примерами типа: делаешь это (код) - получаешь это (пример в интерактивной  книжке). Буду крайне признательна, и есть подозрение что не только я. Видео с экрана можно записать программой jing или camtasia

Отредактировано plusova (11.07.2013 00:44)

Неактивен

0    0    #245
11.07.2013 01:53

plusova
Участник
Зарегистрирован: 10.07.2013
Сообщений: 11

Re: Как сделать что-то или "я вот не понимаю"

Morych написал:

А дайте посмотреть код вашей истории. .

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

Вар 1

Код:

:: Start

<<set $ответ = "">>

Здравствуй, дорогой друг!
Не пора ли нам потренироваться? 

[[+Приступить к заданию|Задание {$ответ=""}]]

 
:: Задание
Описание задания.
<<if $ответ eq "">>
     # Если ответа ещё не было, показываем текстовое поле ввода
     Введите ваш ответ:
     <<input "Задание" $ответ>>
<<else>>
     # Иначе показываем ответ пользователя
     Ваш ответ: <<print $ответ>>
<<endif>>

В этом варианте на странице отображается задание и строка ввода, а ответ пользователя открывается на новой странице. Нужно чтобы ответ отображался здесь же.

Вар 2.

Бог с ней со стартовой страницей, попробуем все сделать на странице задания. И оооо... эврика, работает как надо.

Код:

::Start
<<set $ответ = "">>
<<set $ответ2 = "">>
<<set $ответ3 = "">>

:: День 1

Здравствуй, дорогой друг!
начнем выполнение упражнения!

1. первый замечательный вопрос?
<<if $ответ eq "">>
     # Если ответа ещё не было, показываем текстовое поле ввода
     Введите ваш ответ:
     <<input "день 1" $ответ>>
<<else>>
     # Иначе показываем ответ пользователя
     Ваш ответ: <<print $ответ>>
<<endif>>

2. второй замечательный вопрос?
<<if $ответ2 eq "">>
     # Если ответа ещё не было, показываем текстовое поле ввода
     Введите ваш ответ:
     <<input "день 1" $ответ2>>
<<else>>
     # Иначе показываем ответ пользователя
     Ваш ответ: <<print $ответ2>>
<<endif>>

3. третий замечательный вопрос?
<<if $ответ3 eq "">>
     # Если ответа ещё не было, показываем текстовое поле ввода
     Введите ваш ответ:
     <<input "день 1" $ответ3>>
<<else>>
     # Иначе показываем ответ пользователя
     Ваш ответ: <<print $ответ3>>
<<endif>>

Теперь все работает. А что все

Код:

<<set $ответ = "">>

надо на стартовой странице вводить? Почему-то когда сеты вводила прямо в параграфе "День 1" ответы пользователя вообще неотображались
_________________________________________

Отредактировано plusova (11.07.2013 02:57)

Неактивен

0    0    #246
11.07.2013 03:24

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

Re: Как сделать что-то или "я вот не понимаю"

Да. Они не отображались, ибо каждый раз выполнялся код

Код:

<<set $ответ = "">>
<<set $ответ2 = "">>
<<set $ответ3 = "">>

и введенный ответ "затирался". Но

Код:

<<set $ответ = "">>
<<set $ответ2 = "">>
<<set $ответ3 = "">>

в параграфе Start можно и не задавать, а изменить условия

Код:

<<if $ответ eq "">>
<<if $ответ2 eq "">>
<<if $ответ3 eq "">>

на

Код:

<<if !($ответ)>>
<<if !($ответ2)>>
<<if !($ответ3)>>

! используются для проверки объекта на существование.

Неактивен

0    0    #247
11.07.2013 03:51

plusova
Участник
Зарегистрирован: 10.07.2013
Сообщений: 11

Re: Как сделать что-то или "я вот не понимаю"

Flash написал:

в параграфе Start можно и не задавать, а изменить условия.

Здравствуйте,  Flash!
Если я не правильно поняла, то поправьте меня: set можно вообще не задавать?
И поясните где изменить условия: в Start или в параграфе "День1"?


Спасибо за интересный ответ.

Неактивен

0    0    #248
11.07.2013 09:45

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

Re: Как сделать что-то или "я вот не понимаю"

Пока вы не зададите set или не присвоите переменным $ответ..$ответ3 значения каким-нибудь другим способом (через фигурные скобки в ссылке или макросом input) значения этих переменных буду равны undefined (не определённое значение).

Имелось ввиду, что можно сделать так:

Код:

:: Start
[[День 1]]

:: День 1
Здравствуй, дорогой друг!
начнем выполнение упражнения!
1. первый замечательный вопрос?
<<if !($ответ)>>
     Введите ваш ответ:
     <<input "день 1" $ответ>>
<<else>>
     Ваш ответ: <<print $ответ>>
<<endif>>
2. второй замечательный вопрос?
<<if !($ответ2)>>
     Введите ваш ответ:
     <<input "день 1" $ответ2>>
<<else>>
     Ваш ответ: <<print $ответ2>>
<<endif>>
3. третий замечательный вопрос?
<<if !($ответ3)>>
     Введите ваш ответ:
     <<input "день 1" $ответ3>>
<<else>>
     Ваш ответ: <<print $ответ3>>
<<endif>>

Т.е. в параграфе Start ничего не задаём, никаких set, там только ссылка на параграф День 1. А условия меняем в параграфе День 1 (условия — это if). Может вам будет удобней использовать вместо восклицательного знака в условии оператор not:
<<if !($ответ3)>> то же самое что и <<if not $ответ3>>

Неактивен

0    0    #249
11.07.2013 09:51

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

Re: Как сделать что-то или "я вот не понимаю"

Что же касается видеоуроков, то их делает Илья Богомолов, ссылки есть в соседней теме.

Также на сайте «Гиперкниги» есть специальный раздел помощи для авторов.

Неактивен

0    0    #250
11.07.2013 13:58

plusova
Участник
Зарегистрирован: 10.07.2013
Сообщений: 11

Re: Как сделать что-то или "я вот не понимаю"

Morych написал:

... Может вам будет удобней использовать вместо восклицательного знака в условии ....

Спасибо большое за помощь, компетентность и быстроту ответов!!

Неактивен

Powered by PunBB
© copyright 2001–2019 iFiction.Ru