Опросы |
Через какой поисковик вы нашли наш сайт?
Всего ответов: 12
|
На сайте | Всего на сайте: 7 Гостей: 7 Пользователей: 0
|
|
| | |
|
Основные операторы
Кроме функций бывают еще операторы. Для не программистов лучше всего пояснять это понятие на примерах.
Все
математические действия и сравнения (сложение, вычитание, умножение,
равенство, больше / меньше и т. д.) - операторы. Здесь особо нечего
рассказывать.
Оператор присваивания - с его помощью переменной
присваивается значение. Тут все довольно просто: выбираем переменную,
выбираем значение. Однако возможные функции и переменные (из которых
Вы выбираете) будут разными в зависимости от типа выбранной переменной.
То есть, целочисленным переменным можно присвоить одни значения,
переменным юнитам - другие. Случайно присвоить числу юнита в таком
случае почти невозможно.
Условный оператор - с его помощью можно
"разветвлять" алгоритм, чтобы в одном случае он сработал одним образом,
а в другом - другим. Для этого есть условный оператор, у которого есть
"условие" (как условие в триггере) - если оно истинно, то алгоритм
"пойдет" по одному ветвлению, если оно ложно - по другому. Ветвления
называются then (в случае истинны) и else (в ложном). Окошки выбора условий и действий стандартные. Приведем
пример. (Иногда я буду делить пример на несколько строк, хотя реально в
триггерах так не делается. Это чисто ради того, чтобы Вам было удобнее
читать.) If ((Race of Player 1 (Red)) Equal to (==) Human) then do (Player - Add 200 to Player 1 (Red) Current gold) else do (Player - Add 500 to Player 1 (Red) Current gold)
Если раса первого игрока - альянс, то ему добавится 200 золото, в ином случае добавится 500.
Примечание:
в Варкрафте есть два вида таких операторов: с одним действием на каждое
разветвление и с несколькими (любым кол-вом). Я рекомендую пользоваться
вторым. Вообще не понятно, зачем было делать такой оператор с одним
действием на ветвление?.. Хотя иногда это выглядит красивее в коде. Сами операторы действуют абсолютно одинаково, даже с точки зрения оптимизированности кода.
Цикл мы будем рассматривать подробнее далее в этой статье. Но их есть несколько видов, хотя суть не меняется.
Примечание:
в триггерах есть один-единственный вид цикла - for. Правда, есть
возможность сделать и while, и repeat, но с помощью внедрение
маленького кусочка кода JASS, который совсем не трудно сделать
(минимальных знаний по JASS хватит). Не забывайте, что есть "оператор"
custom text, который можно вставлять прямо в код, в том числе и в тело
цикла... туда-то мы и можем написать условие выхода цикла.
Skip
Remaining Actions - как видно из названия - пропускает оставшиеся
действия в триггере. Не запутайтесь - завершает работу именно триггер,
а не какой-нибудь отдельный цикл / разветвление.
Описанное выше
уже дает Вам некоторую базу, чтобы начать изучать триггеры
самостоятельно (никто не собирался полностью описывать все триггеры).
Но триггеры - своеобразное программирование, в котором Вы
программируете саму игру - её правила, параметры и т. д. А
программирование требует не только знаний, но и определенного мышления.
Даже если Вы знаете назначение большей части триггеров, Вам надо найти
им правильное применение. Одну и ту же задачу можно осуществить разными
путями, и нужно искать самый лучший (рациональный). Задача второй части
статьи - помочь Вам в этом.
|
Категория: Разное | Добавил: RoBoT1 (12.08.2009)
|
Просмотров: 670
| Рейтинг: 0.0/0 |
Добавлять комментарии могут только зарегистрированные пользователи. [ Регистрация | Вход ]
| |
| | |
|
Случайный обой | [ Размеры: 800x600 | 54.9Kb ] [ Рейтинг: 0.0 | 0 ] |
Случайный файл | [06.12.2009] | [Другие] | Отличные шрифты из WarCraft III и World of WarCraft
|
|
|