Как читать формульі
Пользователь
56 30
Cinque Terre
56
30
10.11.2024 17:00

гайд как прочитать вот ето: https://vsmuta.com/info/formula

Если вьі помните уроки информатики в школе вьі можите ето сделать и без етого гайда но если нет то можите освежит свою память сдесь.

Итак что нужно знать:

 

Коментари:

любой текст после символов "//"

Они ни начто не влияют, написаньі только ради лудшего понимания происходящего

Примерьі:

// Противник заблокировал удар и нет пробития блока

// Если мы оказались здесь, то будет нанесения урона по противнику

 

Константьі:

Любое числа

 

Переменьіе:

Переменьіе ето любой текст написан без пробелов. В перемоной сохраняется ее значение (какоето число например). Сам текст (имя переменой) можит бьіть любой и написан Димой для лудшего понимания назначения етой переменой.

Примерьі:

Урон // числововая переменая

🟢Есть_Уворот_Противника // булевая переменая

УвеличениеУсталости // числововая переменая

 

Типьі даньіх:

бьівают двух видов: числое и булевое. Числове ето любое число. Булевое может иметь только два значения "да" или "нет". Переменьіе булевого типа дима обозначает значками 🟢 или 🔴 перед ее названием. Числовного типа без значка

 

Операция присвоения значения:

обозначается символом "=" (не путать с "==" ето совсем другая операция)

Устанавливает значене переменой

Примерьі:

УвеличениеУсталости = 0 // Устанавливаем перемегой "УвеличениеУсталости" значение 0

Шанс = 10 // Устанавливаем перемегой "Шанс" значение 10

🟢Есть_Уворот_Противника = 📜 Формула Расчета Шанса на Уворот Противника() // Устанавливаем значение булевой переменой "Есть_Уворот_Противника" то значение что вернула формула расчета шанча на уворот. Тоесть "да" или "нет", увернулся противник или нет

 

 

Арифметические операции:

Все операции знакомьіе нам со школьі: сложение "+", вьічитание "-", умножение "*", деление "/". Операция между двумя числовьіми значениями, резулттатом операции есть число

Примерьі:

кэф = Удача + Влияние_Мф // До значения удачи добавляем значение переменой "Влияние_Мф" и сумму присвоиваем переменой "кэф"

Урон = Урон / 2 // значение переменой "Урон" делим на 2, затем результат присваиваем в ту же переменую "Урон"

 

Комбинация арифметической операции и присвоения

Записуются как "+=", "-=" и тд.

Примерьі:

УвеличениеУсталости += 0.65 // тоже самое что "УвеличениеУсталости = УвеличениеУсталости + 0.65" тоесть увеличить значение переменой "УвеличениеУсталости" на 0.65

Урон -= Мастерство_Противника * 1.5 // мастерство противника умножаем на 1.5 затем отнемаем от значения переменой "Урон", результат сохраняем в той же переменой "Урон"

 

операции сравнения:

Операции результатом которьіх будет булевое значение, тоесть "да" или "нет"

"==" проверка на равенство, ">" больше, "<" менше, ">=" больше или равно, "<=" менше или равно

Примерьі:

Cила% >= 45 // значение переменой "Cила%" больше или равна 45.

Уровень == 6 // уровень игрока равен 6

 

Булевьіе операции:

Их тут только одна: "и". Операция над булевьіми переменьіми. Результат булевое значение

Примерьі:

🟢Есть_Блок_Противника и 🟢Есть_Пробитие // если в переменьіх "🟢Есть_Блок_Противника" и "🟢Есть_Пробитие" то резльтут будет "да", во всех других случаях результат будет "нет"

 

  oOL1 ·   10.11.2024 17:00

0 0
Пользователь
56 30
Cinque Terre
56
30
10.11.2024 17:30

теперь сложнее

 

Ветвение:

Виглядит вот так: Если(🟢Условие) <операция>

если 🟢Условие "да" тогда вьіполняем <операцию> после скобки ")", если "нет" тогда ее игнорируем и идем дальше

Пример:

Если(Cила% >= 46) Урон -= (Сила - НаименьшийСтат) / 6 //если  значение переменой "Cила%" больше или равна 46 тогда от перееную "Урон" уменшаем на значение которьіе вьічисляем как "(Сила - НаименьшийСтат) / 6"

 

также могут использоватся фигурньіе скопки "{" ,"}" тогда вьіполняем все что в скопках

Пример:

Если(Усталость < Усталость_Противника)
{
     // если "Усталость" менше чем "Усталость_Противника" тогда исполняем все что в скопках
}

 

также может иметь такой вид:

Если(🟢Условие)
{

     // если условие "да" тогда исполняем все что в скопках
}
⛓️ // <- обратите внимание на значек
{

    // если "нет" тогда тогда все что в етих скопках
}

 

или такой:

 

Если(🟢Условие1)
{

   // если Условие1 "да" тогда исполняем все что в фигурньіх скопках и игнорируем все что в остальньіх скопках
}
⛓️
Если(🟢Условие2)
{

     // если Условие1 "нет", мьі смотрим на Условие2, если оно "да" тогда исполняем все что в а етих скопках
}
⛓️
{

    // Если Условие1 и Условие2 мьі "нет", тогда уже попадаем сида и исполняем все что тут

}

 

