Що таке змінні?
Змінні - це області пам'яті, які можуть зберігати значення. Вони грають важливу роль в програмуванні, тому що дозволяють програмістам писати програми зручніше. В змінні можна зберігати майже будь-який вид даних. Вони дозволяють вам зберігати бойових одиниць, що виграє гравця, тип бойової одиниці або навіть текстові рядки. Збереження інформації в змінні дозволяє вам використовувати їх пізніше. Наприклад, ви хочете записати в змінну, скільки бойових одиниць вбив гравець. Тоді вам знадобиться змінна типу "целочисленная". Також можна записати гравця, який убив найбільша кількість бойових одиниць на протязі гри, використовуючи змінну типу "гравець".
Установка значень змінних.
Значення змінної може бути встановлено в будь-який час гри. Ви можете задати значення важливих змінних на початку гри. Пізніше ви можете задавати інші змінні в міру потреби, наприклад коли відбувається будь-яка подія. Повторюся, значення змінної можна змінити завжди. Задати значення змінної можна тригерним дією "Set Variable".
Змінні-масиви - це змінні, які можуть містити кілька значень. Будь-яка змінна, яку ви створюєте, може бути масивом. Для цього поставте галочку в поле "Масив". Кожне значення такої змінної має свій індекс, свій порядковий номер. Мінімальний індекс - 0. Індекс використовується для звернення до елементів масиву. Він дозволяє отримати доступ до будь-якого значення масиву. Наведу приклад - у мене є змінна-масив типу "рядок", яку я назвав "Fruits". У тригері ініціалізації карти я задам різні значення цього масиву, щоб пізніше їх використовувати.
Пізніше, під час гри, якщо я захочу сказати гравцеві, щоб він збирав груші, я буду використовувати Fruits [] наступним чином:
Також я можу циклом вивести назви всіх фруктів таким чином:
Використання логічних змінних.
Логічні змінні використовуються, щоб знайти відповідь на одне і більш твердження. Значення таких змінний може бути тільки одне з двох - "Так" або "Ні". Приклад затвердження - "Мій зріст - 10 футів або дерево впало". У свою чергу, твердження може бути істинним ( "Так") або хибним ( "Ні").
Вище ми розглядали глобальні змінні. Локальні змінні мають відміну від них - вони можуть бути використані тільки в функції, в якій вони оголошені. Наприклад, вам потрібно тригер, який би запускався щоразу при вбивстві бойової одиниці. Якщо ви використовуєте стандартну глобальну змінну, то тригер, можливо, перезапише змінну з померлою бойовою одиницею, якщо він запуститься ще раз при смерті кого-небудь ще. Відповідно, правильно тригер вже не спрацює, тому що значення змінної було змінено.
Або, припустимо, у вас є тригер, який воскрешає героїв, в якому вмираючий герой записується в глобальну змінну. Якщо при воскресінні одного героя загинув другий, то в глобальну змінну занесе цього героя, а герой, який був перед ним, буде втрачено.
Щоб створити локальну змінну, вам знадобиться використовувати JASS. Додайте дію "custom script" в тригер і напишіть в ньому:
Custom Script: local unit Revive_Hero
Щоб задати значення цієї змінної, знову знадобиться Custom Script. Додайте в свій тригер ще одну дію "Custom script" і напишіть в ньому:
Custom script: set Revive_Hero = GetTriggerUnit ()
Потім знову знадобиться JASS, щоб воскресити героя. Напишемо ще один Custom Script:
Custom script: call ReviveHeroLoc (Revive_Hero. GetRectCenter (GetPlayableMapRect ()), true)
Запам'ятайте - локальні змінні не показуються в стандартному інтерфейсі і саме тому слід використовувати JASS для управління цими змінними.
Список типів змінних.