Forum.iFiction.Ru

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

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

Вы не зашли.

0    0    #176
08.04.2013 13:52

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

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

Anderman написал:

Пожалуйста, помогите, очень нужно реализовать в программе "группу +ссылок".
===
Объясняю, что это такое:
Идет диалог персонажей, внизу три ссылки (три варианта ответов). Все три "+вые", то есть при нажатии на них результат появится на той же странице. А теперь вопрос - как же сделать так, чтобы при нажатии на одну из этих ссылок, все разом становились недоступными? Это необходимо, чтобы игрок не подглядел, что будет, если бы он выбрал другой вариант.
===
Иными словами, я хочу объединить "+ ссылку" и "невозвратную ссылку", только в совокупности с другими ссылками на этой странице.
Я знаю, что проще делать обычные невозвратные ссылки, но уж очень нужно остаться на той же странице.
Это нужно также для того, чтобы игрок не просто видел результат а виде:
1) что было
2) что он выбрал
3) результат
И все на одной страничке. Удобно.

Пока деактивировать +ссылки без нажатия невозможно. Могу предложить следующее. Создать объект $ответ = false. В параграфах, на которые ссылаются +ссылки написать:
<<if !$ответ>>
Текст параграфа
<<set $ответ = true>>
<<endif>>
Т.е. все ссылки можно будет нажать, но текст покажет только один раз.

Неактивен

0    0    #177
08.04.2013 14:09

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

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

Другой вариант. Вместо +ссылок использовать обычные ссылки на этот же параграф, с параметром:

Параграф
Написано, что было
<<if $ответ eq "Вариант 1">>
Выбран 1 вариант
Результат 1
<<elseif $ответ eq "Вариант 2">>
Выбран 2 вариант
Результат 2
<<elseif $ответ eq "Вариант 3">>
Выбран 3 вариант
Результат 3
<<else>>
[[Вариант 1|Параграф {$ответ = "Вариант 1"}]]
[[Вариант 2|Параграф {$ответ = "Вариант 2"}]]
[[Вариант 3|Параграф {$ответ = "Вариант 3"}]]
<<endif>>

Неактивен

0    0    #178
08.04.2013 16:42

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

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

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

Anderman написал:

Пожалуйста, помогите, очень нужно реализовать в программе "группу +ссылок".
===
Объясняю, что это такое:
Идет диалог персонажей, внизу три ссылки (три варианта ответов). Все три "+вые", то есть при нажатии на них результат появится на той же странице. А теперь вопрос - как же сделать так, чтобы при нажатии на одну из этих ссылок, все разом становились недоступными? Это необходимо, чтобы игрок не подглядел, что будет, если бы он выбрал другой вариант.
===
Иными словами, я хочу объединить "+ ссылку" и "невозвратную ссылку", только в совокупности с другими ссылками на этой странице.
Я знаю, что проще делать обычные невозвратные ссылки, но уж очень нужно остаться на той же странице.
Это нужно также для того, чтобы игрок не просто видел результат а виде:
1) что было
2) что он выбрал
3) результат
И все на одной страничке. Удобно.

http://hyperbook.ru/blog.php?id=13636642398167 - вот тут есть хорошая подсказка по теме

А если конкретнее:
:: камень
Перед тобой три наперстка.
<<if !($условие)>>[[Взять левый|камень {$условие=1} {$left=1}]]<<else>>Взять левый<<endif>>
<<if !($условие)>>[[Взять средний|камень {$условие=1} {$center=1}]]<<else>>Взять средний<<endif>>
<<if !($условие)>>[[Взять правый|камень {$условие=1} {$right=1}]]<<else>>Взять правый<<endif>>
<<if $left>>Под левым наперстком пусто<<endif>>
<<if $center>>Под средним наперстком пусто<<endif>>
<<if $right>>Под правым наперстком пусто<<endif>>

Поправил код по подсказке Morych'a

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

Неактивен

0    0    #179
22.04.2013 15:09

Oldrik
Участник
Зарегистрирован: 12.11.2012
Сообщений: 35

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

Как увеличить или уменьшить элемент списка? Не присвоить новое значение, а просто изменить.

Неактивен

0    0    #180
22.04.2013 15:13

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

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

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

Например, так:

Код:

<<set $список[2] = $список[2] + 1>>

Неактивен

0    0    #181
22.04.2013 15:15

Oldrik
Участник
Зарегистрирован: 12.11.2012
Сообщений: 35

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

Спасибо. Может стоит добавить в "Руководство пользователя"?

Отредактировано Oldrik (22.04.2013 15:21)

Неактивен

0    0    #182
22.04.2013 15:20

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

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

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

Да, добавлю.

Неактивен

0    0    #183
22.04.2013 15:22

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

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

Oldrik написал:

Как увеличить или уменьшить элемент списка? Не присвоить новое значение, а просто изменить.

По-моему, изменяя значение элемента списка, ты и присваиваешь ему новое значение. Вот в примере выше мы присваиваем новое значение, которое больше текущего значения на 1.

Неактивен