Укороченое ветвение:

🟢Условие ? Значение1 : Значение2

Если 🟢Условие "да" тогда берем Значение1, если "нет" тогда Значение2

Пример:

УвеличениеУсталости_Противнику += 🟢Есть_Блок_Противника ? 0.7 : 1.25 // если 🟢Есть_Блок_Противника "да" тогда увеличиваем значение переменой "УвеличениеУсталости_Противнику" на 0.7, если "нет" тогда на 1.25

Пользователь
56 30
Cinque Terre
56
30
10.11.2024 18:21

Ну и последние

 

Функии\формульі

Имеют вид: <иконка>Название(Параметр1, Параметр2)

Могут бьіть без параметров, типу: <иконка>Название()

Или без имени <иконка>(Параметр1, Параметр2)

 

Функции принимают на вход какието параметрьі (значения), чтото с ними делат и возвращают результат

 

Пример:

📜 Формула Расчета Шанса на Критический Удар()

📜 Формула Расчета Шанса на пробив блока(➡️ Есть_КритУдар)

🎲(1, 100)

🎲((Минимальный_Урон), (Максимальный_Урон))

 

 

Например, фунция генереции случайного числа:

🎲(x, y) // возвращяет случайное число от "x" до "y"

 

--------------------------------------------------

Попробуем прочитать и понять все что мьі уже прошли на какомто примере

Возьмем строчку с формул по сложней, например ету:

Если(🟢Есть_КритУдар и 🟢Есть_Уворот_Противника) 🟢Есть_Уворот_Противника = 🎲(1, 3) >= 2

 

Разберем ее по кусках:

Если(🟢Есть_КритУдар и 🟢Есть_Уворот_Противника) // если значение переменьіх 🟢Есть_КритУдар и 🟢Есть_Уворот_Противника "да", тогда

🎲(1, 3) // генерируем случайное число от 1 до 3. Тоесть 1, 2 или 3

🎲(1, 3) >= 2 // К полученому случайному числу применяем операцию сравнения ">=", получаем булевое значение. Тоесть если у нас сгенерироль 1 то результат будет"нет", если 2 или 3 тогда "да"

🟢Есть_Уворот_Противника = 🎲(1, 3) >= 2 // результат присваиваем булевой переменой 🟢Есть_Уворот_Противника

 

Тоесть, если перевести на человеческий язьік, звучит оно так:

Если нам прокнул крит а противнику уворот, то с вероятностю 33%, уворот противника отменяется

 

Пользователь
56 30
Cinque Terre
56
30
10.11.2024 18:55

Ну и еще один пример:

возьмем строчку и разберемся как устанавливается значение переменой 🟢Есть_Пробитие

🟢Есть_Пробитие = 📜 Формула Расчета Шанса на пробив блока(➡️ Есть_КритУдар)

 

Мьі видим что ее значение присваивается с функции "📜 Формула Расчета Шанса на пробив блока". Орбатите внимание что в функцию передается значение булевой переменой "🟢Есть_КритУдар", иконка ➡️ говорит нам об етом 

 

Дальше ищем саму функцию, и читаем:

Шанс = 10, // устанавливаем значение переменой "Шанс" в 10. Ето наша вероятность по умолчанию.
Если(Усталость < Усталость_Противника) // если наша усталость менше чем у противника тогда:
{
Шанс += (Усталость_Противника - Усталость), // увеличиваем "Шанс" на разницу усталости. Тоесть если усталось у нас 10 а у противника 30, тогда шанс будет увеличен на 20, тоесть иметь значение 30
}

 

Если(Шанс > 25) Шанс = 25, // ...если "Шанс" больше за 25, устанавливаем в 25. Ето наше максимальное значение

Если(🟢Есть_КритУдар) Шанс = 50, // ...если  значение переменой "🟢Есть_КритУдар" "да" (мьі ее передавали как параметр), тогда присваиваем "Шанс" значение 50

⬅️ Шанс >= 🎲(1, 100), // ... Генерируем члучайное значение от 1 до 100, сравниваем оператором ">=" с переменой "Шанс" и полученое булевое значение возвращаем как результат функции, иконка ⬅️

 

Ну и на человеческий:

Шанс пробить блок 10% и увеличивается на разницу вашей и противника усталости, но не больче чем 25%. Однако, если вьі кританули, то шанс пробить блок всегда равен 50%

 

Администратор
272 200
Cinque Terre
272
200
11.11.2024 09:04

Красава. Могешь. Все четко и по полочкам разложил.9(2).gif

Пользователь
205 44
11.11.2024 13:49

где взять гайд для прочтения гайда по формулам?
когда я учился и информатики как таковой не было в школьных предметах))

Пользователь
56 30
Cinque Terre
56
30
11.11.2024 14:55

Найду немного времени, распишу как работают формульі "человеческим язьіком" :)

Войдите на сайт, чтобы оставить ответ в теме

by Смутная Леди, 2022