AstraLoki

AstraLoki

Владелец рабочего ануса
Пикабушник
рейтинг 16 подписчиков 0 подписок 34 поста 1 в горячем
Награды:
5 лет на Пикабу

Рыба моей мечты #8 или кручу-верчу, запутать хочу

Анимации на Аперо быть! Одеваем белый костюм пчеловода и идём развлекаться (с кодом) на пасеку. Мы запустим в воздух сразу 4-ёх пчёл одновременно...

И они все улетят (достигнув финиша), скрывшись за границами экрана (в разное время). Код -> https://disk.yandex.ru/d/6q_Bx3ubiAE_8Q

Наша пчёлка подлетает к цветку, садится на него, опыляет и улетает обратно. Анимация состоит из 3ёх действий - вперёд, стоп, назад. Код с цветком взят из примера 7-ой статьи. Код ->  https://disk.yandex.ru/d/6vgJ0J8EKv9s3w

Как ты уже знаешь (если уже пробовал писать игры), в Аперо есть свой редактор кода. Он состоит из экспресс-панели с командами для быстрого доступа и самим полем для ввода кода. А при нажатии на кнопку Развернуть, весь написанный тобою код переход в "Полноэкранный Режим". Для запуска игры надо нажать на Тестовый Запуск, рядом.

Новая Локация - создаёт локацию с заданным именем, в конце которой будет стоять \СТОП

Добавить Кнопку - для перехода в локацию. Имеет вид \(Локация1, Перейти?)

Объявить Переменную - ну кому я рассказываю? \(Имя=КотДурак) вместо 1000 слов.

Напечатать Переменную - тупо создаёт круглые скобки \() типо таких, для ленивых.

Добавить условие - довольно часто юзаю. \ЕСЛИ (x=y) \ТО \(z=1) и по аналогии.

[b] - Жирный Шрифт, который очень хорошо отличается от обычного текста. [/b]

[i] - наклонный курсив, обычно используют для прямой речи, буквы как бы наклонены. [/i]

[u] - подчёркивание текста - нижней линией, вот прямо как сейчас. (почти, только ниже) [/u]

При написании [br] Текст начинается с новой строки (в самом коде)

При написании [br]

Текст начинается с новой строки (для игрока)

[hr] это горизонтальная линия (узнал о её существовании вместе с вами)

[color=red] Позволяет менять цвет текста на выбранный [/color]

[size=22] Пару раз юзал чисто побаловаться, не более [/size]

[font=Tahoma] Три шрифта на выбор - Sans-serif, Tahoma, Arial [/font]

https://apero.ru/Документация же содержит в себе подробное описании возможностей, как надо работать с кодом игры. И краткие примеры для начинающих. (У меня много времени ушло на их написание) Здесь перечислен (краткий) багаж доступных в Аперо функции (далеко не весь). С некоторыми из которых (выборочно), я тебя уже познакомил. А именно многострочные (10) и однострочные массивы (9) и циклы, работа с текстом и ввод значений (14), режим вывода и системные локации (15), блоки (17), анимация (18) и таймер (19).

На сайте есть раздел посвящённый (уже созданным) онлайн играм, куда мы прямо сейчас и направимся. Он включает в себя три подраздела.

- Каталог с уже (полностью) готовыми играми от старожил проекта (их достаточно мало)

- Примеры для новичков (с открытым кодом) и описанием работы различных механик.

- В Песочницу публикуются (незавершённые) прототипы игры новичков или бета версии.

https://apero.ru/Текстовые-игры/Испытание-Лабиринтом вот пример одной из лучших игр на платформе Аперо (сделанной мною за 3 дня на спор). В идеально абсолютно всё! В ней доступно 10 лабиринтов, на прохождение которых у вас может уйти не один час реального времени.

Очередной пример простой текстовой игры для новичков. В конце есть даже работа с инвентарём. Прим, игру не пройти до конца (если кое-где не дописать код - см. сравни со вторым примером ниже). Код -> https://disk.yandex.ru/d/b9Nza8A8zL5Zyw Но игру можно написать иначе, более интересным способом (используя локальные переменные). Позволяя находиться на двух и более локациях одновременно.

Обратите внимание на строчку \ЕСЛИ (Выбор=1) \ТО ( [br] \(МойКот) \) \СТОП

А особенно на ( \(МойКот) \) \СТОП, где гиперссылка для вызова на локации \МойКот находится в скобка ( \) ограничивающих выполнение кода для команды \ECЛИ. И в случае, если мы уберём данные скобки, команда \СТОП в той строчке выполнять не будет (только на следующей строке). И в следствии этой недоработки, вместе с первой (локацией) выведется и следующая за ней локация (обе разом). Код -> https://disk.yandex.ru/d/_7hMoXdXvPaEfQ

Если у тебя возникнут вопросы, то на сайте есть подробная документация (как надо работать с кодом) -> https://apero.ru/Документация . Новичкам всегда готовы помочь старожилы проекта. А именно:

1) Александр -> https://vk.com/san90

2) Михаил -> https://vk.com/stalkersleem

3) Дмитрий -> https://vk.com/drkcrwn

4) Михаил2 -> https://vk.com/id17130734

5) Пашка Пистолет -> https://vk.com/glumpa

Показать полностью 21

Рыба моей мечты #7 или Всё новое, это хорошо забытое старое

