Forum.iFiction.Ru

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

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

Вы не зашли.

   #451
31.07.2014 17:42

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

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

Василий Новойдарский написал:

Почему то эта конструкция выдает мне белый экран...

И точно, там проблема в условиях.
Нужно писать либо <<if $event eq 1 and !$event1>> либо <<if ($event eq 1) and (not $event1)>>
Сейчас подправлю и текст примера.

Неактивен

   #452
02.08.2014 10:00

Aruny
Участник (+2)
Зарегистрирован: 30.07.2014
Сообщений: 18

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

А как сделать слияние строк в переменную?  Чтобы можно было выводить в ссылке типа [[согласиться на $money|agree1 ]] ? А то вариант [[согласиться на <<print $money>> |agree1 ]]  выводит вместо переходной ссылки только это: <>
А [[согласиться на $money |agree1 ]]  выводит "согласиться на asm_var0"


Ложная тревога.

Нашла big_smile 

перед выводом ссылки сделать
<<set $i = "согласиться на  " + $i >>
и в ссылке просто [[$i | agree1]]

Не привыкла складывать текст с числами big_smile

Отредактировано Aruny (02.08.2014 10:37)

Неактивен

   #453
02.08.2014 19:18

Aruny
Участник (+2)
Зарегистрирован: 30.07.2014
Сообщений: 18

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

А как сделать, чтобы нормально моноширинный был? А то {{{}}} не очень-то помогает, всё равно символы разной ширины получаются и из-за этого не могу выстроить лабиринт sad Немного, но сдвигаются ряды.

Или можно ли вывести символы из расширенной таблицы ASCII, там, где закрашенные прямоугольники?

И можно ли сделать, чтобы множественные пробелы не заменялись на один, а выводилось сколько их надо., или это ограничение HTML не обходится?

Неактивен

   #454
02.08.2014 20:23

Cheshire
Участник (+103, -11)
Зарегистрирован: 01.07.2009
Сообщений: 322

«Ловко орудуя топором, вы разрубили все ваши монеты пополам. Теперь у вас в два раза больше золота».
Морыч

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

Aruny написал:

И можно ли сделать, чтобы множественные пробелы не заменялись на один, а выводилось сколько их надо., или это ограничение HTML не обходится?

Можно использовать неразрывные пробелы, АХМА их не режет.

Отредактировано Cheshire (02.08.2014 20:25)

Неактивен

   #455
03.08.2014 13:31

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

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

Думаю, это не столько АСМ режет пробелы, сколько браузер убирает лишние по его мнению пробелы из текста.

Действительно, вместо пробелов в этом случае надо использовать &nbsp; а чтобы не набирать эту последовательность символов, можно выделить пробел(ы) в редакторе и нажать кнопку "Текст в символы HTML". Ну и любые символы Юникода, конечно, тоже можно использовать.

Неактивен

   #456
03.08.2014 16:09

Cheshire
Участник (+103, -11)
Зарегистрирован: 01.07.2009
Сообщений: 322

«Ловко орудуя топором, вы разрубили все ваши монеты пополам. Теперь у вас в два раза больше золота».
Морыч

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

Morych написал:

Думаю, это не столько АСМ режет пробелы, сколько браузер убирает лишние по его мнению пробелы из текста.

Верно, прошу прощения за дезинформацию.

Неактивен

   #457
04.08.2014 11:12

Aruny
Участник (+2)
Зарегистрирован: 30.07.2014
Сообщений: 18

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

Спасибо smile Но добавить символы типа этого ▒  (альт+177) почему-то не получилось big_smile и на  &nbsp; тоже что-то "компилятор" ругается big_smile

И моноширинный текст на самом деле не моноширинный.

Вышла из положения чисто по женски - подобрала символы, совпадающие по ширине. То есть в заглавной букве "Ш" умещается четыре точки подряд (....), а значок человечка - три символа: .о.   


Зато теперьу меня есть двумерный лабиринт big_smile

Неактивен

   #458
04.08.2014 11:52

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

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

Aruny написал:

Спасибо smile Но добавить символы типа этого ▒  (альт+177) почему-то не получилось big_smile и на  &nbsp; тоже что-то "компилятор" ругается big_smile

