RU

Помощь в начинании

Mr.Crazzyr #623 22.07.2012 21:27 27 comments 14438 views

Всем доброго времени суток.

Пожалуй начну с пролога =) Я где то с неделю назад наткнулся на одну текстовую игру и заинтересовался написанием игр данного жанра. У меня есть безумная идея создать офлайн версию игры которую просто невозможно перенести на монитор ибо, что б нее поиграть необходимо присутствие живых людей. На этом пролог закончим и перейдем к основе.

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

Так же у меня накопилась несметная масса вопросов:

1.

’ У вас <<Деньги>> монет.’

’ Вам нужно перенести <<3-Ящик>> ящика.’

ACT ‘Перенести ящик’:

‘Вы перенесли 1 ящик’

Ящик = Ящик + 1

IF Ящик = 3:

Деньги = Деньги + 5

Ящик = 0

END

GOTO ‘Работа’

END

Почему фраза

‘Вы перенесли 1 ящик’

не пишется в основном окне? Как программа находит переменную “Деньги” и использует ее во всех локациях если я ее обозначил только в одной и то в условии.

2. RAND я вообще не понял. Или он просто не работает :D

horse = Rand (1, 3)

IF horse > 2:

msg ’ Выиграли’

ACT ‘Забрать приз’:

GT ‘Wictory’

END

END

IF horse = 1:

msg’ Не повезло вам.’

End

Почему этот код просто напросто не срабатывает когда я попадаю в локацию? Даже программа никаких ошибок не выдает.

Edited at 22.07.2012 21:27 (13 years ago)

Спасибо, код стал намного короче, что не может не радовать глаз)

Nex:

Про проверку кота. Тебе нужно, чтобы если выполнился оператор CLS, то не осуществлялась проверка кота?

Я просто код с котом перенес в верх и стало нормально

Еще такой вопрос. В начальной локации я пишу USEHTML = 1 а дальше

‘<div style=“font-size: 30px; font-family:georgia; font-weight:bold; text-align:center; color:#ff0000”>МОЯ ПЕРВАЯ ИГРА</div>’

но когда запускаю игру то вся эта лабуда тоже пишется, т.е. HTML как бы не работает. Может он работает только под аеро? Тогда это становится оч не удобно. Понапрописовать везде код, перевести игру в формат .aqsp, и потом аж тестировать. Так получается?

Mr.Crazzyr,
скорее всего ты поставил KILLALL после USEHTML.
KILLALL “сбрасывает” все значения переменных, в том числе и USEHTML, поэтому поставив KILLALL в первой локации, убедись, что он идет самым первым.

Поддержка HTML в классическом плеере очень ограничена. В частности, у элементов не поддерживается атрибут “style”. Для настройки параметров шрифта следует использовать тег <FONT>.

Nex,
Точно, проблема была в KILLALL. Спасибо теперь можно приступать писать собственую игру :/

Я вам наверное уже изрядно надоел, но всё же посмею еще раз потревожить :)
1.Правильно я понимаю: COUNTOBJ - проверяет количество предметов в инвентаре?
2. “SELOBJ - возвращает название выделенного предмета.” - как это понимать? $SELOBJ - проверяет название выделеного предмета?
3.Я не совсем понимаю когда использовать “$curloc” заместь обычного “curloc”

Правильно я понимаю: COUNTOBJ - проверяет количество предметов в инвентаре?

Именно так.

SELOBJ и $SELOBJ эквивалентны. Это одно и то же.
CURLOC и $CURLOC эквивалентны. Это одно и то же.

Хотелось бы узнать про зациклевание. :loop в справке я не нашол. Можете на примере показать принцип роботы и обьяснить для чего его применять

В лёгкую. Циклов нет, есть как привально сказал loop. Работает как стандартная метка и прыжок. Делается так:
:loop

код который тебе надо

if всё_ещё_надо_делать цикл = 1 :
jump ‘loop’
end
Вместо loop писать можно любое слово.

Еще меня интересует как в операторе RAND высчитывать определеный диапазон значений из середины. Наведу пример

a = RAND (1,100)
IF a > 20 (Есть мнение, что здесь должен стоять какойто оператор определяющися как “но” ) а < 30:
b = $sepat
и т.д.

Antipod,
Спасибо конечно. Но доменя тупо не доходит куда и зачем его можно было примеить. Я себя за это ненавижу.. Ладно это дело наживное, главное, что я уже знаю принцип работы.

Mr.Crazzyr:

Еще меня интересует как в операторе RAND высчитывать определеный диапазон значений из середины

A = RAND(100)
IF A>20 AND A<30:
B=$sepat

Зацикливание полезно для перебора каких-либо значений (чаще всего в массиве)

Воден,
Спасибо

Log in or Register to post comments.