Помните, как мальчик (из 2-го поста) хотел чтобы Мама купила ему в магазине шоколадку? А в результате она купила ему только мороженное! Это же не справедливо! Он ведь хотел шоколадку. Теперь, купит ли ему Мама что-либо, будет зависеть только от самого мальчика (от того, сделал ли мальчик уроки). Код -> https://disk.yandex.ru/d/g-e2XYUE0MZ1NQ

Но как вернуть коду былую простоту? - Конечно же через функцию под-программы (аналог гиперссылки из HTML кода). Перед вами тот же самый код (работающий полностью без изменений). Код -> https://disk.yandex.ru/d/jbjJQW6XHsFDNA

Тоже самое можно проделать и с кодом Пяти-игровки из моего пятого поста. Сложный и непонятный код превратить в лёгкий. Где для каждой игры будет своя локация.

Правда код (в таком виде) почему-то не работает, в отличии от предыдущего. Хотите узнать почему? - Я выделил красным исправленный мною отрезок. https://apero.ru/Документация Напиши свой ответ в комментариях. Код -> https://disk.yandex.ru/d/2LqFfqpxPvEXUQ

Первое правило анимации на Аперо. Она обязательно должна быть. А теперь, лети моя пчела!

Что делает код? Разберём по строчкам:

(2) \(АПЕРО.анимация.количество=1) - кол-во повторов одной и той же анимации.

(3) \(АПЕРО.анимация.номер1.отступ.слева=300) - длина (расстояние) полёта пчелы.

(4) \(АПЕРО.анимация.номер1.отступ.слева.время=3500) - время самой анимации.

(5) \КАРТИНКА("i.yapx.ru/L5123.jpg") - фото самой пчелы.

(6) \(АПЕРО.анимация=0) - тормозим выполнение кода.

Код -> https://disk.yandex.ru/d/ILfgjCWSsa013Q


Время Экспериментов... Увеличим расстояние с 300 до 500. И пчела будет вылетать за экран.

Редактирование же параметра Время (из 4-ой строчки), позволит нашей пчеле лететь как очень быстро (если это значение равно 1000-2000). Так и очень медленно, если мы увеличим 3500 (или 3,5 секунды) до 5000-10000 (5-10 секунд)

А сейчас наша пчелка полетит справа-налево. Если не верите, то проверьте сами.

Заместо фотографии вполне подойдёт и обычный текст (из примера про Кота-Дурака)... Код -> https://disk.yandex.ru/d/grYvS38IT152gA

Учимся создавать (интерактивную) карту мира для нашей игры. Перед вами картинка и три активны кнопки (ведущие нас по нажатию) на новые локации. Код -> https://disk.yandex.ru/d/b8P9VmQD8fqw-g

Блок1 - выводим картинку, сжимаем её размер до 500 и делаем её обтекаемой (т.е. разрешаем наложение объектов). Надеюсь это понятно? За подробностями сюда -> https://apero.ru/Документация (в подраздел Блоки).

Блок2 -- выводим кнопку (ссылку) для перехода на другую локацию (поверх картинки). Делая отступы вниз/влево относительно заданного (Блоке1) максимума ширины в 500 единиц. Цвет текста определяем через Hex-код.

Блок3 - те самые локации для перехода. Локация может быть любой. Представьте её в своём воображении, одной из точек по карте мира.

Блок4 - нужен для того, чтобы (отделить) настройки карты мира от других локаций.

И редактируем код под себя! В Блоке1 меняем картинку на любую из интернета. В Блоке2 делаем нужное нам кол-во кнопок, сейчас их там всего 3. Корректируем расположение Слева/Сверху и Локацию, на которую кнопка будет переходить. В Блоке3 создаём эту самую локацию, можно и по аналогии с существующими. Блок4 даже не трогаем, он должен быть в коде обязательно.

Если у тебя возникнут вопросы, то на сайте есть подробная документация (как надо работать с кодом) -> https://apero.ru/Документация . Новичкам всегда готовы помочь старожилы проекта. А именно:

1) Александр -> https://vk.com/san90

2) Михаил -> https://vk.com/stalkersleem

3) Дмитрий -> https://vk.com/drkcrwn

4) Михаил2 -> https://vk.com/id17130734

5) Пашка Картошка -> https://vk.com/glumpa

Показать полностью 22

Рыба моей мечты #6 Нет предела совершенству

(Язык Программирования - Аперо, создаём на пару с товарищем. Есть желающие освоить?)


Сегодня мы доработаем код нашей прошлой игры, вдохнув в него ещё немного жизни. Поэтапно изменяя его в лучшую сторону. Сперва надо исправить его самый главный недостаток - масштабируемость, когда при добавлении новых переменных (новых Монстров), приходится менять весь код целиком. Покажу это вам на примере.

Теперь мы добавили в него 6-ых новых монстров и вот что изменилось.

Наш код закономерно начал расти. И теперь, нам предстоит понять - где мы допустили ошибку и быстро исправить её. Не буду томить, проблема в 4-ой строчке кода. Представьте что случится, если мы расширим Массив1 до 100 значений? Не порядок. Код -> https://disk.yandex.ru/d/B3QJVMiWlqXYdQ

