Ух, спасибо!
Самое последнее: в начале, когда я брал за основу код Астероидов, словопад получился плотнее, т.к. там запускалось не по одному слову в строке, а по несколько.
:: StoryTitle
словопад 1
:: StoryAuthor
Sosiskin
:: StoryMenu
:: Start
<<style 'sepia'>>
===[[Запустить словопад|Начать]]===
***
:: Начать
<<display 'миелопан'>>
:: что-то
Ты стоишь прямо у закрытой двери. На двери горит слово ''"калбер-"'' Небольшая панель с подсвеченными кнопками предлагает ввести ответное слово.
<<input 'Проверка пароля 1' $пароль>>
(Чтобы слушать подсказки в информационном эфире, вы можете [[включить ''миелофон''|миелофон]].)
:: Пространство
<<clrscr>>
<<set $расстояние = 1>>
<<if $расстояние lte 0>>
<<stop 'Пространство'>>
----
<<else>>
<<set $код_последний = $код8>>
<<display 'Новая линия'>>
<<set $линия8 = $линия7>>
<<set $код8 = $код7>>
<<set $линия7 = $линия6>>
<<set $код7 = $код6>>
<<set $линия6 = $линия5>>
<<set $код6 = $код5>>
<<set $линия5 = $линия4>>
<<set $код5 = $код4>>
<<set $линия4 = $линия3>>
<<set $код4 = $код3>>
<<set $линия3 = $линия2>>
<<set $код3 = $код2>>
<<set $линия2 = $линия1>>
<<set $код2 = $код1>>
<<set $линия1 = $линия>>
<<set $код1 = $код>>
<<display 'Вывод'>>
# переводим положение в двоичный код
<<if $положение eq 1>>
<<set $положение_код = '10000000'>>
<<elseif $положение eq 2>>
<<set $положение_код = '01000000'>>
<<elseif $положение eq 3>>
<<set $положение_код = '00100000'>>
<<elseif $положение eq 4>>
<<set $положение_код = '00010000'>>
<<elseif $положение eq 5>>
<<set $положение_код = '00001000'>>
<<elseif $положение eq 6>>
<<set $положение_код = '00000100'>>
<<elseif $положение eq 7>>
<<set $положение_код = '00000010'>>
<<elseif $положение eq 8>>
<<set $положение_код = '00000001'>>
<<endif>>
<<endif>>
:: Новая линия
<<set $линия = ''>>
<<set $код = ''>>
<<random $объект = 8>>
<<if $объект eq 0>>
<<set $линия = $линия + $словосписок [1]>>
<<set $код = $код + '1'>>
<<else>>
<<set $линия = $линия + ' '>>
<<set $код = $код + '0'>>
<<endif>>
<<random $объект = 8>>
<<if $объект eq 0>>
<<set $линия = $линия + $словосписок [2]>>
<<set $код = $код + '1'>>
<<else>>
<<set $линия = $линия + ' '>>
<<set $код = $код + '0'>>
<<endif>>
<<random $объект = 8>>
<<if $объект eq 0>>
<<set $линия = $линия + $словосписок [3]>>
<<set $код = $код + '1'>>
<<else>>
<<set $линия = $линия + ' '>>
<<set $код = $код + '0'>>
<<endif>>
<<random $объект = 8>>
<<if $объект eq 0>>
<<set $линия = $линия + $словосписок [4]>>
<<set $код = $код + '1'>>
<<else>>
<<set $линия = $линия + ' '>>
<<set $код = $код + '0'>>
<<endif>>
<<random $объект = 8>>
<<if $объект eq 0>>
<<set $линия = $линия + $словосписок [5]>>
<<set $код = $код + '1'>>
<<else>>
<<set $линия = $линия + ' '>>
<<set $код = $код + '0'>>
<<endif>>
<<random $объект = 8>>
<<if $объект eq 0>>
<<set $линия = $линия + $словосписок [6]>>
<<set $код = $код + '1'>>
<<else>>
<<set $линия = $линия + ' '>>
<<set $код = $код + '0'>>
<<endif>>
<<random $объект = 8>>
<<if $объект eq 0>>
<<set $линия = $линия + $словосписок [7]>>
<<set $код = $код + '1'>>
<<else>>
<<set $линия = $линия + ' '>>
<<set $код = $код + '0'>>
<<endif>>
<<random $объект = 8>>
<<if $объект eq 0>>
<<set $линия = $линия + '*'>>
<<set $код = $код + '1'>>
<<else>>
<<set $линия = $линия + ' '>>
<<set $код = $код + '0'>>
<<endif>>
# обрамление слева
<<display 'Прочие объекты'>>
<<set $н4 = $н1>><<set $н5 = $н2>><<set $н6 = $н3>>
<<display 'Прочие объекты'>>
<<set $линия = '==={{{' + $н4+$н5+$н6 + $линия + $н1+$н2+$н3 + '}}}==='>>
:: Прочие объекты
# использовать $н1, $н2, $н3
<<random $объект = 9>>
<<if $объект eq 0>>
<<set $н1 = '•'>>
<<elseif $объект eq 1>>
<<set $н1 = '.'>>
<<else>>
<<set $н1 = ' '>>
<<endif>>
<<random $объект = 9>>
<<if $объект eq 0>>
<<set $н2 = '•'>>
<<elseif $объект eq 1>>
<<set $н2 = '.'>>
<<else>>
<<set $н2 = ' '>>
<<endif>>
<<random $объект = 9>>
<<if $объект eq 0>>
<<set $н3 = '•'>>
<<elseif $объект eq 1>>
<<set $н3 = '.'>>
<<else>>
<<set $н3 = ' '>>
<<endif>>
:: Влево
<<if $положение>1>>
<<set $положение = $положение-1>>
<<endif>>
:: Вправо
<<if $положение<8>>
<<set $положение = $положение+1>>
<<endif>>
:: Вывод
# положения звездолёта
<<set $линия_звездолёта = ' '>>
<<if $положение eq 1>>
<<set $линия_звездолёта = '▲ '>>
<<elseif $положение eq 2>>
<<set $линия_звездолёта = ' ▲ '>>
<<elseif $положение eq 3>>
<<set $линия_звездолёта = ' ▲ '>>
<<elseif $положение eq 4>>
<<set $линия_звездолёта = ' ▲ '>>
<<elseif $положение eq 5>>
<<set $линия_звездолёта = ' ▲ '>>
<<elseif $положение eq 6>>
<<set $линия_звездолёта = ' ▲ '>>
<<elseif $положение eq 7>>
<<set $линия_звездолёта = ' ▲ '>>
<<elseif $положение eq 8>>
<<set $линия_звездолёта = ' ▲'>>
<<endif>>
# вывод пространства
#<<print $линия1>><<print $линия2>><<print $линия3>><<print $линия4>><<print $линия5>><<print $линия6>><<print $линия7>><<print $линия8>>==={{{<<print $линия_звездолёта>>}}}===
# вывод пространства
@@@<<print $линия1>><<print $линия2>><<print $линия3>><<print $линия4>><<print $линия5>><<print $линия6>><<print $линия7>><<print $линия8>>@@@
# вывод кнопок
# вывод расстояния
:: StorySubtitle
:: Проверка пароля 1
<<if $пароль == $словосписок [4]>>
Правильно! <<print $пароль>>! Вы угадали. Дверь открывается.
<<else>>
Что? Это не правильный пароль. Попробуйте ещё раз.
<<input 'неправильно раз' $пароль>>
<<endif>>
:: неправильно раз
Очевидно, вы не знаете пароля. Вводить слова наугад может занять много времени. Попробуйте [[воспользоваться ''миелофоном''|миелофон]].
:: миелофон
<<display 'миелопан'>>
<<display 'ground'>>
:: ground
Ты стоишь у закрытой двери. На двери горит слово ''"калбер-"'' Небольшая панель с подсвеченными кнопками предлагает ввести ответное слово.
<<input 'Проверка пароля 1' $пароль>>
:: миелопан
<<set $словосписок = ["sosiskin","{{{Morych}}}", "//ifiction//","''weird''","axma","story","словопад","мнемо",".", "•",".","•"]>>
#<<set $расстояние = 6000>>
#<<set $энергия = 3>>
# подготовка пространства
<<set $линия = '==={{{ }}}==='>>
<<set $линия1 = $линия>>
<<set $линия2 = $линия>>
<<set $линия3 = $линия>>
<<set $линия4 = $линия>>
<<set $линия5 = $линия>>
<<set $линия6 = $линия>>
<<set $линия7 = $линия>>
<<set $линия8 = $линия>>
# подготовка двоичных кодов линий
<<set $код = '00000000'>>
<<set $код1 = $код>>
<<set $код2 = $код>>
<<set $код3 = $код>>
<<set $код4 = $код>>
<<set $код5 = $код>>
<<set $код6 = $код>>
<<set $код7 = $код>>
<<set $код8 = $код>>
# начальная позиция звездолёта
<<set $положение = 5>>
<<set $положение_код = '00001000'>>
# запускаем движение
<<display 'Пространство'>>
<<repeat 'Пространство' 1>>Можно ли добиться такого с новым кодом?
Неактивен
В какой-то игре я наблюдал, как прозвучал одиночный звук, и тут же прекратился, не стал играть в цикле (параграф не менялся при этом). Как такого можно добиться? С помощью $$time задавать <<noaudio>> в какой-то момент, или ещё как?
Неактивен
Morych написал:
доделываю демку
Morych, я тоже приобщился бы, т.к. тоже встраиваю боёвку, и очень полезно посмотреть конкретный пример программирования
Неактивен
Подскажите, пожалуйста, как сделать следующее:
Есть Параграф1, в котором сначала пару секунд должен выводиться прогресс бар в виде добавляющихся точек (......), после чего выводится Параграф2.
Заранее премного благодарю!
Неактивен
Ergistal, огромное спасибо! Особенно за подробное разъяснение.
А задержка может быть меньше секунды? Скажем, полсекунды?
Уже прочитал в руководстве. Нельзя.
Отредактировано sosiskin (20.08.2013 00:49)
Неактивен
Вопрос: можно ли в профессиональной версии АХМА пользоваться скриптами jQuery для оформления абзацев?
Вот такими, например.
Неактивен