/// /// Исходный код текстовой онлайн игры "Пример продвинутой битвы" скачан с сайта https://apero.ru/ /// Пройти онлайн или скачать последнюю версию этой игры можно по адресу: https://apero.ru/Текстовые-игры/Пример-продвинутой-битвы /// Авторы: UnknownEXE /// Версия: от 2020-03-02 19:25:21 /// \запуск Пример продвинутой битвы Пример битвы с различными способностями и негативными эффектами,будет немного сложно. Автор: UnknownEXE \(старт,Начать игру "Пример продвинутой битвы") \(состояние=100) \(состояние врага=100) /*Такие параметры как здоровье, мана и почие, которые будут постоянно меняться в ходе битву нужно ставить на локации, которая точно не попадёт в битву*/ \СТОП \старт /*Это основная локация битвы, на которую мы будем попадать после каких-либо действий, шансы обнуляем, чтобы не был нанесён ненужный удар противника(ниже поймёте), а обнуляем именно здесь, потому что это единая локация, на которую мы так или иначе попадём и всё, что написано на ней будет исполнено*/ \(шанс огненного шара врага=0) \(шанс удара врага=0) \(шанс огненного шара врага=0) [b]Враг[/b] Состояние: \(состояние врага) Эффекты: \ЕСЛИ \(кровотечение>0) \ТО Кровотечение(осталось \(кровотечение)) \ЕСЛИ \(враг подожжён>0) \ТО Подожжён(осталось \(враг подожжён)) [b]Вы[/b] Состояние: \(состояние) Эффекты: \ЕСЛИ \(кровотечение игрока>0) \ТО Кровотечение(осталось \(кровотечение игрока)) \ЕСЛИ \(игрок подожжён>0) \ТО Подожжён(осталось \(игрок подожжён)) [hr] \(уд,Удар мечом)(урон-10) \ЕСЛИ \(откат огня игрока<1) \ТО \(фаер,Огненный шар)(урон-15, откат-2) \ИНАЧЕ Огенный шар(урон-15, откат-2) \ЕСЛИ \(откат лечения игрока<1) \ТО \(леч,Лечение)(восстановка-20, откат-3) \ИНАЧЕ Лечение(восстановка-20, откат-3) \СТОП \уд /*Итак, все способности нашего персонажа будут распределены на разные локации для простоты, на каждой из них все переменные, кроме переменных персонажа должны быть одинаковые. Даём противнику помимо переменной случайности на попадание ещё и случайную переменную способности, если исскуственным интелектом, как таковым ваш соперник обладать не будет, в противном случае необходимо писать ещё и факторы необходимые для использования каких-либо способностей(может потом выпущу пример ИИ). Также тут необходимо назначить последствия полученных негативных эффектов, если таковые присутствуют. Например, каждый ход отбавляется определённое кол-во жизней. Кровотечению и подожжению мы преписываем двойки, потому что каждый ход будет отбавляться единица, а при нуле эффекты перестанут проявляться, теперь математика начальных классов: если у кровотечения значение 2 и каждый ход отнимается от него 1, то проработает эффект всего два хода. Надеюсь вы меня поняли, я просто спать хочу:) Если у способностей есть откат - та же фигня что с эффектами - отнимаем каждый ход 1 от заданного параметра отката.*/ \(откат лечения игрока=откат лечения игрока-1) \(откат огня игрока=откат огня игрока-1) \(откат вражеского лечения=откат вражеского лечения-1) \(откат вражеского огня=откат вражеского огня-1) \ЕСЛИ (игрок подожжён>0) \ТО \(состояние=состояние-3) \ЕСЛИ (враг подожжён>0) \ТО \(состояние врага=состояние врага-3) \ЕСЛИ (кровотечение игрока>0) \ТО \(состояние=состояние-5) \ЕСЛИ (кровотечение>0) \ТО \(состояние врага=состояние врага-5) \(кровотечение игрока=кровотечение игрока-1) \(кровотечение=кровотечение-1) \(игрок подожжён=игрок подожжён-1) \(враг подожжён=враг подожжён-1) \(шанс=\(АПЕРО.случайно(1;5))) \(способность=\(АПЕРО.случайно(1;3))) [b]Ваши действия[/b] \ЕСЛИ (игрок подожжён>0) \ТО [color=red]Вы горите и получаете 3 ед. повреждений![/color] \ЕСЛИ (кровотечение игрока>0) \ТО [color=red]Вы теряете кровь и получаете 5 ед. урона![/color] \ЕСЛИ (шанс>2) \ТО Противник получил рваную рану. Наложен эффект кровотечения. \ИНАЧЕ Оппонент ушёл от вашего удара. \ЕСЛИ (шанс>2) \ТО \(состояние врага=состояние врага-10) \ЕСЛИ (шанс>2) \ТО \(кровотечение=2) [b]Действия врага[/b] \ЕСЛИ (враг подожжён>0) \ТО [color=red]Враг горит и получает 3 ед. повреждений![/color] \ЕСЛИ (кровотечение>0) \ТО [color=red]Враг теряет кровь и получает 5 ед. урона![/color] \ЕСЛИ (способность=1) \ТО \(шанс удара врага=\(АПЕРО.случайно(1;5))) \ЕСЛИ (шанс удара врага>2) \ТО Противник наносит удар мечом. У вас кровотечение \ЕСЛИ (шанс удара врага<3 И шанс удара врага>0) \ТО Противник попытался нанести удар мечом и удачно провалился в этом. \ЕСЛИ (шанс удара врага>2) \ТО \(состояние=состояние-10) \ЕСЛИ (способность=2) \ТО \(шанс огненного шара врага=\(АПЕРО.случайно(1;5))) \ЕСЛИ (шанс огненного шара врага>2 И откат вражеского огня<1) \ТО Огненный шар противника настиг вас! Вы горите! \ЕСЛИ (шанс огненного шара врага<3 И шанс огненного шара врага>0 И откат вражеского огня<1) \ТО Враг пустил в вас огненный шар, но вы были быстрее. \ЕСЛИ (шанс огненного шара врага<3 И шанс огненного шара врага>0 И откат вражеского огня<1) \ТО \(откат вражеского огня=2) \ЕСЛИ (шанс огненного шара врага>2 И откат вражеского огня<1) \ТО \(состояние=состояние-15) \ЕСЛИ (шанс огненного шара врага>2 И откат вражеского огня<1) \ТО \(игрок подожжён=2) \ЕСЛИ (шанс огненного шара врага>2 И откат вражеского огня<1) \ТО \(откат вражеского огня=2) \ЕСЛИ (способность=3 И откат вражеского лечения<1) \ТО Противник встав в стойку отлечил все царапины. \ЕСЛИ (способность=3 И откат вражеского лечения<1) \ТО \(состояние врага=состояние врага+20) \ЕСЛИ (способность=3 И откат вражеского лечения<1 И состояние врага>80) \ТО \(состояние врага=100) \ЕСЛИ (способность=3 И откат вражеского лечения<1) \ТО \(откат вражеского лечения=3) \ЕСЛИ (состояние>0 И состояние врага<1) \ТО Противник валится с ног от перенесённых травм, вы победили! \ЕСЛИ (состояние<1 И состояние врага>0) \ТО Ваше бренное тело утяжелилось, его больше не держат ноги, поражение. \ЕСЛИ (состояние<1 И состояние врага<1) \ТО Вы и ваш соперник синхронно валитесь на землю и получаете ничью! \ЕСЛИ (состояние>0 И состояние врага>0) \ТО \(старт,Принято) \ЕСЛИ (состояние>0 И состояние врага<1) \ТО \(победа,Итоги) \ЕСЛИ (состояние<1 И состояние врага>0) \ТО \(проигрыш,Итоги) \ЕСЛИ (состояние<1 И состояние врага<1) \ТО \(ничья,Итоги) \СТОП \фаер \(откат лечения игрока=откат лечения игрока-1) \(откат огня игрока=откат огня игрока-1) \(откат вражеского лечения=откат вражеского лечения-1) \(откат вражеского огня=откат вражеского огня-1) \ЕСЛИ (игрок подожжён>0) \ТО \(состояние=состояние-3) \ЕСЛИ (враг подожжён>0) \ТО \(состояние врага=состояние врага-3) \ЕСЛИ (кровотечение игрока>0) \ТО \(состояние=состояние-5) \ЕСЛИ (кровотечение>0) \ТО \(состояние врага=состояние врага-5) \(кровотечение игрока=кровотечение игрока-1) \(кровотечение=кровотечение-1) \(игрок подожжён=игрок подожжён-1) \(враг подожжён=враг подожжён-1) \(откат огня игрока=2) \(шанс огненного шара врага=0) \(шанс удара врага=0) \(шанс огненного шара врага=0) \(шанс=\(АПЕРО.случайно(1;5))) \(способность=\(АПЕРО.случайно(1;3))) [b]Ваши действия[/b] \ЕСЛИ (шанс>2) \ТО Вы подожгли оппонента! \ИНАЧЕ Ваш огненный шар ушёл вникуда \ЕСЛИ (шанс>2) \ТО \(состояние врага=состояние врага-15) \ЕСЛИ (шанс>2) \ТО \(враг подожжён=2) [b]Действия врага[/b] \ЕСЛИ \(способность=1) \ТО \(шанс удара врага=\(АПЕРО.случайно(1;5))) \ЕСЛИ \(шанс удара врага>2) \ТО Противник наносит удар мечом. У вас кровотечение \ИНАЧЕ Противник попытался нанести удар мечом и удачно провалился в этом. \ЕСЛИ \(шанс удара врага>2) \ТО \(состояние=состояние-10 И кровотечение игрока=2) \ЕСЛИ \(способность=2) \ТО \(шанс огненного шара врага=\(АПЕРО.случайно(1;5))) \ЕСЛИ \(шанс огненного шара врага>2 И откат вражеского огня<1) \ТО Огненный шар противника настиг вас! Вы горите! \ЕСЛИ \(шанс огненного шара врага<3 И шанс огненного шара врага>0) \ТО Враг пустил в вас огненный шар, но вы были быстрее. \ЕСЛИ \(шанс огненного шара врага>2 И откат вражеского огня<1) \ТО \(состояние=состояние-15 И подожжён игрок=2 И откат вражеского огня=2) \ЕСЛИ \(способность=3 И откат вражеского лечения<1) \ТО Противник встав в стойку отлечил все царапины. \ЕСЛИ \(способность=3 И откат вражеского лечения<1) \ТО \(состояние врага=состояние врага+20 И откат вражеского лечения=3) \ЕСЛИ (состояние>0 И состояние врага<1) \ТО Противник валится с ног от перенесённых травм, вы победили! \ЕСЛИ (состояние<1 И состояние врага>0) \ТО Ваше бренное тело утяжелилось, его больше не держат ноги, поражение. \ЕСЛИ (состояние<1 И состояние врага<1) \ТО Вы и ваш соперник синхронно валитесь на землю и получаете ничью! \ЕСЛИ (состояние>0 И состояние врага>0) \ТО \(старт,Принято) \ЕСЛИ (состояние>0 И состояние врага<1) \ТО \(победа,Итоги) \ЕСЛИ (состояние<1 И состояние врага<0) \ТО \(проигрыш,Итоги) \ЕСЛИ (состояние<1 И состояние врага<1) \ТО \(ничья,Итоги) \СТОП \леч \(откат лечения игрока=откат лечения игрока-1) \(откат огня игрока=откат огня игрока-1) \(откат вражеского лечения=откат вражеского лечения-1) \(откат вражеского огня=откат вражеского огня-1) \ЕСЛИ (игрок подожжён>0) \ТО \(состояние=состояние-3) \ЕСЛИ (враг подожжён>0) \ТО \(состояние врага=состояние врага-3) \ЕСЛИ (кровотечение игрока>0) \ТО \(состояние=состояние-5) \ЕСЛИ (кровотечение>0) \ТО \(состояние врага=состояние врага-5) \(кровотечение игрока=кровотечение игрока-1) \(кровотечение=кровотечение-1) \(игрок подожжён=игрок подожжён-1) \(враг подожжён=враг подожжён-1) \(откат лечения игрока=3) \(шанс огненного шара врага=0) \(шанс удара врага=0) \(способность=\(АПЕРО.случайно(1;3))) [b]Ваши действия[/b] Медитация пошла на пользу, раны затягиваются! \ЕСЛИ \(состояние<81) \ТО \(состояние=состояние+20) \ИНАЧЕ \(состояние=100) [b]Действия врага[/b] \ЕСЛИ \(способность=1) \ТО \(шанс удара врага=\(АПЕРО.случайно(1;5))) \ЕСЛИ \(шанс удара врага>2) \ТО Противник наносит удар мечом. У вас кровотечение \ИНАЧЕ Противник попытался нанести удар мечом и удачно провалился в этом. \ЕСЛИ \(шанс удара врага>2) \ТО \(состояние=состояние-10 И кровотечение игрока=2) \ЕСЛИ \(способность=2) \ТО \(шанс огненного шара врага=\(АПЕРО.случайно(1;5))) \ЕСЛИ \(шанс огненного шара врага>2 И откат вражеского огня<1) \ТО Огненный шар противника настиг вас! Вы горите! \ЕСЛИ \(шанс огненного шара врага<3 И шанс огненного шара врага>0) \ТО Враг пустил в вас огненный шар, но вы были быстрее. \ЕСЛИ \(шанс огненного шара врага>2 И откат вражеского огня<1) \ТО \(состояние=состояние-15 И подожжён игрок=2 И откат вражеского огня=2) \ЕСЛИ \(способность=3 И откат вражеского лечения<1) \ТО Противник встав в стойку отлечил все царапины. \ЕСЛИ \(способность=3 И откат вражеского лечения<1) \ТО \(состояние врага=состояние врага+20 И откат вражеского лечения=3) \ЕСЛИ (состояние>0 И состояние врага<1) \ТО Противник валится с ног от перенесённых травм, вы победили! \ЕСЛИ (состояние<1 И состояние врага>0) \ТО Ваше бренное тело утяжелилось, его больше не держат ноги, поражение. \ЕСЛИ (состояние<1 И состояние врага<1) \ТО Вы и ваш соперник синхронно валитесь на землю и получаете ничью! \ЕСЛИ (состояние>0 И состояние врага>0) \ТО \(старт,Принято) \ЕСЛИ (состояние>0 И состояние врага<1) \ТО \(победа,Итоги) \ЕСЛИ (состояние<1 И состояние врага>0) \ТО \(проигрыш,Итоги) \ЕСЛИ (состояние<1 И состояние врага<1) \ТО \(ничья,Итоги) \СТОП \победа Вас проважают авациями, а соперника увозят на катофалке, это была честная победа! \(АПЕРО.конец=1) \СТОП \проигрыш Ваше тело пакуют в гроб, а соперника, по-видимому дома ждёт пир на вырученные деньги с победы. \(АПЕРО.конец=1) \СТОП \ничья Обоих участников увозят в разные стороны, их тела погибли, однако их души всё ещё борятся где-то на небесах. \(АПЕРО.конец=1) \СТОП