Считаю, что работа проделана успешно. Добавив ещё одну переменную Счёт, мы избавились от всего этого лишнего нагромождения кода. Пока мы бьём, переменная Счёт=2. Как только здоровье монстра опускается до единицы, мы приравниваем Счёт=1. А нажатием на кнопку Бить, делаем (локальную) переменную Выбор равной единице. Затем срабатывает условие 4-ой строки кода \ЕСЛИ (Выбор=Счёт) \ТО и Имя монстра, его жизни и их кол-во увеличивается.

Теперь осталась лишь одна зависимость от имени (в 10-й строчке кода). Здесь мы пишем Имя последнего Монстра, на котором игрок пойдёт на второй круг. Но и эту оплошность (недоработку) можно исправить, пишите свои варианты в комментариях (как именно).

Плюс к этому, в последней (12-ой) строчке кода была добавлена дебаг-панель для выявления ошибок. Очень полезная штука, рекомендую каждому проводить данную практику на постоянной основе. Так легче понять, где может быть просчёт в коде.

Каким образом можно оптимизировать код всего в одну строчку? - оставлю этот вопрос на рассмотрение читателя. Решение искать здесь -> https://apero.ru/Документация А вот и сам код -> https://disk.yandex.ru/d/qc-ZnGcdqP0s8w

Дополним наши "Петушиные Разборки" (из 4-ой статьи) новым кодом. Теперь кнопку для каждого удара нажимать не обязательно (её просто нету). Каждый удар Петуха будет происходить по таймеру раз в 3 секунды. Весь секрет в том, что мы объявляем сразу две локации. Одна из них Битва, вторая Битва(Выбор) с локальной переменной. Таймер сам по себе не умеет работать с локациями второго типа (с выбором локальных переменных). Поэтому данный трюк жизненно необходим, чтобы преодолеть это ограничение. (очень важно, в документации этого нет)

Добавлено условие победы, жизнь одного из Петухов должна уменьшиться ниже 1. Если здоровье обоих упадёт ниже нуля, то появится сообщение - что они оба проиграли и игра автоматически (по-таймеру) перезапустится заново через 10 секунд. Код -> https://disk.yandex.ru/d/R3WRLFKl1YK3YA

Вновь вернёмся примеру из 4-ой статьи. Какие отличия (от Петухов) мы здесь видим? - Помимо самых основных Жизней и Урона, добавились Броня и SP (Спец Способность). Для реализации SP мы будем тупо вести подсчёт ходов. Спец Способности вводят в игру новые механики боя. Абаддон атакует дважды. Титан игнорирует броню цели. Некрофос выжигает аурой ХП. Футмен слаб, но имеет бафф брони. Если вам интересен сам принцип работы (и его реализация), поиграть и посмотреть код можно здесь -> https://apero.ru/Текстовые-игры/Arepo-Auto-Chess

Давайте, перед тем как идти дальше, устроим краткий ликбез. Что такое Массив? - Это в первую очередь переменная, содержащая в себе ещё одну переменную(, и более). Количество переменных в Массиве не ограничено. Из Массива можно как извлекать данные, так и записывать туда их. Код -> https://disk.yandex.ru/d/9dwwdhsHJQx6fw

ЦИКЛ это условие, (чаще) требующее многократного повторения до тех пор, пока не будет выполнено. \ЦИКЛ (икс<5) \СДЕЛАТЬ \(икс) [br] \(икс=икс+1) Пример самого примитивного цикла, где [br] это разрыв строки. Ответ: 1 2 3 4

Очередная реализация битвы (через таймер). Данный код уже по-сложнее. Для удобства разбил его на блоки. Код Игры -> https://disk.yandex.ru/d/fnGp8bJDlPrUZQ Начнём по-порядку:

Блок1 содержит только массивы Врагов и наших Героев. Каждый Массив содержит 4-5 переменных, которые включают -> Имя / Жизни / Броню / Урон / Умение.

Блок2 выводит Игроку сообщение для выбора героев.

Блок3 присваиваем значения из Массива -> Имя / Жизни / Броню / Урон / Умение, исходя из выбранного нами Героя. Кол-во героев не ограничено!

Блок4 каждый раз выставляет против нас нового Моба, если старый умирает.

Блок5 содержит способности наших Героев и проверяет, когда их можно активировать (на каком ходу) или если это баффы, то сколько они будут действовать.

Блок6 производит расчёты и выводит на экран сообщение о битве (с таймером в 3 сек)

Блок7 определяет, с какого блока начать - с 3-го (если жизни Моба близки к нулю) или с 4-го (если всё в порядке).

Добавление же новых Героев и Мобов осуществляется путём редактирования Блока1, Блока2 (для выбора) и Блока5 (для их умений). Код -> https://disk.yandex.ru/d/4fiZnUFnixUzxg Покажу на практике:

Если у тебя возникнут вопросы, то на сайте есть подробная документация (как надо работать с кодом) -> https://apero.ru/Документация . Новичкам всегда готовы помочь старожилы проекта. А именно:

1) Александр -> https://vk.com/san90

2) Михаил -> https://vk.com/stalkersleem

3) Дмитрий -> https://vk.com/drkcrwn

4) Михаил2 -> https://vk.com/id17130734

5) Пашка Какашка -> https://vk.com/glumpa

Показать полностью 20

Рыба моей мечты #5 или кодим игры Аперо на коленках

Хочешь написать свою первую игру на Аперо, но не знаешь с чего начать? Я помогу тебе определиться с выбором. Вот тебе ПЯТЬ ОРИГИНАЛЬНЫХ идей для твоей первой игры.