И моноширинный текст на самом деле не моноширинный.

Вышла из положения чисто по женски - подобрала символы, совпадающие по ширине. То есть в заглавной букве "Ш" умещается четыре точки подряд (....), а значок человечка - три символа: .о.   


Зато теперьу меня есть двумерный лабиринт big_smile

Поздравляю! Когда можно будет поиграть? smile

А вообще любопытно взглянуть на код, должно всё получаться и с символами, и с моноширинным шрифтом. Сейчас могу предположить, что внутри текста, помеченного как моноширинный, встречаются конструкции <<if>>...<<endif>> или <<loop>> - они сбивают форматирование.  Выход - сначала формировать цельные строки лабиринта, и только потом делать <<print $labirint>>.

Неактивен

   #459
04.08.2014 12:44

Aruny
Участник (+2)
Зарегистрирован: 30.07.2014
Сообщений: 18

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

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

Что поменьше, по своим рассказам, может и буду делать, но уже позже.

И да, там именно в выводе присутствуют макросы <if>

Код выкладываю не кодом из файла, а как в редакторе.
Предварительно устанавливаем переменные

Код:

задаем переменные

# список "открытых" мест на карте - куда можно пойти (маг, трущобы, ворота - открыты по умолчанию)
# [0] - начальная локация. 0 - не открыта.
#таверна[0] - известно ли о таверне (0 нет, 1 да)
<<set $таверна = [0, 0]>>
<<set $дом_константина = []>>
<<set $дом_константина[0] = 0>>
<<set $ночлежка = []>>
<<set $ночлежка[0] = 0>>
<<set $бордель = []>>
<<set $бордель[0] = 0>>
<<set $рынок = []>>
<<set $рынок[0] = 0>>
<<set $больница = []>>
<<set $больница[0] = 0>>

# для гуляния по городу
#[0] - персонаж, [1] - ворота, 2 - маг, 3 - Константин, 4 - рынок 5 -ночлежка 6 - бордель 7-таверна
<<set $координаты = [0, 59, 325, 111, 165, 294, 183, 288]>>
#ширина города
<<set $xmax=20>>

#сам город, задаём только карту. 0 - прохода нет, 'x' - проход есть
<<set $город=[0,0,0,0,0,'x',0,0,'x',0,0,0,'x',0,0,0,'x',0,0,0,0,0,0,0,0,'x',0,0,'x',0,0,0,'x',0,0,0,'x',0,0,0,0,0,0,0,0,'x',0,0,'x','x','x','x','x','x','x','x','x','x','x','x',0,0,0,0,0,'x',0,0,'x',0,0,'x',0,0,'x',0,0,'x',0,0,0,0,0,0,0,'x',0,0,'x',0,0,'x',0,0,'x','x','x','x','x','x','x','x','x','x','x','x','x','x','x','x','x','x','x','x','x','x','x',0,0,0,'x',0,0,0,0,'x',0,0,'x',0,0,'x',0,0,'x',0,'x','x','x',0,'x',0,0,0,0,'x',0,0,'x',0,0,'x',0,0,'x',0,'x',0,0,0,'x',0,0,0,0,'x','x','x','x','x','x','x','x','x','x','x','x','x','x','x','x','x','x','x','x','x','x','x','x',0,0,'x',0,0,'x',0,'x',0,'x',0,'x',0,0,0,0,'x','x','x','x',0,0,'x','x','x','x',0,'x','x','x',0,'x',0,0,0,0,'x','x','x','x',0,0,'x',0,0,0,0,'x',0,0,0,'x','x','x','x','x','x','x','x','x','x','x','x','x','x','x','x','x','x','x','x','x',0,'x',0,0,'x',0,0,'x',0,0,'x',0,0,0,'x',0,'x',0,0,'x',0,'x',0,0,'x',0,0,'x',0,0,'x',0,0,'x','x',0,'x',0,0,'x',0,'x',0,0,'x',0,0,'x',0,0,'x',0,0,'x',0,0,'x','x','x','x',0,'x','x','x','x','x','x','x','x','x','x','x','x','x',0,0,'x',0,0,'x',0,'x',0,0,'x',0,0,'x',0,0,'x',0,0,'x','x','x','x','x','x','x',0,'x',0,0,'x',0,0,'x',0,0,'x','x','x','x',0,0,'x','x','x','x',0,'x',0,0,'x',0,0,'x',0,0,'x',0,0,0,0,0,'x','x','x','x','x','x','x','x','x','x','x','x','x','x','x','x','x','x','x','x','x','x','x']>>

