RU 📌 Pinned

Как сделать?

Dark[Ol(U23)leneri] #34 18.04.2010 22:57 6408 comments 2437363 views

Aleks Versus Moderator 14.04.2014 21:07 (11 years ago)

Антон:

Так если я локации коридора назову просто коридор

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

Антон:

Вооот . Как задать начальное значение и привязать к нему счетчик?

Nex объяснил тебе правильно. По-крайней мере, это наиболее простой способ. Начальное время задаётся в тех же самых минутах, просто в начале игры возвращаешь переменной, в которой будет храниться текущее время, значение, исходя из даты, которую надо выставить.

! 14 апреля 2014 года 8 часов 00 минут
! время = минуты + часы*60 + день_в_году*2440 + год*365*2440
время = 0 + 8*60 + 104*2440 + 2014*365*2440

При этом высчитать из переменной “время” текущий год, месяц, день, час и минуту - не составит труда.

Aleks Versus Moderator 14.04.2014 21:13 (11 years ago)

Антон:

Каким кодом мне показать программе что эту часть я хочу видеть в дополнительном поле а остальное в основном.

раздел справки “базовые операторы языка QSP”
или
http://wiki.qsp.su/help:stat и http://wiki.qsp.su/help:main

Aleks Versus,
про високосный год забыл.

Aleks Versus Moderator 15.04.2014 08:20 (11 years ago)

Nex,
не забыл. :=D Умолчал намеренно. Зачем лишние заморочки, когда для начала нужно разобраться, куда и что вписывать.

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

RomaDova,

! Не забываем экранировать (дублировать) апострофы.
'Вы видите перед собой ничем не примечательную <a href="EXEC:GOTO ''Камера пыток''">дверь</a>.'

На редьку высокосный :-) мне бы с этим разобраться…. вроде начинаю врубаться…
Но ответьте на вопрос почему используется 2440… в сутках вроде 1440 минут… или это не минуты в сутках а что другое?

На редьку высокосный :-)

Кстати, да. В текстовой игре такими деталями можно смело пренебречь.

почему используется 2440… в сутках вроде 1440 минут… или это не минуты в сутках а что другое?

Очевидно, Aleks Versus ошибся, потому что писал по памяти. Должно быть 1440.

Aleks Versus Moderator 15.04.2014 14:20 (11 years ago)

Да. Прошу прощения. Один раз опечатался, потом просто повторял число, не задумываясь. 1440 минут в сутках.

Кста: извольте вмешаться… По-моему всё это описано здесь.

Как сделать, чтобы при попадании на локацию, можно было вернуться в предыдущую локацию, которая может быть вообще неизвестно какой. Предположим есть локация х, y и m. Мы можем свободно перемещаться между локациями x и y и при определенных условиях можем попасть в локацию m из этих двух локаций. А оттуда нам надо вернуться назад, но вернуться именно в ту локацию, в которой мы были до этого, а это может быть как x так и y

RomaDova,

! В начале игры назначаем обработчик перехода на новую локацию.
$ONNEWLOC = 'ONNEWLOC'

! В локации "ONNEWLOC":
$prevLoc = $nextLoc
$nextLoc = $CURLOC

! В локации "m":
ACT 'Вернуться':
    GOTO $prevLoc
END

Со временем разобрался.
Теперь вопрос как делать недели и месяцы…
вроде бы как идея есть задать промежутки…. то есть день от 0 до 30 это январь, от 31 до 58 это февраль. .. ну и в таком духе…
только как это реализуется…. или есть способ проще (наверняка есть)?

Антон,
день недели, определяется остатком от деления количества дней на 7. Количество дней нужно отсчитывать от 1 января 0 года, но в твоём случае можно от любой удобной тебе даты.

По месяцам проще способа нет, только сложнее.

А как быть со 108 днем… ведь получается следующий формат:
Неделя = день / 7
В итоге 15 и это ни как не получается приравнять к дню недели так как значение не должно превышать 7. Или я чего то не того.

С месяцем тоже и проще и сложнее…
для начала пусть в месяце будет 30 дней (соответственно в году 360 дней для кругляка рассчетов)… тогда можно наверное использовать $ месяц [я], где я - это значение от 0 до 11,, а ниже дать расшифровку от января [0] до декабря [12].
С делителем как раз месяц определить проще:
месяц = день*12 / 360
Полученный результат как раз будет лежать в промежутке от 1 до 12 ( то есть от 0,?? до 11.??)… и там соответственно проще считать все
Другое дело мне пока не понятно как дату начинать с 1 при смене месяца.? Но это тоже потом разобраться можно (при однообразном значении количества дней в месяце, но не при реальной их (месяцев) продолжительности).

Log in or Register to post comments.