1. Не нажимай эту Кнопку. Суть игры в том, что при каждом нажатии на кнопку, игроку выводится короткое сообщение. Кнопка как общается с тобой, и всеми силами противится тому, чтобы ты её нажимал. Поиграть -> https://apero.ru/Текстовые-игры/Russian-Рулетка (либо скачать код -> https://disk.yandex.ru/d/ApiCKZFYz1MsMw )

Объясняю как работает код (ориентируясь по строчкам): 


(2) \Нажать_на_Кнопку(Выбор) - мы объявляем локацию, которая называется Нажать_на_Кнопку. А у этой локации есть (локальная) переменная Выбор, на неё мы и будет ссылаться всякий раз при нажатии Кнопки (из строчки 17).


(3) \ЕСЛИ (Выбор=0) \ТО Не нажимай на кнопку - изначально, наша (локальная) переменная Выбор равна нулю, поэтому и данное условие срабатывает самым первым. Т.е. на экран выводится сообщение "Не нажимай на кнопку".


(17) \(Нажать_на_Кнопку(1), Кнопка) - при нажатии на кнопку, мы вновь переходим в локацию \Нажать_на_Кнопку, при этом (локальная) переменная Выбор становится равна единице. А весь текст на экране стирается.


(4) \ЕСЛИ (Выбор=1) \ТО \(Совет=Совет+1) - поскольку (локальная) переменная Выбор теперь равна единице, и переменная Совет (равная нулю) тоже увеличивается на единицу.


(6) \ЕСЛИ (Совет=1) \ТО НЕ НАЖИМАЙ на кнопку - выводим очередное сообщение.

(17) \(Нажать_на_Кнопку(1), Кнопка) - снова нажимает на кнопку.


(4) \ЕСЛИ (Выбор=1) \ТО \(Совет=Совет+1) - увеличиваем переменную Совет до двух.


(7) \ЕСЛИ (Совет=2) \ТО Я говорю тебе, не нажимай - Кнопка, Выбор, Совет+1, Кнопка и так по кругу. Можно добавлять свои ответы...

Таким образом можно добавить свои варианты, либо отредактировать под себя уже существующие. Просто напишите \ЕСЛИ (Совет=10) \ТО (и ваш текст) , затем \ЕСЛИ (Совет=11) \ТО и т.д.

2. Очередной Кликер, но уже с апгрейдами. Целью игры является накопить 1000$ для покупки Квартиры. Со сбором (за деньги) бутылок тебе помогут местные бомжики. Поиграть -> https://apero.ru/Текстовые-игры/ПРИМЕР-СРАЖЕНИЯ-В-ИГРЕ (либо скачать код -> https://disk.yandex.ru/d/uqIVLZI8_pY0Aw )

Объясняю как работает код (ориентируясь по строчкам):


(3) \ЕСЛИ (Выбор=0) \ТО \(x=x+1) - где переменная X это обычный счётчик твоих кликов. Она отвечает за то, сколько денег ты будешь получать за один клик. В данном случае (без прокачки), один клик = одному доллару.


(14) \ЕСЛИ (Выбор<6) \ТО Я хочу купить дом за 1000$

(15) \ЕСЛИ (Выбор<6) \ТО Один Клик = + \(x) Доллар

(16) \ЕСЛИ (Выбор<6) \ТО У тебя сейчас \(Сумма) Долларов

Пока вы не накопили 1000$ и не купили себе дом, (игроку) всякий раз будет выводиться это сообщение.


(18) \ЕСЛИ (Сумма<10) \ТО Мало денег на Бомжа - (условие ЕСЛИ -> ТО) значит денег на покупку одного Бомжа вам пока не хватает и надо сделать ещё несколько кликов.


(25) \ЕСЛИ (Выбор<6) \ТО \(Нажать_на_Кнопку(1), Собирать пустые бутылки?) - если вы ещё не купили себе дом, то можете собирать бутылки. Увеличиваем (локальную) переменную Выбор с нуля до единицы.


(4) \ЕСЛИ (Выбор=1) \ТО \(Сумма=Сумма+x) - и при каждом нажатии на кнопку (если Выбор=1), вы будете зарабатывать ИКС Долларов. Если Х=1, то Один Доллар. Если Х=10, то Десять.


Надеюсь, в общих чертах понятно? Есть деньги, покупаете Бомжа и увеличивает Х (доход за клик), потратив при этом свои доллары. (Локальная) переменная Выбор при покупке Бомжа тоже увеличивается (на указанное в кнопке покупке Х число). Затем при нажатии на кнопку "Собирать Бутылки" она (локальная переменная Выбор) снова становится равна единице.

Пример того, как можно изменить игру (Если тебе захочет немного поиграться с кодом)

3. Сборник из Пяти одно-кнопочных мини-игр. Ну знаете, есть такой жанр игр - испытания на время, и проверку твоей реакции и внимательности. https://disk.yandex.ru/d/-SZBwNOKIZjCPg Поиграть -> https://apero.ru/Текстовые-игры/ПРИМЕР-РУЛЕТКИ (либо скачать код -> https://disk.yandex.ru/d/-SZBwNOKIZjCPg )

Надеюсь, что код этой игры вы разберёте сами (в комментариях), либо открыв в его редакторе Аперо. И все способы прохождения игры тоже. Это будет вашим домашним заданием.