0    0    #184
22.04.2013 15:41

Oldrik
Участник
Зарегистрирован: 12.11.2012
Сообщений: 35

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

Morych написал:

Oldrik написал:

Как увеличить или уменьшить элемент списка? Не присвоить новое значение, а просто изменить.

По-моему, изменяя значение элемента списка, ты и присваиваешь ему новое значение. Вот в примере выше мы присваиваем новое значение, которое больше текущего значения на 1.

Просто был нужен пример кода.

Неактивен

0    0    #185
01.05.2013 10:47

sosiskin
Участник (+8, -9)
Зарегистрирован: 02.02.2012
Сообщений: 144

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

Вопрос по javascript.
Нашёл очень интересные глитч-скрипты, создающие эффект сбоя монитора или графики (глитч). Вот страничка разработки, примеры можно посмотреть здесь.

Можно ли встраивать такой скрипт в АХМА? (особенно интересует Glitch Transition, вызывающий эффект лишь на какое-то время).
И можно ли присвоить ему, скажем, макрос?

Отредактировано sosiskin (01.05.2013 10:49)

Неактивен

0    0    #186
01.05.2013 11:32

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

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

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

Есть идея встроить различные фильтры для обработки изображений.

Неактивен

0    0    #187
01.05.2013 14:30

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

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

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

sosiskin написал:

Вопрос по javascript.
Нашёл очень интересные глитч-скрипты, создающие эффект сбоя монитора или графики (глитч). Вот страничка разработки, примеры можно посмотреть здесь.

Можно ли встраивать такой скрипт в АХМА? (особенно интересует Glitch Transition, вызывающий эффект лишь на какое-то время).
И можно ли присвоить ему, скажем, макрос?

1. С одной стороны, встраивание произвольных скриптов в ASM - любопытно... Расширяет возможности. Но потенциально - уже вероятны некоторые риски, например переходы на произвольные страницы, встраивание рекламы и так далее. Впрочем я не очень компетентен в таких вопросах.
2. А зачем глитч-эффекты в текстовом квесте? Почему нельзя сделать пару картинок и подменять их по условию?.

Неактивен

0    0    #188
01.05.2013 15:42

sosiskin
Участник (+8, -9)
Зарегистрирован: 02.02.2012
Сообщений: 144

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

Korwin написал:

2. А зачем глитч-эффекты в текстовом квесте? Почему нельзя сделать пару картинок и подменять их по условию?.

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

Отредактировано sosiskin (01.05.2013 23:15)

Неактивен

0    0    #189
07.05.2013 15:37

sosiskin
Участник (+8, -9)
Зарегистрирован: 02.02.2012
Сообщений: 144

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

Народ, подсобите с организацией кода, пожалуйста.
Есть такая задача, похожая на АХМА игру Asteroids, но с урезанной математикой, попроще: нужно чтоб в табличном окошке с заданной скоростью падали слова из списка (по принципу звёзд в игре Asteroids, но быстрее).

Направьте мысль в нужную сторону, плиз! Очень буду благодарен. Код "астероидов" меня сбивает с толку, гуманитарий, чо. ))

Неактивен

0    0    #190
07.05.2013 15:51

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

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

sosiskin написал:

Народ, подсобите с организацией кода, пожалуйста.
Есть такая задача, похожая на АХМА игру Asteroids, но с урезанной математикой, попроще: нужно чтоб в табличном окошке с заданной скоростью падали слова из списка (по принципу звёзд в игре Asteroids, но быстрее).

Направьте мысль в нужную сторону, плиз! Очень буду благодарен. Код "астероидов" меня сбивает с толку, гуманитарий, чо. ))

Насколько я помню, минимальный интервал таймера - 1 секунда. Чтобы слова падали быстрее, можно изменять их позицию не на одну строку, а на две, например.
Слова из списка должны падать по одному?

Неактивен

0    0    #191
07.05.2013 16:25

sosiskin
Участник (+8, -9)
Зарегистрирован: 02.02.2012
Сообщений: 144

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

Morych написал:

Слова из списка должны падать по одному?

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

Я взял Астероиды, повставлял вместо символов точек и звёздочек слова. Но хочется чтобы код линий (строк) был одним, а подставлять просто из массива переменные по очереди, в каждой линии.
Как такое лучше сделать?

Отредактировано sosiskin (07.05.2013 17:02)

Неактивен

0    0    #192
07.05.2013 17:01

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

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

Хм, попробую что-нибудь придумать smile
А пока может это натолкнёт на верный путь:

Код:

:: StoryTitle
Падающие слова

:: Start
<<set $lstWords = ("Эти слова будут падать, пока не закончатся...").split(" ")>>
<<set $i = 0>>
<<set $y = 0>>
<<set $ymax = 4>>
[[Пуск!|Пуск]]

:: Пуск
<<repeat "Словопад" 1>>
<<display "Словопад">>

