Урок 2. Основы PAWN.
Итак, сегодня мы с вами поговорим о языке ПАВН. Если кто-то каким-то Макаром вдруг знает С и С++ то этот урок можно не читать.
Прежде чем начать, я советую скачать с сайта amxmodx.org последнюю версию AMXX Studio— это конечно не самый лучший в мире редактор, но это ведь лучше, чем блокнот, не правда ли?
1. Файл плагина Разрешение исходника ПАВН - *.SMA (2008: В принципе может быть любой текстовый файл) Как вы наверно уже догадались, его можно открыть блокнотом, если вдруг у вас нет АМХХ Студии
2. Комментарии Любой участок кода, содержащий перед собой двойной прямой слеш (//) считается комментарием, и при компиляции игнорируется, например:
// Это комментарий, он не будет считываться
Если надо закомментировать более 1 строчки, то можно использовать комбинацию символов /* чтобы открыть комментарий, и */ чтобы закрыть (в принципе можно на каждой строчке поставить //, эффект будет тот же), например:
/* Строчка 1 Строчка 2 Строчка 3 Это комментарий */
3. Добавление инклудов (include) Инклуд – это директива препроцессора. В этой директивe указывается путь к заголовочному файлу (текстовые файлы в папке ‘include’) в котором содержатся прототипы функций (объявления, declaration) и различные константы
Чтобы добавить Инклуд, нужно написать:
#include // Этой строкой мы указали плагину использовать амх мод
Полный список заголовочных фалов вы можете найти в вышеуказанной папке.
(Пояснения для любопытных: при компиляции в плагин будут добавляться объявления только тех функций, которые были непосредственно использованы в коде, так что бвают случаи, когда приходится подключать заголовочный файл ради одной полезной функции)
4. Создание новых переменных Для создания переменных используется зарезервированное слово NEW. Следующих основных типов: 1. Целый тип 2. Вещественный тип
3. Булев тип (значение может быть только ‘true’ или ‘false’)
Пример:
new z new Float:f new bool:some_bool= true /* Объявляем логическую переменную и присваиваем ей значение «правда» */
5. Добавление констант (define, const) Константа – переменная, значение которой нельзя изменять.
Задать к. можно 2 способами:
1) Через дефайн (тоже директива препроцессора, при компиляции указанные здесь константы заменяются в коде соответствующим значением. ВНИМАНИЕ! Данная запись фактически не является константой):
#define CONST 5 #define FCONST 5.0 #define SCONST ‘5’
2) Или через new:
new const CONST2 = 5 // Значение задать обязательно!!!!
По правилам прграммистской этики принято писать имена констант заглавными буквами, но никто не заставляет вас этому следовать
6. Массивы
Массив - это структура данных одного типа, распологающихся в памяти в определенном порядке
массив задается следующим образом:
new имя_массива[размерность_массива]
индексация элементов начинается с 0 и заканчивается числом размерность_массива - 1
обращение к элементам массива аналогично обращению к переменной, только необходимо указывать индекс элемента в квадратных скобках:
new a[10]
...
a[0] = 0 // Здесь допустимые индексы от 0 до 9
Массивы могут быть 3х основных типов указанных выше по тексту.
Рассмотренные в примере массивы называются одномерными. Но, технически, массивы могут быть любой размерности - за каждую новую отвечает пара квадратных скобок:
new b[10][10] // Двумерный массив размерностью 10х10 (100 элементов)
Массив может быть сразу инициализирован при объявлении:
new a[10] = {0,1,2,3,4,5,6,7,8,9}
7. Строки (неполная информация)
Строка по своей сути является массивом символов и задается таким же образом. Массив строк по своей сути является двумерным массивом. Строки так же могут быть инициализированы при объявлении:
new name[32]
new str[] = "Some string, huh"
new strs[5][] = {"111","222","333","444","555"}
P.S. Если будет вдохновение еще чего-нибудь добавлю в эту статью :)
AlMod© 2008 год (правленная) |