4. Очередной Кликер, но на этот раз мы сражаемся против монстров. Каждый следующий сильнее предыдущего. На втором круге их жизни возрастают вдвое. На третьем - втрое и т.д. Поиграть -> https://apero.ru/Текстовые-игры/ПРИМЕР-ИГРЫ-В-КОСТИ (либо скачать код -> https://disk.yandex.ru/d/FXAxp9BBo19M3A )

Объясняю как работает код (ориентируясь по строчкам):


(3) \ЕСЛИ (Выбор=0) \ТО \(x=x+1) \(z=z+1) \(y=1) \(Жизни=1+x) \ЕСЛИ (z>1) \ТО \(Жизни=Жизни*z) - здесь мы объявляем сразу четыре переменных. Они все (x,y и z) используются в качестве счёта.


Через переменную Z мы увеличиваем сложность вдвое, после победы всех 6 монстров. Переменная Y определяет порядковый номер Монстра из Массива1. И за подсчёт (локальной) переменной Выбор, отвечает Х. Так же на первом ходу, когда (локальная) переменная Выбор всё ещё равна нулю.


Условие \ЕСЛИ (z>1) \ТО \(Жизни=Жизни*z) срабатывает только после того, как ВЫБОР=0 И Z>1, т.е. только после победы над 6 врагами. Внимание на строчку 10... И условие.


(6) \(Массив1=("Cлизь";"Зомби";"Гопник";"Упырь";"Вампир";"Горыныч")) \(Имя=Массив1(y)) - мы объявляет Массив, куда вносим шесть слов. После, присваиваем переменной ИМЯ слово из Массива1. Какое именно это будет имя, мы узнаем текущего значения (числа) переменной Y. Если Y=1, то это будет имя Слизь. Если Y=6 это Горыныч.


(8) Монстр - \(Имя) [br] Кол-во: \(z) || \(Жизни) HP \(Жизни=Жизни-1) - выводим на экран (игрока) текст сообщения и плюс снижаем здоровье на единицу. И Да, это мы снижаем здоровье (наносим удар) с помощью переменной ещё до удара, а не кнопка (БИТЬ) при нажатии игроком. Пусть это будет наш маленький секрет.


(10) \ЕСЛИ (Выбор=11 И Жизни=2) \ТО \(Старт(0), Бить) \(x=0) \ИНАЧЕ \(Старт(x), Бить) - будьте внимательны. Здесь находятся сразу две кнопки БИТЬ, одна из них срабатывает - когда при Выборе=11 (у 6-го Монстра) здоровье опускается до 2-ух единиц. Если это условие соблюдено, то мы делает Выбор равным НУЛЮ и обнуляем переменную Х. В противном же случае (99% времени) мы будет нажимать на вторую кнопку БИТЬ, которая опять же ссылает на (локальную) переменную Выбор.


Я советую тебе (добавить в код) строчку \(Выбор) | Y\(y) | X\(x) | Z\(z) , чтобы ты смог научиться понимать как изменяются переменные (из-за твоих действий), при нажатии на кнопку.


(11) \ЕСЛИ (Жизни<2) \ТО \(x=x+1) - когда здоровье монстра падает до единицы, мы увеличиваем Х на единицу. После чего игрок нажимает на кнопку БИТЬ (Нанести Удар по Монстру) и думает, что это он убил монстра (на самом деле нет). Именно через счётчик ИКСА, мы и увеличиваем (локальную) переменную Выбор через Кнопку БИТЬ.


(4) \ЕСЛИ (Выбор=2 ИЛИ Выбор=4 ИЛИ Выбор=6 ИЛИ Выбор=8 ИЛИ Выбор=10) \ТО \(Жизни=1+x) \(y=y+1) \ЕСЛИ (z>1) \ТО \(Жизни=Жизни*z) - к (локальной) переменной Выбор, мы попадаем после нажатия на Кнопку БИТЬ. Если Выбор=2, то X=2 и Y=2 - Зомби. Если Выбор=4, то X=4 и Y=3 - Гопник и т.д. 6-4, 8-5, 10-6...


Если условия соблюдены, то мы увеличивает Жизни Монстра на Х хп. И наращиваем на один Y, чтобы сменить ИМЯ из Массива1. Так же, если Z= больше одного (т.е. мы убили больше 6 монстров и пошли убивать их по второму кругу), то увеличиваем Жизни Монстра вдвое (если Z=2), Втрое (если Z=3 и это уже третий круг) и т.д.


Дальше мы идём по кругу, бъём (через Кнопку Бить) до тех пор (пока жизни монстра не будут равны единице) и меняем его на следующего. 

Что мы сделали? Добавили ещё 7-ых Монстров (я выделил их). И для из-за каждого Монстра добавили в 4-ую строчку по переменной. Когда у нас было 6 Монстров, последним было Выбор=10. Теперь у нас их 13, и Выбор=24. При 20шт, Выбор будет равен 38. И конечное условие, 13*2-1=25 или 20*2-1=39.

Если у тебя возникнут вопросы, то на сайте есть подробная документация (как надо работать с кодом) -> https://apero.ru/Документация . Новичкам всегда готовы помочь старожилы проекта. А именно:

1) Александр -> https://vk.com/san90

2) Михаил -> https://vk.com/stalkersleem

3) Дмитрий -> https://vk.com/drkcrwn