:: Словопад
<<clrscr>>
===''Словопад''===
<<set $j = $i + 1>><<set $p = $lstWords.length - $i - 1>><<loop $p>><<print $lstWords[$j]>> <<set $j++>><<endloop>><<br>><<loop $y>><<br>><<endloop>><<if $i lt $lstWords.length>><<print $lstWords[$i]>><<endif>><<set $p = $ymax - $y>><<loop $p>><<br>><<endloop>><<set $j = 0>><<loop $i>><<print $lstWords[$j]>> <<set $j++>><<endloop>>
<<set $y++>>
<<if $y eq $ymax>>
    <<set $i++>>
    <<set $y = 0>>
    <<if $i eq $lstWords.length + 1>>
        <<stop "Словопад">>
        ===''Конец''===
    <<elseif $i eq $lstWords.length>>
        <<set $y = $ymax - 1>>
    <<endif>>
<<endif>>

Отредактировано Morych (07.05.2013 17:10)

Неактивен

0    0    #193
07.05.2013 17:05

sosiskin
Участник (+8, -9)
Зарегистрирован: 02.02.2012
Сообщений: 144

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

Кстати, именно для этой разработки я спрашивал про визуальные эффекты на javascript, потому как если на такой "падающий текст" натравить глитч-скрипт, получится очень интересное окошко, цветной спрайт из обычного текста.

Неактивен

0    0    #194
07.05.2013 18:33

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

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

sosiskin написал:

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

Вот:

Код:

:: StoryTitle
Падающие слова

:: Start
[[Скринсейвер|Пуск2]]

:: Пуск2
<<set $lstWords = ["AXMA Story Maker", "DoubleDragon", "Morych", "sosiskin", "Суперскринсейвер"]>>
<<set $lstLines = []>>
<<set $newWord = "">>
<<loop 10>>
    <<set $lstLines.push(" ")>>
<<endloop>>
<<repeat "Словопад2" 1>>
<<display "Словопад2">>

:: Словопад2
<<set $r = Math.round(Math.random() * ($lstWords.length - 1))>>
<<set $x = Math.round(Math.random() * (40 - $lstWords[$r].length))>>
<<set $k = "">>
<<loop $x>><<set $k = $k + "&nbsp;">><<endloop>>
<<if Math.round(Math.random())>>
    <<set $lstLines.unshift($k + $lstWords[$r])>>
<<else>>
    <<set $lstLines.unshift($lstWords[$r] + $k)>>
<<endif>>
<<set $k = $lstLines.pop()>>
<<clrscr>>
----
<<set $i = 0>>
<<loop $lstLines.length>>==={{{<<print $lstLines[$i] + "<br>">>}}}===<<set $i++>><<endloop>>
----
[[Добавить слов|Добавить {$newWord = ""}]]

:: Добавить
<<if not $newWord.length>>
    <<stop "Словопад2">>
    Новое слово:
    <<input "Добавить" $newWord>>
<<else>>
    <<set $lstWords.push($newWord)>>
    <<repeat "Словопад2" 1>>
    <<display "Словопад2">>
<<endif>>

Текстовый скринсейвер (можно динамически добавлять слова).

Неактивен

0    0    #195
07.05.2013 19:04

sosiskin
Участник (+8, -9)
Зарегистрирован: 02.02.2012
Сообщений: 144

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

Morych написал:

А пока может это натолкнёт на верный путь:

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

В общем, я пока кое-как запилил на основе кода Астероидов, вставив туда списки.

Отредактировано sosiskin (07.05.2013 19:39)

Неактивен

0    0    #196
07.05.2013 20:31

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

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

sosiskin написал:

Morych написал:

А пока может это натолкнёт на верный путь:

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

В общем, я пока кое-как запилил на основе кода Астероидов, вставив туда списки.

А как же моё предыдущее сообщение #194? Там через списки, изначально не видно ничего, не по порядку и на разном отступе.

Неактивен

0    0    #197
07.05.2013 21:57

sosiskin
Участник (+8, -9)
Зарегистрирован: 02.02.2012
Сообщений: 144

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

Morych написал:

А как же моё предыдущее сообщение #194?

А, сорри, я страницу не рефрешил. Да, спасибо, из всех этих кусочков кода я слепил то, что надо!

Неактивен

0    0    #198
07.05.2013 22:26

sosiskin
Участник (+8, -9)
Зарегистрирован: 02.02.2012
Сообщений: 144

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

Прошу прощения, таки ругается при запуске кода в сообщении #194.
Вот.
http://i48.fastpic.ru/big/2013/0507/cb/3661d3104018ca152a60b91e22f44acb.jpeg

Неактивен

0    0    #199
08.05.2013 07:31

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

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

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

Я проверил - всё работает. Для этого примера нужна последняя версия - 1.9.9.

Неактивен

0    0    #200
08.05.2013 10:14

sosiskin
Участник (+8, -9)
Зарегистрирован: 02.02.2012
Сообщений: 144

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

Большущее спасибо!
Кстати, за этой придумкой вспомнил про Asciimator.

Отредактировано sosiskin (08.05.2013 10:25)

Неактивен

Powered by PunBB
© copyright 2001–2024 iFiction.Ru