#задаём места в городе
<<set $город[59]=1>>
<<set $город[325]=2>>
<<set $город[111]=3>>
<<set $город[165]=4>>
<<set $город[294]=5>>
<<set $город[183]=6>>
<<set $город[288]=7>>

<<set $flag = false>>

<<set $откуда='ворота в город 1'>>

<<if $откуда=='ворота в город 1'>>
    <<set $координаты[0] = 59>>
<<elseif $откуда=='дом мага 1'>>
    <<set $координаты[0] = 325>>
<<elseif $откуда=='дом Константина 1'>>
    <<set $координаты[0] = 111>>
<<elseif $откуда=='рынок 1'>>
    <<set $координаты[0] = 165>>
<<elseif $откуда=='ночлежка 1'>>
    <<set $координаты[0] = 183>>
<<elseif $откуда=='бордель 1'>>
    <<set $координаты[0] = 288>>
<<endif>>

[[погулять по городу|гулять город 1]]

теперь сам параграф гуляния

Код:

<<set $flag=0>>
<<set $flag2=0>>
вы начали от <<print $откуда>>

<<nop>>
<<set $w="Ш">>
<<set $q="....">>
<<set $me=".ö.">>
­<<set $i=0>>
<<set $j=0>>
­
<<loop $город.length>>
    <<if $i==$координаты[0]>>
        <<print $me>>
        <<if $город[$i] > 0>>
            <<set $flag=1>>
            <<set $flag2=$город[$i]>>
        <<endif>>
    <<else>>
        <<if $город[$i] == 0 >> 
            <<print $w>>
        <<elseif $город[$i] == 'x'>>
            <<print $q>>
        <<else>>
            <<if $город[$i] == 1>>
                .<<print ($город[$i])>>.    
            <<endif>>
            <<if $город[$i] == 2>>
                .<<print ($город[$i])>>.    
            <<endif>>
            <<if $город[$i] == 3>> <<if $дом_Константина[0]>0 >>
                .<<print ($город[$i])>>.    
                <<else>><<print $q>><<endif>><<endif>>
            <<if $город[$i] == 4 >> <<if $рынок[0]>0 >>
                .<<print ($город[$i])>>.    
                <<else>><<print $q>><<endif>><<endif>>
            <<if $город[$i] == 5 >><<if $ночлежка[0]>0 >>
                .<<print ($город[$i])>>.    
                <<else>><<print $q>><<endif>><<endif>>
            <<if $город[$i] == 6 >><<if $бордель[0]>0 >>
                .<<print ($город[$i])>>.    
                <<else>><<print $q>><<endif>><<endif>>
            <<if $город[$i] == 7 >><<if $таверна[0]>0 >>
                .<<print ($город[$i])>>.    
                <<else>><<print $q>><<endif>><<endif>>
        <<endif>>
    <<endif>>
    <<set $i++>>
    <<set $j++>>
    <<if $j == $xmax>>
        <<set $j=0>><<br>>
    <<endif>>
<<endloop>>

<<if $город[$координаты[0]-1] != 0>>
    [[-влево|гулять город 1{$координаты[0] = $координаты[0]-1}{$flag=0}{$flag2=0}]]
    <<else>>
    влево
<<endif>> 
<<if $город[$координаты[0]+1] != 0>>
    [[-вправо|гулять город 1{$координаты[0] = $координаты[0]+1}{$flag=0}{$flag2=0}]]
    <<else>>
    вправо
<<endif>> 
<<if $город[$координаты[0]+$xmax] != 0>>
    [[-вниз|гулять город 1{$координаты[0] = $координаты[0]+$xmax}{$flag=0}{$flag2=0}]]
    <<else>>
    вниз