4) Михаил2 -> https://vk.com/id17130734

5) Пашка Какашка -> https://vk.com/glumpa

Показать полностью 15
5

Рыба моей мечты #4 или моя первая игра за 10 минут

Как и было обещано, сегодня мы напишем нашу первую полноценную игру на Аперо. А что такое Аперо? - Это простой язык для онлайн программирования с русским синтаксисом. На русском там все команды и сам код. На его освоения хватит и 10 минут.

Давайте замахнёмся на РПГ в открытом мире. И так, что нам для этого понадобится?

- Ну во-первых, мы нарисуем свою (небольшую) карту нашего мира.

- Затем, мы придумаем способ, как нам по карте можно будет ходить.

- Добавим случайные активности, что-то вроде стычек с бандитами.

- Целью нашего обучения будет выйти через из леса полного опасностей.

Обозначим наше местоположение кругом. А возможные места для выхода, ромбами. При передвижении по горизонтали и вертикали, наше местоположение будет смещаться относительно координат Х и Y. И теперь, имея на руках карту пути, мы можем представить её в качестве кода. Код -> https://disk.yandex.ru/d/qSwy3rWcqAdXZg

Но как нам дать понять игроку, что он уже вышел из леса и его обучение закончено? Всё очень просто, мы добавим некоторые условия, при срабатывании которых и будет выводиться сообщение об этом (а игроку запрещено будет больше куда-либо двигаться). Код -> https://disk.yandex.ru/d/UPFH3WJoHe1hJg

Так, стоп! А что если нам нужно будет как-то (искусственно) ограничить передвижения игрока локации? - Отвечаю: Тогда для каждой клетки на поле, нам придётся создать свою собственную перемеренную, с указанием куда игрок может ходить, а куда нет. И так, 1 - можно идти, 0 - идти нельзя. Выглядеть всё это будет примерно так. Код -> https://disk.yandex.ru/d/0p-6qKqqikI3iw

Увеличить размер карты не составит большого труда, надо лишь поменять пару строк кода и больше ничего. И всё будет работать как и прежде (до этого). Код -> https://disk.yandex.ru/d/HY3eE9QN1egWAA

Помимо этого, вам никто не запрещает встроить в код примитивные бои (скажем, засады бандинтов из прошлого урока). Путешествующих торговцев, случайные квестовые события, города (завязанные определённые координаты X и Y), прокачку героя и много чего ещё.

Если у тебя возникнут вопросы, то на сайте есть подробная документация (как надо работать с кодом) -> https://apero.ru/Документация . Новичкам всегда готовы помочь старожилы проекта. А именно:

1) Александр -> https://vk.com/san90

2) Михаил -> https://vk.com/stalkersleem

3) Дмитрий -> https://vk.com/drkcrwn

4) Михаил2 -> https://vk.com/id17130734

5) Пашка Какашка -> https://vk.com/glumpa

Показать полностью 12
28

Рыба моей мечты #3 или кодим на Аперо своими руками

- Ну, кто на новенького? Уноси готовенького. В процессе изучения АПЕРО (в прошлый раз), с Викториной мы вроде как немного освоились. Теперь настал черёд тяжёлой артиллерии. Как на счёт Петушиных Боёв, слышали о таком? Код игры ->  https://disk.yandex.ru/d/9V_ZVP_aJzHQlw

Усложним задачу, добавив больше переменных, чтобы на выходе получить героев из ДОТА2. У каждого из них разные начальные характеристики и способности растущие от уровня. Одни блокируют часть входящего урона (Щит), у вторых есть вампиризм (Вамп), у третьих полное игнорирование брони противника (Тан) и т.д. Код игры -> https://apero.ru/Текстовые-игры/Arepo-Auto-Chess

Если тебя интересует Ролевые (RPG) Игры, вполне можно сделать достойную прокачку. Когда за убийство очередного монстра тебе начисляют опыта. В общем, размах игры обычно ограничен только твоей фантазией. Код Игры -> https://apero.ru/Текстовые-игры/Мертвец-или-стихийный-колдун...

Конечно, игру такого масштаба за один день не сделать. Но за одну-две недели, почему бы и нет? Правда, я бы рекомендовал новичкам с чего-то полегче... Например, с карточных игр или своего казино. Создать своё КАЗИНО на самом деле очень и очень просто. Следите за движениями рук, только магия и никакого мошенничества. Код Игры -> https://disk.yandex.ru/d/HDDnW0RgILDeeQ

С одноруким бандитом (слот-машиной) разобрались. Что на счёт игры в кости? Да, да, вы не ослышались! - Старой доброй игры в кости, когда при броске кубиков подсчитывается их итоговый результат. Код Игры -> https://disk.yandex.ru/d/uhUN_5nzpnjF8w

Или можно попробовать свои силы с рулеткой? Бросаем шарик и смотрим что нам выпало. Код Игры -> https://disk.yandex.ru/d/AIy9-jH3zVvYyg

Ну вот мы и добрались до игры в карты. Используем все выученные нами ранее уроки, чтобы раздать по 6 карт на 4-ёх игроков. Поехали! Код Игры -> https://disk.yandex.ru/d/CidYlScDIrsO5g

Что ещё можно создать на Аперо? Да что угодно, те же Крести-Нолики например. Надо лишь построить таблицу 3х3 и добавить простенький искусственный интеллект, который будет реагировать на наши действия (ходы). Код Игры -> https://apero.ru/Текстовые-игры/Х-О

