Jump to content
Sign in to follow this  
  • entry
    1
  • comments
    0
  • views
    43

Урок 1. Введение в SourcePawn

Sign in to follow this  
JDW

25 views

Всем привет, я решил запустить цикл уроков по SourcePawn (SourceMod). Уроки будут состоять из двух частей, где в первой части будут основы языка, а во второй части мы уже научимся создавать плагины. Вторая часть будет в видео формате.

Типы данных:

Тип данных (встречается также термин вид данных) — фундаментальное понятие теории программирования. Тип данных определяет множество значений, набор операций, которые можно применять к таким значениям и, возможно, способ реализации хранения значений и выполнения операций. Любые данные, которыми оперируют программы, относятся к определённым типам.

В языке имеются следующие основные типы данных: 

  • int (целочисленный);
  • bool (логический);
  • float (дробный);
  • char (символ);
  • void (пустота) 

Типы данных нужны для того, чтобы обозначить, что хранит в себе переменная или возвращает функция.

Переменные:

Переменная - поименованная, либо адресуемая иным способом область памяти, адрес которой можно использовать для осуществления доступа к данным и изменять значение в ходе выполнения программы.

Инициализация:

int a = 5;

Здесь создаем переменную, где присваиваем(при инициализации) значения: 5.

int b;
b = 10;

Здесь создаем переменную, где после инициализации присваиваем значения: 10.

Хочу заметить, что при инициализации переменной, где мы не задаем значение - будет равняться 0.

Модификаторы:

Модификатор - это ключевое слово языка, которое может каким-либо образом изменить смысл некоторого определения (например, класса или метода).

В языке имеются следующие модификаторы:

  • normal (Модификатор, который говорит о том, что функция доступно в рамках текущего плагина);
  • public (Модификатор, который говорит о том, что данную функцию можно вызвать извне (Например: из другого плагина);
  • static (Модификатор, который говорит о том, что функция доступна в пределах текущего документа (файла);
  • stock (Модификатор, который говорит о том, если функция или переменная не будет использоваться, то она не будет включена в готовый вариант (скомпилированный плагин);
  • native (Модификатор, который говорит о том, что данная функция относится к прототипу функции, которая создается другими плагинами);
  • forward (Модификатор, который говорит о том, что данная функция относится к прототипу функции и является глобальным событием вызываемым другими плагинами.

Функции: 

Функция - фрагмент программного кода (подпрограмма), выполняющий определенные действия, к которому можно обратиться из другого места программы.

Прототип функции - это объявление функции, не содержащее тела функции, но указывающее имя функции, арность, типы аргументов и возвращаемый тип данных.

public void OnPluginStart() // Функция без параметров.
{
 	 //Тело функции.
	int c = Add(5, 10); // В переменную C будет записано 15. В фунцию Add передаем два аргумента.
}

int Add(int a, int b) // Функция с параметрами.
{
	return a + b; // Возвращаем сумму параметров.
}

Оператор return: 

return; // Завершает функцию. (Используется, для выхода из фунции. Используется, если тип возвращаемого значения: void).
return значение; // Завершает функцию и при этом возвращает значение.

Массивы: 

Массив - структура данных, хранящая набор значений, идентифицируемых по индексу или набору индексов, принимающих целые значения из некоторого заданного непрерывного диапазона.

Индекс – номер элемента массива.

int a[12]; 
int b[5] = {5, 10};
int c[] = {6, 8, 9};

Создаем массив с именем: "a", состоящий из 12 элементов (пустой массив).

Создаем массив с именем: "b", состоящий из 5 элементов, где первые два элемента будут равняться 5 и 10.

Создаем массив с именем: "c", состоящий из 3 элементов. Здесь мы не указываем количество элементов, так как компилятор сам установит количество элементов.

Доступ к элементам массива осуществляется по индексу. Первый элемент в массиве имеет индекс 0.

Мы можешь создавать массивы, если заранее не знаем, сколько в нем будет элементов.

int count = 10;

int[] a = new int[count];

a[0] = 5;
...

Создаем массив a состоящий из 10 элементов.

Строка - это массив символов(char).

char str[] = "Hello, world"; 

char str2[32];
str2[0] = 'H';
str2[1] = 'e';
str2[2] = 'l';
str2[3] = 'l';
str2[4] = 'o';
str2[5] = ',';
str2[6] = ' ';
str2[7] = 'w';
str2[8] = 'o';
str2[9] = 'r';
str2[10] = 'l';
str2[11] = 'd';

char str3[32];

str3 = "Hello, world";

Условные операторы:

if(условие)
{
	...
}
else if(условие2)
{
    ... 
}
else //иначе (если условия не сработали)
{
	... 
}

int a = 5;

if(a == 5)
{
	... 
}
else if(a == 10)
{
	... 
}
else 
{
 	... 
}
switch(выражение)
{
    case: ...
    {
      
    }
    
    case: ...
    {
      
    }
}

int a = 5;

switch(a)
{
	case 5:
    {
     	...
    }
  	case 6:
    {
      
    }
  	default: //в любом случае выполнится, если мы не попадем ни в один из case.
    {
    	... 
    }
}

Циклы:

for(действие до начала цикла; условие продолжения цикла; действия в конце каждой итерации цикла)
{

}
while(условие продолжения цикла)
{

}
do
{
    
} 
while(условие продолжения цикла);

//То же что и while, но проверка условия выполняется уже после выполнения итерации. Это гарантирует хотя бы одно выполнение цикла.

Операторы для работы с циклами:

  • continue; - Пропускает выполнение текущей итерации цикла.
  • break; - Прекращает выполнение цикла и возвращает управление.

На этом урок мы закончим, в следующем уроке мы с Вами рассмотрим, что такое препроцессор, константы, структуры и перечисления, а также, что такое область видимости переменных.

Всем удачи в начинаниях!

Sign in to follow this  


0 Comments


Recommended Comments

There are no comments to display.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...