Как сделать?
…
Darvin432,
я делаю так: храню весь выводимый текст в наборе переменных, а при выполнении каких либо действий полностью стираю и перерисовываю экран на основе этих переменных. Тут уже не имеет значения, gosub или goto. В твоём случае, если на экран выводятся всего две составляющие, таблицу можно хранить, допустим в переменной $table, а лог в переменной $log.
Друзья, добрый день. Снова вопрос.
$яблоки[0]=‘антоновка’
$яблоки[1]=‘белый налив’
$яблоки[2]=‘астраханское’
$яблоки[3]=‘ранетка’
$яблоки[4]=‘симиренко’
В нашем QSP есть 2-х, 3-х, и т.д. мерные массивы? Или их принято делать при помощи совмещения одномерных. Имею ввиду массивы у которых более одного индекса.
Wol4ik,
решается через текстовые индексы:
! яблоки в первом кармане
$яблоки['0,0']='антоновка'
$яблоки['0,1']='астраханское'
$яблоки['0,2']='симиренко'
! яблоки во втором кармане
$яблоки['1,0']='белый налив'
$яблоки['1,1']='ранетка'
$яблоки['1,2']='антоновка'
Подробнее смотри здесь http://wiki.qsp.su/howto:arrays и здесь https://qsp.org/forum/66-podrobnosti-ispolzovania-massivov-vse-voprosy-suda
Аааа, понял. Спасибо. А тогда еще вопрос…. Можно ли создать переменную (странную разновидность одномерного массива) у которой может быть одновременно несколько значений?
Например
а[1]=5,8,4,9
а[2]=6,2,3,4
И т.д.
Заранее спасибо за ответ.
П.С. это нужно для реализации собственного движка инвентаря, взамен штатного.
Wol4ik,
я бы просто вписал все значения в текстовую переменную
$a[1]='5,8,4,9'
Феноменально!!! Наличие символьных переменных дает возможность имитировать что нужно, при том, я так понял, каждое число в цепочке, тоже может быть переменной. Большое спасибо. Продолжу ваять)))
Привет еще раз, помогите пожалуйста.
Мне нужен отсчет часов и дней, при этом когда прошло 24 часа день начинается заново, персонаж оказывается в своей берлоге и так далее как день сурка, в любой локации где бы он не находился он должен попадать на стартовую локацию.
Как будут капать часы я понимаю, в действиях будут прописываться “часы +=1” и так далее допустим.
Так вот, как прописать возвращение к стартовой локации, если часы бьют 24?
Что мешает сделать переход на стартовую локацию по условию IF?
IF часы=25:
GOTO ‘стартовая_локация’
END
Или в конструкции всей игры есть подвох?
При том этот переход придется ставить сразу после каждого пополнения счетчика часов.
Разобрался, спасибо)
Начал изобретать велосипед, потом вспомнил что все намного проще..-_-
Т.е. в локацию “переход”?
Неет. Переход это просто мы так говорим в речи. GOTO это переход на локацию, название которой указывается в кавычках.
Есть такой вопрос:
Вот код
if money=0:
'<a href="exec: gt ''Локация'' ">Описание действия #1</a>'
END
if hour >= 18 and hour <= 19:
'<a href="exec: gt ''Локация2'' ">Описание действия #2</a>'
END
При выполнении первого условия будет отображаться первая ссылка, но при выполнении второго условия первая ссылка заменяется второй (первая перестает отображаться), хотя первая по идее тоже не противоречит второй (money=0 так и осталось).
Как сделать чтобы отображались - сначала одна ссылка, потом если выполняется второе условие не противоречащее первому - добавлялась вторая ссылка? Понятно я могу прописать несколько условий, но если у меня их будет десяток, да и еще и в разных комбинациях. С примером кода если можно пожалуйста, а то что-то я подзапутался. Заранее спасибо.
Deagle,
ты либо не тот код привёл, либо условия не соблюдаются, потому что при:
hour=18
if money=0:
'<a href="exec: gt ''Локация'' ">Описание действия #1</a>'
END
if hour >= 18 and hour <= 19:
'<a href="exec: gt ''Локация2'' ">Описание действия #2</a>'
END
обе ссылки выводятся на экран. Если hour=20, выводится только первая, если money не равно нулю а hour=19 - только вторая.
Есть такой вариант:
if money=0:
'<a href="exec: gt ''Локация'' ">Описание действия #1</a>'
if hour >= 18 and hour <= 19:
'<a href="exec: gt ''Локация2'' ">Описание действия #2</a>'
END
end
логика простая. Если money не равно 0 - ни одна ссылка не будет выводиться. Если money=0, но hour не 19 и не 18, будет выводиться только первая. Если же и money и hour соответствуют условиям, обе ссылки будут выводиться.
Все я понял свою ошибку, я упростил в примере код не придав значения у меня был вот такой ( я переделал дизайн quest navigator)
if money=0:
'<div id="action-block">'
'<a href="exec: gt ''Локация1'' ">Описание</a>'
'</div>'
END
if hour >= 18 and hour <= 19:
'<div id="action-block">'
'<a href="exec: gt ''Локация2'' ">Описание2</a>'
'</div>'
END
При таком варианте как раз и заменялся первый вариант вторым.
А правильно будет вот так:
'<div id="action-block">'
if money=0:
'<a href="exec: gt ''Локация1'' ">Описание</a>'
if hour >= 18 and hour <= 19:
'<a href="exec: gt ''Локация2'' ">Описание2</a>'
END
END
'</div>'