Если у тебя будут вопросы, на сайте есть подробная документация (как надо работать с кодом) -> https://apero.ru/Документация . Новичкам всегда помогают старожилы проекта АПЕРО в нашей группе в ВК -> https://vk.com/games_online. А именно:

1) Александр -> https://vk.com/san90

2) Михаил -> https://vk.com/stalkersleem

3) Дмитрий -> https://vk.com/drkcrwn

4) Михаил2 -> https://vk.com/id17130734

5) Пашка ГГ -> https://vk.com/glumpa


В следующий раз мы разберём весь код полноценной игры "Лабиринт".

Показать полностью 14

Рыба моей мечты #2 или создаём игры на АПЕРО в 2 клика

Кто хочет сегодня поработать? Шаг вперёд. Неужели среди вас таких нет? А как же учиться, учиться и ещё раз учиться. Нечего потреблять готовый контент с попкорном в руках. Пора создать его своими руками. Поверь, это тоже весело. Пройдёт всего пару десятков минут, и ты научишься программировать на Аперо (бесплатно, без смс и регистрации).

И так, какие же жанры простых игр будут нами сегодня изучены?
1. Викторина, это когда человеку надо ответить на заданный вопрос.
2. Карточные игры, рулетка, игровые автоматы, казино и пр.
3. Пошаговые бои, сражение между двумя и более бойцами.
4. Настольные игры и прочие симуляторы броска кубика.
Ну что, уже заварили себе кружечку крепкого чая? Тогда мы начинаем.

Основа Основ или Моя Первая Игра созданная на коленках. Перед нами чистый лист, на котором мы (с тобою) можем написать что угодно. Давай так и поступим!

Мы ввели текст - Привет Мир, сохранили его и запустили игру. С этим может справиться даже ребёнок. Усложним задачу, и добавим переход между двумя локациями.

Тут мы делаем сложный выбор в пользу Шоколадки или Мороженного. Скачать код отсюда -> https://disk.yandex.ru/d/iRKXagDB04PYyw | А вот ещё один пример, когда Мама ставит нас перед фактом.

Обидно конечно, но мороженное было тоже вкусное. И в принципе, этого уже достаточно, чтобы ты смог создать свою первую простенькую текстовую игру и похвастаться знаниями в программирования перед друзьями %) -> Пример кода, https://disk.yandex.ru/d/ZvB3Eoc-WcJOaA

Нет, стойте, чего-то тут явно не хватает! Знаю, фотографии Кота-Дурака, сейчас добавим.

Я просто загрузил рисунок своего кота на сайт FastPic.ru и затем добавил ссылку на неё в свою игру. Ну как, нравится мой Кот-Дурак со своей семьёй? Сам рисовал. Вот код на игру -> https://disk.yandex.ru/d/Le1keFxZ9vw1Dw

Размяли мозги? Приступаем к созданию настоящих игр! Кстати, я так и не спросил твоего имени. Погоди, не отвечай, дай я сам угадаю. Я буду звать тебя Сашей, так и запишем.

Саша (если это и вправду твоё имя), не обижайся, я же просто пошутил. Код игры -> https://disk.yandex.ru/d/TWypB_e5QWApIQ | Ещё ввод имени можно использовать для игры в Викторину. Выглядеть она будет примерно так.

\(АПЕРО.ввод.локация="Логика") -> Наша локация, на которую мы будем переходить.
\(АПЕРО.ввод.подсказка=число+"Одна из двух бед") - Это наш текст подсказки.
\ВВОД(Число1,"") - А вот сюда мы пишем свой ответ на вопрос.
Если наш ответ это Дорога, то мы победили. Если же нет, то мы проиграли.
Пример игры есть на сайте https://apero.ru/Текстовые-игры/ПРИМЕР-ВИКТОРИНЫ

Как и у людей, у наших соперников (в игре) тоже должны быть свои имена. И нам надо как-то их сгенерировать, правильно? Но с чего начать? - Правильно, с создания массива имён.

У нас есть Массив, куда мы и вносим нужные нам имена.
Следом, мы Рандомно выбираем случайное имя из списка.
Присваиваем название переменной Имя. И выводим его.
В моём случае (этим рандомным) именем оказалось Умка.

Очередной пример, как можно использовать имена в предложении (при написании текстовой истории). Запустить игру лично и посмотреть код, можно здесь -> https://apero.ru/Текстовые-игры/Пример-Случайные-Имени-для-Н...

В следующий раз я расскажу вам, о:

- Карточные играх, рулетка, игровые автоматы, казино и пр.

- Пошаговых боях, и сражение между двумя и более бойцами.

- Настольных играх и прочие симуляторы броска кубика.


Далее будут ссылки на:
1. Мою первую статью -> Рыба моей мечты #1 или как написать онлайн-игру за 36 часов
2. На сайт АПЕРО -> https://apero.ru/

Создавайте игры на АПЕРО и да прибудет с вами сила.
Показать полностью 22
8

Рыба моей мечты #1 или как написать онлайн-игру за 36 часов

