Как сделать?
…
прикрепите файл
labirint.qsp - вот
Из локации stat нужно убрать значения переменных.
У вас получается, что каждый раз, когда вы заходите на эту локацию, переменные принимают начальное значение. Оставьте там только это
‘Ваша жизнь: <<Жизнь>>’
‘Жизнь минотавра: <<Жизнь_минотавра>>’
kosmosnash, спасибо заработало/ И еще возник вопрос, система воспринимает отрицательные значения, т.е. если у меня в условии IF Жизнь_минотавра < 0:
GOTO “Победа_над_минотавром” - то при значении -2 оно должно срабатывать? (если я правильно понимаю, то должен появляться переход на локацию “Победа_над_минотавром”)?
Ну лично я как-то никогда не работал с отрицательными. Но должно работать, конечно)
kosmosnash,
Я так понимаю, что условия
IF Жизнь_минотавра < 0:
GOTO “Победа_над_минотавром”
END
мало для того, чтобы после победы игрок мог перейти на “специальную” локацию. Просто у меня опять текст появляется, жизни считаются, но ничего не происходит…
IF Жизнь_минотавра < 0:
GOTO “Победа_над_минотавром”
END
Именно эта конструкция должна работать. Значит где-то условие не выполняется. Попробуйте вместо < поставить <=
kosmosnash,
Я ничего не понимаю. С дейсвтием тоже какая-то фигня
IF Жизнь_минотавра > 50:
Жизнь_минотавра = Жизнь_минотавра - 51
gs ‘Stat’
PL “Ты с ловкостью дикого хищника бросаешься на минотавра и пронзаешь его мечем. Еще один удар и враг повержен ”
ELSE
Жизнь = Жизнь - 20
gs ‘Stat’
PL “Минотавр сильный и коварный противник. Он легко уклоняется от удара и наносит свой.”
GOTO $CURLOC
END
Если второй раз воспользоваться этим действием, то оно просто отменяет результат предыдущего. Т.е. после первого применения Жизнь_минотавра уменьшается, но если нажать кнопку действия еще раз, то строчка с предыдущим действием исчезает и Жизнь_минотавра снова становиться 100…
А условия “Победы” так и на работают…
Nikus,
в локации stat убери первую и третью строчку и перенеси их в действие “Атаковать минотавра”. Таким образом при выборе действия “атаковать минотавра” один раз будут выставлены параметры здоровья для героя и минотавра, и действие будет работать правильно.
Локация stat:
'Ваша жизнь: <<Жизнь>>'
'Жизнь минотавра: <<Жизнь_минотавра>>'
Локация Зал_Сияние:
IF OBJ "Меч":
ACT "Атаковать минотавра":
GOTO "Бой_с_минотавром_меч"
Жизнь_минотавра = 100
Жизнь = 100
END
END
IF OBJ "Факел":
ACT "Атаковать минотавра":
GOTO "Бой_с_минотавром_факел"
END
END
IF OBJ "Компас":
ACT "Атаковать минотавра":
GOTO "Бой_с_минотавром_компас"
END
END
Условия победы работают, но поскольку локация победы не создана, перейти на неё нельзя.
С условиями победы проглядел, напишу ниже.
Aleks Versus,
Прошу прощение, но у меня в stat-у только две строчки ‘Ваша жизнь: <<Жизнь>>’
‘Жизнь минотавра: <<Жизнь_минотавра>>’
Тогда прошу вновь прикрепить файл.
Добавлено:
В действиях ударов GOTO $CURLOC срабатывает только при одном условии, а должно срабатывать всякий раз при выборе действия, поэтому переход на локацию и проверка не срабатывают. Перенеси строчку GOTO $CURLOC в самый низ действий.
Ещё добавлено:
И при проверке уровня здоровья минотавра и героя используй не строго меньше или больше, а <= и =>.
локация бой_с_минотавром_меч:
IF Жизнь <= 0:
GOTO “Смерть_от_минотавра_в_бою”
END
IF Жизнь_минотавра <= 0:
GOTO “Победа_над_минотавром”
END
В настоящий момент несколько запар
1. когда я повторяю “Рубящий удар”, он обнуляет предыдущий результат этого же действия
2. когда минотавр повержен (применения “рубящего удара” а затем “быстрого выпада” дают жизнь_минотавра = -2) условие победы на этой локации (”Бой_с_минотавром_меч”) не срабатывает labirint2.qsp
Заранее спасибо за помощь и поддержку
Nikus,
Смотри пост выше, я там кой чего дописал.
На локации бой_с_минотавром_меч первые две строчки лишние. Они-то и восстанавливают здоровья при переходе GOTO $CURLOC.
Вот эти две строчки лучше всего перенести в действие “атаковать минотавра”, как я показал несколько сообщений назад.
Aleks Versus,
Если я вас правильно понял речь идет о действиях “Быстрый выпад” и “Рубящий удар” и в них есть GOTO $CURLOC, который нужно перенести в самый низ - после END? если это сделать, просто перестает отображаться результаты боя… И после победы меня так никуда и не переносит… я остаюсь на этой локации.
Все понял, прошу прощение за свою медленность… заработало!!!!! Спасибо
Есть только один пикантный момент, герой к этому времени в одной из локации может потерять 5 жизни, а тут получается, что он “регенерирует”
Nikus,
А разве результат боя ты выводишь не в дополнительное описание?
Если ты хочешь, чтобы весь бой выводился в основное описание, нужно использовать маленькие хитрости. Сейчас слегка подправлю твой код и дам в следующем сообщении.