RU 📌 Pinned

Как сделать?

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

svandrus,
1. @@@@CODEBLOCK0@@@@

2. Можешь воспользоваться модулем для работы с событиями по таймеру.

Axil,
а что значит week = week + 1 ?

week - день недели (0-7)

Мне просто так “hour = hour mod 24”, не годится - я там еще и события вызываю которые происходят раз в день.
Тогда сколько дней пройдет - столько раз собития вызовутся.

Я делал на основе этого примера, только без учёта дней, т.е. когда hour >= 24: day += 1
Отсюда и растут ноги у 28 часов.

Вот ты сам себе и ответил. Делай как в примере, тогда всё будет работать.

Axil:

Кто-нибудь делал алгоритм поиска пути A* на qsp?
Интересует именно версия по обходу графа, а не двухмерной сетки.
Локации с переходами между ними это же граф.

Почему именно Астар? Не лучше ли использовать для этой цели алгоритм Дейкстры?

Привет, я только начинаю разбираться в qsp, и, может быть, это глупый вопрос, но все-таки.. есть ли какая команда, чтобы можно было присвоить переменной имя данной локации (именно, как они называются в левом столбце)? Фактически это должно быть так: например, герой хочет выпить магический напиток и побродить по лабиринтам внутри своей головы, но когда добредет, он должен вернуться туда же, где он решил этот напиток выпить, пусть даже в пучину боя. т.е. выпивая и уходя в лабиринт мы прописываем $locback = ‘??’, а когда лабиринт кончается, пишем - gt ‘<<$locback>>’ . Собственно, и вопрос в том, что нужно ставить вместо ?? . Уточню, что, конечно, проблему можно решить, если самостоятельно присваивать имена локациям при переходах в какой-нибудь переменной типа “locname”, но это не подходит. Надеюсь, понятно, объяснил. Спасибо!

CURLOC
Также поможет эта тема.

Гениально и просто. Благодарю!

evp:

Почему именно Астар? Не лучше ли использовать для этой цели алгоритм Дейкстры?

Хорошо, а алгоритм Дейкстры кто-нибудь на qsp реализовывал?

Axil, это не проблема. Тебе нужно готовое решение или ты готов сам потрудиться?

Если второе, то только начни, а нужна будет помощь - я помогу.

Пример хороший. И в большинстве случаев дает нужный результат. Но у него есть проблемка.

Вот иллюстрация схемы городов и дорог в этом примере:

В примере ищется путь из города 4 в город 7.

Результат:

Из Город 7 в Город 4.
Город 7; Город 0; Город 2; Город 4

Однако, если мы удалим дорогу из 0 в 7, то в город 7 приехать нельзя - это единственная дорога, связывающая 7 с другими городами. Делаем это: комментируем строки 23 и 35 в локации 1:

!gs 'road',0,7
...
!gs 'road',7,0

Запускаем. И… результат не изменился. По-прежнему:

Из Город 7 в Город 4.
Город 7; Город 0; Город 2; Город 4

Надо править пример, исправлять ошибку в алгоритме.

evp,
ошибка не в реализации алгоритма Дейкстры, а в алгоритме вывода посещённых городов. Я её исправил, залил обновлённый файл.

snail,
Про время - предложенный модуль хорош, но сложноват для меня. Свою задачу сформулировал так - возможность пове.. управлять течением времени и решил немножко по-другому:

act 'Остановись мгновение...':
	delact $selact
	SETTIMER  999999
	act 'Реал-тайм':
		delact $selact
		SETTIMER  500
		gt $curloc
	end
end

Получил в итоге иллюзию паузы и вопрос: каким может быть предельное значение SETTIMER?
P.S. Сделал SETTIMER -1 и оно замерло. Надолго ли?

Друзья! У меня еще один скорее всего глупейший вопрос. Вот только сегодня вдруг осознал, изучая чужие игры, что можно записывать все в одну строку, а не в столбик. в смысле, например, вместо:

if $orjname = ‘Идеальный меч’:
orjatck = 185
orjkrit = 120
orjinic = 18
…и так далее
end

вот так:

if $orjname = ‘Идеальный меч’: orjatck = 185&orjkrit = 120&orjinic = 18&и проч. и проч.

Сразу же захотел кое-чего переписать, однако сразу же и передумал, решив, что “старый” метод привычнее и удобнее для глаз.

Вот у меня этими if $orjname а так же всяческими if $lookname $dospname $monstr и прочими весьма и весьма перегружена локация “newloc”, учитывая что на каждый “name” приходится от десяти больше различных меняемых характеристик. Сейчас строчек в локации где-то две с половиной тыщи, хотя это только начало игры и сколько будет дальше прогнозируется вероятно около десяти тыщ.

Вопрос в следующем: Не будет ли игра подвисать от количества строк? влияет ли вообще на что-нибудь это количество? смещение всего в одну строку (вместо столбика) - прием чисто визуально-эстетический или носит еще какую-то практическую функцию?

Ну, про это даже я знаю.
http://wiki.qsp.su/help:conditional
Многострочная форма записи:
….
Допускается вложенность неограниченной глубины. Каждый уровень вложения должен заканчиваться своей строкой “END”.
А вот подвисания отмечались если циклов много-много понаделать - пока оно всех прокрутит… И сейв тогда ОЧЕНЬ большой получается.

Log in or Register to post comments.