Сейчас 11:26 Пятница, 3 мая, 2024 год
Главная Форум Файлы Cтатьи Обои FAQ(Вопросы/Оветы) RSS ВойтиЗарегистрироваться
Меню сайта
Категории
Рельеф [0]
Декорации [0]
Обьекты [2]
Области [0]
Камера [0]
Триггеры [2]
JASS [1]
Импорт/Экспорт [4]
WorldEdit [0]
Разное [9]
Опросы
Кого выберешь??
1.
2.
3.
Всего ответов: 70
На сайте
Всего на сайте: 1
Гостей: 1
Пользователей: 0
Лучшие по статьям
[ RoBoT1 ][ 15 ]
[ Frozen ][ 9 ]
[ Camokat ][ 1 ]
[ iiepii ][ 0 ]
[ Bablon ][ 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)
Просмотров: 645 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа
uNet отключен
Логин:
Пароль:
Поиск
Случайный обой
[ Размеры: 900x675 | 182.0Kb ]
[ Рейтинг: 0.0 | 0 ]
Случайный файл
[13.08.2009][Войска]

Пожиратель Неруба
Новые файлы
[31.08.2010][Dota Allstars]
6.68 Trailer
[26.08.2010][Другое]
Русификатор для триггеров World Editor
[15.06.2010][Наработки]
MovingSystem
[15.06.2010][Наработки]
Control System
[12.06.2010][Наработки]
Грозовой эффект v09
[07.06.2010][Другие карты]
Escape Builder
[04.06.2010][Другие карты]
Steel Saviaur v2.12
[03.06.2010][Создание карт]
WC3 Model Editor
[30.05.2010][Войска]
Dryad (WoW)
[30.05.2010][Войска]
Bog Beast (WoW)
Статистика
Яндекс цитирования
Rambler's Top100
Материалы

Коментариев:
113
Обоев:
554
FAQ:
27
Форум(Тем/Сообщ.):
3776/4083
Файлы:
333
Новостей: 271
Статей: 23
Тестов: 1