<<endif>> 
<<if $город[$координаты[0]-$xmax] != 0>>
    [[-вверх|гулять город 1{$координаты[0] = $координаты[0]-$xmax}{$flag=0}{$flag2=0}]]
    <<else>>
    вверх
<<endif>> 
<<br>>
#выводим "легенду"
1 - ворота в город, 2 - дом мага
    <<if $дом_Константина[0]>0 >>, 3 - дом Константина<<endif>>
    <<if $рынок[0]>0 >>, 4 - рынок<<endif>>
    <<if $ночлежка[0]>0 >>, 5 - ночлежка<<endif>>
    <<if $бордель[0]>0 >>, 6 - бордель<<endif>>
    <<if $таверна[0]>0 >>, 7 - таверна<<endif>>
<<endnop>>

<<if $flag == 1>>
    <<if     $flag2==1>>
        === вы вышли к воротам в город ===
#        [[перейти к воротам|ворота в город 1]]
    <<endif>>
    <<if     $flag2==2>>
        === вы вышли к дому мага ===
#        [[перейти к дому мага|дом мага 1]]
    <<endif>>
    <<if     $flag2==3>>
        === вы вышли к дому Константина ===
#        [[перейти к дому Константина|дом Константина 1]]
    <<endif>>
    <<if     $flag2==4>>
        === вы вышли к рынку ===
        <<set $рынок[0]=1>>
#        [[перейти к рынку|рынок 1]]
    <<endif>>
    <<if     $flag2==5>>
        === вы вышли к ночлежке ===
        <<set $ночлежка[0]=1>>
#        [[перейти к ночлежке|ночлежка 1]]
    <<endif>>
    <<if     $flag2==7>>
        === вы вышли к таверне ===
        <<set $таверна[0]=1>>
#        [[перейти к таверне|ночлежка 1]]
    <<endif>>
<<endif>>
[[-вернуться в начальную точку|$откуда]]

для удобства задания карты города сначала рисую типа такого и потом убрать комментарии, перевод строк и сменить 1 на 'x':

Код:

# матрица для рисования города
#0,0,0,0,0,1,0,0,1,0,0,0,1,0,0,0,1,0,0,0,
#0,0,0,0,0,1,0,0,1,0,0,0,1,0,0,0,1,0,0,0,
#0,0,0,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,
#0,0,0,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,
#0,0,0,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,
#1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,
#1,0,0,0,0,1,0,0,1,0,0,1,0,0,1,0,1,1,1,0,
#1,0,0,0,0,1,0,0,1,0,0,1,0,0,1,0,1,0,0,0,
#1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
#1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,1,0,1,0,
#1,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,1,1,1,0,
#1,0,0,0,0,1,1,1,1,0,0,1,0,0,0,0,1,0,0,0,
#1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
#1,0,1,0,0,1,0,0,1,0,0,1,0,0,0,1,0,1,0,0,
#1,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,0,1,0,0,
#1,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,
#1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,
#1,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,
#1,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,
#1,0,1,0,0,1,0,0,1,0,0,1,0,0,0,0,0,1,1,1,
#1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,

Неактивен

   #460
04.08.2014 13:23

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

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

Aruny написал:

И да, там именно в выводе присутствуют макросы <if>

Ну вот об этом я и говорил. Я чуть-чуть подправил:

Код:

<<set $flag=0>>
<<set $flag2=0>>
вы начали от <<print $откуда>>
<<nop>>
<<set $w="▒">>
<<set $q="&nbsp;">>
<<set $me="ö">>
­<<set $i=0>>
<<set $j=0>>
# строка для "сборки" карты
­<<set $screen = "">>
<<loop $город.length>>
    <<if $i==$координаты[0]>>
        <<set $screen = $screen + $me>>
        <<if $город[$i] > 0>>
            <<set $flag=1>>
            <<set $flag2=$город[$i]>>
        <<endif>>
    <<else>>
        <<if $город[$i] == 0 >> 
            <<set $screen = $screen + $w>>
        <<elseif $город[$i] == 'x'>>
            <<set $screen = $screen + $q>>
        <<else>>
            <<if $город[$i] == 1>>
                <<set $screen = $screen + $город[$i]>>    
            <<endif>>
            <<if $город[$i] == 2>>
                <<set $screen = $screen + $город[$i]>>    
            <<endif>>
            <<if $город[$i] == 3>> <<if $дом_Константина[0]>0 >>
                <<set $screen = $screen + $город[$i]>>    
                <<else>> <<set $screen = $screen + $q>> <<endif>> <<endif>>
            <<if $город[$i] == 4 >> <<if $рынок[0]>0 >>
                <<set $screen = $screen + $город[$i]>>    
                <<else>> <<set $screen = $screen + $q>> <<endif>> <<endif>> 
            <<if $город[$i] == 5 >> <<if $ночлежка[0]>0 >>
                <<set $screen = $screen + $город[$i]>>    
                <<else>> <<set $screen = $screen + $q>> <<endif>> <<endif>>
            <<if $город[$i] == 6 >><<if $бордель[0]>0 >>
                <<set $screen = $screen + $город[$i]>>    
                <<else>> <<set $screen = $screen + $q>> <<endif>> <<endif>>
            <<if $город[$i] == 7 >><<if $таверна[0]>0 >>
                <<set $screen = $screen + $город[$i]>>    
                <<else>> <<set $screen = $screen + $q>> <<endif>> <<endif>>
        <<endif>>
    <<endif>>
    <<set $i++>>
    <<set $j++>>
    <<if $j == $xmax>>
        <<set $j=0>>
    <<set $screen = $screen + "<br>">>
    <<endif>>
<<endloop>>
==={{{<<print $screen>>}}}===
<<if $город[$координаты[0]-1] != 0>>
    [[-влево|гулять город 1{$координаты[0] = $координаты[0]-1}{$flag=0}{$flag2=0}]]
    <<else>>
    влево
<<endif>> 
<<if $город[$координаты[0]+1] != 0>>
    [[-вправо|гулять город 1{$координаты[0] = $координаты[0]+1}{$flag=0}{$flag2=0}]]
    <<else>>
    вправо
<<endif>> 
<<if $город[$координаты[0]+$xmax] != 0>>
    [[-вниз|гулять город 1{$координаты[0] = $координаты[0]+$xmax}{$flag=0}{$flag2=0}]]
    <<else>>
    вниз
<<endif>> 
<<if $город[$координаты[0]-$xmax] != 0>>
    [[-вверх|гулять город 1{$координаты[0] = $координаты[0]-$xmax}{$flag=0}{$flag2=0}]]
    <<else>>
    вверх
<<endif>> 
<<br>>
#выводим "легенду"
1 - ворота в город, 2 - дом мага
    <<if $дом_Константина[0]>0 >>, 3 - дом Константина<<endif>>
    <<if $рынок[0]>0 >>, 4 - рынок<<endif>>
    <<if $ночлежка[0]>0 >>, 5 - ночлежка<<endif>>
    <<if $бордель[0]>0 >>, 6 - бордель<<endif>>
    <<if $таверна[0]>0 >>, 7 - таверна<<endif>>
<<endnop>>
<<if $flag == 1>>
    <<if     $flag2==1>>
        === вы вышли к воротам в город ===
#        [[перейти к воротам|ворота в город 1]]
    <<endif>>
    <<if     $flag2==2>>
        === вы вышли к дому мага ===
#        [[перейти к дому мага|дом мага 1]]
    <<endif>>
    <<if     $flag2==3>>
        === вы вышли к дому Константина ===
#        [[перейти к дому Константина|дом Константина 1]]
    <<endif>>
    <<if     $flag2==4>>
        === вы вышли к рынку ===
        <<set $рынок[0]=1>>
#        [[перейти к рынку|рынок 1]]
    <<endif>>
    <<if     $flag2==5>>
        === вы вышли к ночлежке ===
        <<set $ночлежка[0]=1>>
#        [[перейти к ночлежке|ночлежка 1]]
    <<endif>>
    <<if     $flag2==7>>
        === вы вышли к таверне ===
        <<set $таверна[0]=1>>
#        [[перейти к таверне|ночлежка 1]]
    <<endif>>
<<endif>>
[[-вернуться в начальную точку|$откуда]]