Я это сделал! Нет, правда, я написал свою первую (компьютерную) онлайн игру. (Честно говоря даже не одну, а сразу две. Но об этом немного позже) Поздравьте меня. Это были самые весёлые 36 часов в моей жизни. И так, с чего бы начать? - Помните игру "Морской Бой", за которой в школе мы коротали свои часы. А ведь помимо "Морского Боя" (не считая крестиков-ноликов) был ещё и "Лабиринт". Вспомнил о нем совершенно случайно, недавно наткнувшись на тематический пост -> Настольная игра на бумаге - Лабиринт

---

Правила игры просты, мы рисуем 2 поля 10х10 клеточек (пока всё так за же как в "Морском Бое"), только заместо кораблей на 1-ом поле строим свой лабиринт. На 2-ом же мы будем проходить лабиринт соперника.

Как создать свою первую игру за 36 часов? - спросите вы меня. Я знаю, вы сюда пришли только за этим. Одного желания мало, нужна ещё и мотивация. Мы с товарищем (Антоном) пошли ва-банк, и почти одновременно (в тот же день) сели делать каждый свою игру. Да, это будет обзор сразу на две игры на тему "Лабиринта" (на мою и его игру). А вы - читатели Пикабу, уже сами решите, кто из нас победил.

Начало моей истории. Вопрос, на чём писать игру даже не стоял. Конечно же на АПЕРО. Ведь нет ничего проще, - думал тогда я. И взяв за основу свой говно-код пятилетней давности (могу оставить его в закрепе), я приступил к работе над игрой (по сути с нуля). Прошло ещё немного времени и главное меню к вечеру пятницы было готово...

А чего вы так на меня смотрите? - Ну захотел я добавить в игру в Английский язык, с кем не бывает? (Это мне ещё аукнется, запомните) Меню-то готово, а как на счёт самих лабиринтов? Вы когда-нибудь рисовали лабиринты? Я пять лет назад только на три лабиринта потратил неделю другую. Сейчас же мне предстояло за оставшиеся выходные не только придумать ещё семь штук, но и исправить старый говно-код (написанный целиком через ЕСЛИ ... ТО). Миссия не ВЫПОЛНИМА. Поехали. 

На утро следующего дня (когда у меня было готово только меню), мой товарищ гордо отчитался о проделанной работе. У него уже была готова игра целиком (тут плакать хочется, а вы смеётесь). Утро субботы, надо хотя бы что-то да сделать. Завариваю крепкий кофе, включаю компьютер и минут пять смотрю на своё главное меню. А про себя думаю думаю,- Какой же я всё-таки молодец. Открываю Paint, начинаю рисовать Лабиринты (пока что самые-самые простые)

Кружок у меня это старт пути, а треугольнички это выход из лабиринта. Идея сделать "Зеркальный Лабиринт" пришла ко мне не из-за моей природной лени. Нет, вы только не подумайте. Это концепция - "Подкрутка Колеса Фортуны" так сказать. Когда игрока, в какую сторону бы он не пошёл, всё равно ждёт победа. Да и для удержания аудитории "фишка" тоже будет полезна. А вот и пример Финального 10-го Лабиринта, опять же зеркального (с телепортами).

Возможность игры по сети между 2 игроками, отмёл сразу. Ну кто в здравом уме будет играть в это? - Да и ещё вдвоём, по сети!? Тут бы не зашквариться перед пацанами, а то ещё так не поймут. Будешь потом под шхонкой в общем петушатнике кукарекать...


Дальше пришлось писать ИИ для Мастера, который будет "вести за собой" игрока. Получилось своего рода настольная игра, когда перед своим ходом игрок бросает кубик и в зависимости от его грани получает ответ - куда можно идти, а куда нет (+ ложные ответы). Ещё и кол-во ходов тоже (интереса ради), ограничено. Если игрок сильно тупит и не слушает то что ему говорит кубик (Мастер), он быстро умирает.

Примерно вот так выглядит игровое меню. Сверху название Лабиринта, затем пройденный вами путь. Он кстати дублируется в PathMap (Карта Пути). Игра полностью на русском. Скрины просто готовые уже были давно, и не охото мне всё переделывать дважды. Уж такой я человек.

На счёт второй игры (которую сделал Антон), о ней можно даже и не вспоминать. Совсем уж невзрачная, похвалить не за что.

- Искусственного Интеллекта нету.

- Играть в одно рыло тоже нельзя, только вдвоём.

- Лабиринт ты обязан строить сам и каждый раз новый.

- Второго игрока ещё попробуй найти и уговори...

Да что я тут перед вами распинаюсь, рассказываю что-то, сами смотрите:

Какие-то кубики, палочки, стрелочки. Всё серо, уныло и не интересно. Тьфу, отвернусь даже. Смотреть больно. И ты хочешь меня победить вот с этим? (Махнул рукой, прочь окоянный)

Его меню. Играть одному нельзя, никак. Тебе придётся открыть сначала одну,  а потом и вторую вкладку браузера, и играть самому против себя любомого... Метаясь по-очерёдно между обоими окнами!!! ЭТО ТАК ВЕСЕЛО!!! Вы себе не представляете...

1) В мою онлайн игру можно зайти с телефона, планшета, компьютера

https://apero.ru/Текстовые-игры/Испытание-Лабиринтом


2) Игра Антона тоже не плоха (была бы, если бы в неё добавили одиночный режим)

https://dropwork.ru/maze .


А вот и пост об его игре, Наслаждайтесь (нет)

Ответ на пост «Настольная игра на бумаге - Лабиринт»

Показать полностью 10
Отличная работа, все прочитано!