Как сделать?
…
dmvikar,
нет, что-то не то. Заливка как раз и хороша тем, что обходит точки по кругу.
восток-юг-запад-север
потом берётся восточная точка — обходятся точки вокруг неё. южная — вокруг неё. Какая разница, по сути, в каком порядке? Ты не перебираешь сначала все северные, потом все восточные, потом все южные. Ты идёшь по одной по кругу. И как раз лесенка и должна получиться.
YouTube: YM6Swr6kcBw

Aleks Versus:
потом берётся восточная точка — обходятся точки вокруг неё.
Вот в этом вся и суть. От того, как ты обойдешь эту точку зависит как построится твой путь. Если начнешь обходить с севера/юга, то все стрелки будут вверх/вниз, если начнешь с запада/востока, то влево/вправо, а лесенка не получится. Смена направления произойдет только после столкновения с препятствием.
Потому, чтоб появились лесенки, необходимо менять порядок обхода. Представь шахматную доску. Так вот, все черные клетки обходятся по (x+1, y), (x, y-1), (x-1, y), (x, y+1), а белые (x, y+1), (x-1, y), (x, y-1), (x+1, y). В этом случае должна появится лесенка. У меня пока не было времени проверить, но, скорее всего, так оно и есть. Как проверю, сообщу.
Кстати, получается на qsp можно писать пошаговую тактику или стратегию, да даже пошаговую веселую ферму!
dmvikar,
ааа. Вон в чём дело. Извини, я так далеко ещё не вдавался. Думал, если обход делается по кругу, то направление стрелки указывается к точке, вокруг которой делается обход, и в моём воображении получалась лесенка. :=D
Все проверил - работает как надо!
Приветствую, интересует такой вопрос, хочу сделать таблицу в окне описания, но столкнулся с рядом трудностей. Я в html не силен, знаю только примитивную базу, а перебор разных генераторов результата не дал.
1. Как именно задать фиксированный размер строк, чтобы не было изменения масштаба при сужении окна?
2. Как правильно вывести таблицу в окно дополнительного описания? Прописал “pl”, таблица перенеслась, но под ней появилось огромное пустое пространство, как его избежать?
Пришел вот к такому коду таблицы, как его поправить в соответствии с вопросами, озвученными выше?
Spoiler
pl'<table border=1>
<thead>
<tr>
<th>Персонаж</th>
<th>Локация</th>
</tr>
</thead>
<tbody>
<tr>
<td><center>имя1</center></td><td><center><<$tracker1>></center></td></tr>
<tr>
<td><center>имя2</center></td><td><center><<$tracker2></center></td></tr>
<tr>
<td><center>имя3</center></td><td><center><<$tracker3></center></td></tr>
</tbody>
</tr>
</table>'
UPD: Решил первый вопрос, но второй не могу понять как решить…
UPD: Методом перебора решил и второй вопрос. Спасибо Aleks Versus, за, когда-то написанную им, таблицу в этой же теме
в итоге код получился такой
p"<table border=1 cellspacing=0>"
p "<tbody>"
p "<tr bgcolor=#cfcfcf>"
p "<td width=100><center>Персонаж</center></td><td width=130><center>Локация</center></td></tr>"
p "<tr>"
p "<td><center>имя1</center></td><td><center><<$tracker1>></center></td></tr>"
p "<tr>"
p "<td><center>имя2</center></td><td><center><<$tracker2>></center></td></tr>"
p "<tr>"
p "<td><center>имя1</center></td><td><center><<$tracker3>></center></td></tr>"
p "</tbody>"
p "</tr>"
pl"</table>"
qcezwsx,
молодец, что сам разобрался. Эти вопросы, к сожалению, задаются и задавались часто, и на них столь же часто давались ответы. В скором времени будет готова часть F.A.Q., где множество подобных вопросов будут освещены. Пока же на моём канале есть пара видео по основам HTML на QSP:
1 часть: https://www.youtube.com/watch?v=1KC_vgNKNgc
2 часть (твой вопрос): https://www.youtube.com/watch?v=KFZsJl2CjmE&t=1246s
Спасибо за более ранние ответы)) …хоть и не получилось то, чего хотел, поэтому решил вернуться ко вводу текста)
Следующий вопрос по идее простой, но разобраться не получилось. Имеем, допустим, такой вот код:
IF Текст = 1:
GOTO 'Локация-1'
END
IF Текст = 2:
GOTO 'Локация-2'
END
IF Текст = 3:
GOTO 'Локация-3'
END
Как сделать так, чтобы при вводе любого значения переменной “Текст”, не равной 1, 2 или 3, игра переводила на “Локацию-4”? Я пробовал использовать “!” и “<>”, однако почему-то каждый раз выдаёт ошибку синтаксиса :/
De@th K!d,
if text!1 and text!2 and text!3:gt'loc4'
должно сработать, если нет то
if text!1:gt'loc4'
if text!2:gt'loc4'
if text!3:gt'loc4'
Конечно, свой текст и свою локацию, мне лень язык было переключать).
Возможно, лучше использовать не числовую переменную, а текстовую, тогда условия будут выглядеть так
if $text!'1'
и т.д.
Не знаю как строка ввода, а input выдает ошибку при попытке присвоить числовой переменной текстовое значение.
De@th K!d:
Спасибо за более ранние ответы)) …хоть и не получилось то, чего хотел, поэтому решил вернуться ко вводу текста)
Следующий вопрос по идее простой, но разобраться не получилось. Имеем, допустим, такой вот код:IF Текст = 1: GOTO 'Локация-1' END IF Текст = 2: GOTO 'Локация-2' END IF Текст = 3: GOTO 'Локация-3' ENDКак сделать так, чтобы при вводе любого значения переменной “Текст”, не равной 1, 2 или 3, игра переводила на “Локацию-4”? Я пробовал использовать “!” и “<>”, однако почему-то каждый раз выдаёт ошибку синтаксиса :/
Можно просто сделать так:
IF Текст = 1:
GOTO 'Локация-1'
END
IF Текст = 2:
GOTO 'Локация-2'
END
IF Текст = 3:
GOTO 'Локация-3'
END
GOTO 'Локация-4'
Получается, что если текст не равен 1/2/3, то кусп читает строку перехода на локацию-4. Если равен, то когда происходит переход на другую локацию, любой код ниже благополучно отбрасывается. Решение простое, но со вкусом.
Быстрый вопрос. Как сделать так, что при нажатии гиперссылки в тексте выполнялся какой-либо код? Я помню, что так можно сделать, но не помню как.
7H3_D31M0S,
<a href="exec:код">текст</a>
Если код многострочный то используйте dynamic.
dmvikar,
Я иногда видел в кодах игр этот “dynamic”, только вот не понимаю, как он работает и с чем его едят. Можете объяснить, пожалуйста?
7H3_D31M0S,
В текстовую переменную записываешь код
$text={
код
}
а где нужно его использовать
dynamic $text
По сути, это как использовать gs
http://wiki.qsp.su/help:dynamical
7H3_D31M0S,
и вновь предлагаю своё видео по dynamic https://www.youtube.com/watch?v=nUzEUgm1JlM
7H3_D31M0S,
Ну такое, если честно. Лучше так сделать, меньше нагрузка на ПК и код читабельнее:
if (Текст = 1):
gt 'Локация-1'
elseif (Текст = 2):
gt 'Локация-2'
elseif (Текст = 3):
gt 'Локация-3'
else
gt 'Локация-4'
end