И вот, что у нас тогда получается (я подправил StoryStyle, чтобы убрать расстояние между строками):

 спойлер…

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

А так всё очень хорошо работает, почти полноценный рогалик smile

P.S. Рейтингом 18++ нас не испугаешь! Цензура цензурой, а в песочницу-то гарантированно пройдёт wink

Неактивен

   #461
04.08.2014 14:10

Aruny
Участник (+2)
Зарегистрирован: 30.07.2014
Сообщений: 18

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

Я её изначально не собиралась выводить, это для отладки работы алгоритма сделала. Хотела вслепую гонять персонажа, без карты.
Но с таким вариантом, как у вас получился, точно засяду за визуализацию. ;-)

Ну, раз не боитесь жёсткой порнографии, то как доделаю первую главу, выложу big_smile

Отредактировано Aruny (04.08.2014 14:11)

Неактивен

   #462
04.08.2014 14:29

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

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

Вслепую ходить по такому большому лабиринту никто не захочет, даже вам надоест smile А вот с визуализацией - это совсем другое дело. Можно ещё выводить текстом, что находится около гг на севере, на юге, западе и востоке. И ссылки навигации лучше сделать "крестиком", а не в одну строку.

Жёсткая порнография, написанная девочкой... так это ведь женский любовный роман smile

Неактивен

   #463
07.08.2014 17:04

Delakha
Участник
Зарегистрирован: 31.01.2014
Сообщений: 6

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

Можно ли поставить ударение в слове?

Неактивен

   #464
07.08.2014 18:16

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

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

Delakha написал:

Можно ли поставить ударение в слове?

Можно попробовать использовать все эти буковки из "Таблицы символов", всякие á, ó, é, ý. Или выделить курсивом или жирным шрифтом нужную букву.

Неактивен

   #465
08.08.2014 21:04

Василий Новойдарский
Участник
Зарегистрирован: 24.07.2014
Сообщений: 12

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

Доброго времени суток такой вопрос возник.
Хочу сделать дни недели с Понедельника по Воскресенье. Понимаю что нужно сделать цикл но не могу допереть до самой конструкции.

Неактивен

   #466
09.08.2014 02:18

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

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

Привет! Уточни, пожалуйста, задачу. Как должно выглядеть это в игре?

Неактивен

   #467
09.08.2014 11:50

Василий Новойдарский
Участник
Зарегистрирован: 24.07.2014
Сообщений: 12

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

Примерно я так себе это представляю

Код:

::Start
<<set $den = 1>>

Далее я сделал параграф Состояния куда вывожу информацию

Код:

''Время:'' <<if $time gte 5 and $time lte 11>>Утро<<elseif $time gte 12 and $time lte 17>>День
<<elseif $time gte 18 and $time lte 23>>Вечер<<elseif $time gte 24 and $time lte 4>>Ночь<<endif>> 
| ''День недели:'' <<if $den eq 1>>Понедельник<<elseif $den eq 2>>Вторник<<elseif $den eq 3>>Среда
<<elseif $den eq 4>>Четверг<<elseif $den eq 5>>Пятница<<elseif $den eq 6>>Суббота<<elseif $den eq 7>>Воскресенье<<endif>>

А вот где мне запускать обнуление я не представляю или нужно через if добавлять доп. параметр или делать цикл...

Отредактировано Василий Новойдарский (09.08.2014 11:51)

Неактивен

   #468
10.08.2014 18:40

ggeniy
Участник (+2)
Откуда: Киев
Зарегистрирован: 04.02.2014
Сообщений: 9
Вебсайт

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

Delakha написал:

Можно ли поставить ударение в слове?

Вставьте после ударной буквы

Код:

&#7 69;

БЕЗ ПРОБЕЛА.

Неактивен

   #469
11.08.2014 09:45

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

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

Василий Новойдарский написал:

Примерно я так себе это представляю

Код:

::Start
<<set $den = 1>>

Далее я сделал параграф Состояния куда вывожу информацию

Код:

''Время:'' <<if $time gte 5 and $time lte 11>>Утро<<elseif $time gte 12 and $time lte 17>>День
<<elseif $time gte 18 and $time lte 23>>Вечер<<elseif $time gte 24 and $time lte 4>>Ночь<<endif>> 
| ''День недели:'' <<if $den eq 1>>Понедельник<<elseif $den eq 2>>Вторник<<elseif $den eq 3>>Среда
<<elseif $den eq 4>>Четверг<<elseif $den eq 5>>Пятница<<elseif $den eq 6>>Суббота<<elseif $den eq 7>>Воскресенье<<endif>>

А вот где мне запускать обнуление я не представляю или нужно через if добавлять доп. параметр или делать цикл...

А параграф "ПрошлоВермя" есть? Я приводил его код, когда мы обсуждали игровое время. Можно его подправить так:

:: ПрошлоВремя
<<set $time = $time + $timeAdd>>
<<set $timeAdd = 0>>
<<if $time gt 23>>
     <<set $time = $time - 24>>
     <<set $day = $day + 1>>
     <<set $den = $den + 1>>
     <<if $den gt 7>>
          <<set $den = 1>>
     <<endif>>

<<endif>>

А в параграфе "Start" можно сделать:

<<random $den = 6>>
<<set $den = $den + 1>>

Неактивен

   #470
11.08.2014 22:05

Василий Новойдарский
Участник
Зарегистрирован: 24.07.2014
Сообщений: 12

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

Ага спасибо что то такое я и сделал толкьо более костляво

Неактивен

   #471
26.08.2014 07:49

Aruny
Участник (+2)
Зарегистрирован: 30.07.2014
Сообщений: 18

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

А есть какой-нибудь простой, "встроенный", способ проверить число на чётность?
Или конструкция вида
<< if Math.round($Х/2) <= $Х/2 >> чётное! <<else>>нечетное<<endif>>
и так нормальная?


И можно ли передавать параметры в <<display 'параграф'>>, или только сетами перед выводом?

Неактивен

   #472
26.08.2014 08:00

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

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

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

Aruny написал:

А есть какой-нибудь простой, "встроенный", способ проверить число на чётность?
Или конструкция вида
<< if Math.round($Х/2) <= $Х/2 >> чётное! <<else>>нечетное<<endif>>
и так нормальная?


И можно ли передавать параметры в <<display 'параграф'>>, или только сетами перед выводом?

Думаю, лучше использовать

Код:

<<if $X%2==0>> чётное! <<else>> нечётное <<endif>>

Параметры в <<display 'параграф'>> можно передовать только предварительной установкой обычных переменных.

Неактивен

   #473
28.08.2014 03:38

Василий Новойдарский
Участник
Зарегистрирован: 24.07.2014
Сообщений: 12

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

Доброго времени суток. Я немного переделал концепцию усталости (теперь это просто очки действий) и соответственно возникли следующие вопросы:

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

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

Отредактировано Василий Новойдарский (28.08.2014 04:10)

Неактивен

   #474
28.08.2014 09:52

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

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

Василий Новойдарский написал:

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

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

Допустим, мы определили, что для выполнения действия требуется определенное число очков действий, и пусть это значение у нас записано в переменной $apCost, а в переменной $ap - доступные очки действий гг, тогда:

<<set $text = "Нарубить дров (" + $apCost + ")">>
<<if $apCost lte $ap>>
     [[$text|НарубитьДров]]
<<else>>
     <<print $text>>
<<endif>>

Василий Новойдарский написал:

И еще один как ограничить очки так что бы они не уходили в минус а останавливались на 0.

Можно использовать при каждом уменьшении переменной if или Math.max:

<<set $ap = Math.max(0, $ap)>>

или

<<if $ap lt 0>>
     <<set $ap = 0>>
<<endif>>

Неактивен

   #475
08.09.2014 09:16

Aruny
Участник (+2)
Зарегистрирован: 30.07.2014
Сообщений: 18

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

А можно ли сделать передачу адреса изображения через переменную?

Пока вижу только прямое указание адреса вида [[File: 01-02.jpg]]

А мне бы хотелось сделать вида [[File: $картинка]], где $картинка = '01' + '-' + '02' + '.jpg'

Неактивен

Powered by PunBB
© copyright 2001–2018 iFiction.Ru