Теоретическое занятие №2

Скриптовый язык GML.
Цель: – Рассмотреть основные правила работы с языком GML. 

План лекционного занятия:
·        основной синтаксис;
·        логические выражения;
·        математические операторы;
·        оператор if;
·        циклы;
·        функции.

Продолжительность теоретического  занятия: 2 академических часа.

Основной синтаксис
Язык программирования – интерфейс, который говорит компьютеру, что и как делать, язык общения человека с компьютером. Человеческая логика преобразуется в компьютерную, а язык программирования выполняет роль посредника.
Игра – программа. Отсюда следует вывод: все правила соблюдаемые при создании программ, должны соблюдаться и для игр.
1. Синтаксис должен быть отформатирован («чистый» код). Это не для компьютера, но для удобства чтения.
2. Комментируйте свой код, чтобы не забыть потом что есть что.
В GML комментарий можно оставить двумя способами:
·                   комментирует строку после "//":
//пример комментария
·                   комментирует блок от "/*" до "*/":
/*
пример комментария
*/
Очевидные действия комментировать не стоит.
3. Давайте узнаваемые имена своим переменным.
ammo = 30; а не am = 30;
primary_reload_ammo = 15; вместо pra = 15;
Программа
Блок программы выделяется фигурными скобками:
{
//код
}
В фигурных скобках определяется место действия. Если есть какой-то оператор, он будет действовать в ограниченных Вами рамках, в фигурных скобках.
Переменные хранят часть информации в памяти. Например, число или текстовую строку. Обращение к переменной производится по имени.
Пример:
ammo = 15; //здесь мы создали переменную ammo и присвоили ей значение 15.
k = 0; //здесь мы создали переменную k и присвоили ей значение 0.
k = ammo; /*здесь мы присвоили переменной k значение переменной ammo. И k теперь 15.*/
Логические выражения
Логические выражения необходимы для того, чтобы выразить логические суждения. Чаще всего они употребляются в условиях, но ими можно оперировать не только там.
&& – И – AND

0
1
0
0
0
1
0
1
т.е. если оба выражения верны, то выражение верно.
Пример: "Принеси мне яблоко И грушу". Если Вам принесут и то, и другое, Вы будете довольны. В противном случае – недовольны.
|| – Или – OR

0
1
0
0
1
1
1
1
         т.е. если одно из выражений верно, то выражение верно.
Пример: "Принеси мне яблоко ИЛИ грушу". Вы будете недовольны только, если Вам ничего не принесут.
^^ – Исключающее или – XOR.

0
1
0
0
0
1
0
0
         т.е. если выражения разные, то общее выражение верно.
Логические выражения могут быть:
·     Удовлетворение – true – 1 – правда.
·     Неудовлетворение – false – 0 – ложь.
Для сравнения данных необходимы операторы. Операторы бывают 2 типов:
·     Унарные – это те операторы, которые используют только одно выражение.
·     Бинарые – это те операторы, которые используют только два выражения.
Операторы сравнения (Бинарные):
> 
Больше
>=
Больше либо равно
==
Равно
!=
Не равно
<=
Меньше либо равно
< 
Меньше
Пример сравнения: k > m (k больше m), l == 50 (l равно 50).
Математические операторы
Для математических расчётов используются свои операторы.
Бинарные:
+
Плюс, сложение
-
Минус, вычитание
*
Умножение
/
Деление
Div
Целочисленное деление
Mod
Оставляет остаток от деления
x mod y = x – (x div y) * y
Пример: x + y, x / 2 + 1, 1280 div 3.
Также можно: x += 1; это тоже самое что и x = x + 1;
y *= 7; ↔ y = y * 7;
z /= 2; ↔ z = z / 2;
x -= 1; ↔ x = x – 1;
Унарные:
Унарный оператор работает лишь с одним выражением.
!
Не, Переводит true в false, а false в true
-
Отрицает выражение
(59 = –59)
~
Отрицает выражение побитно

Пример: !50, –50, ~50.
Не стоит путать (50 – 50) и (–50): в данном случае минусы выполняют совершенно разные функции.
Оператор If
Оператор If используется для сравнения двух выражений.
Общий вид:
if(<выражение>)
{
//выполняется это утверждение, если выражение верно
}
Или:
if(<выражение>)
{
//выполняется это утверждение, если выражение верно
}
else
{
//выполняется это утверждение, если выражение неверно
}
Если выражение одно, то его можно не обрамлять фигурными скобками.
Циклы
Циклы с предусловием предполагают, что сначала будет верно выражение, затем выполняется цикл пока выражение снова не станет ложным. Т.е. цикл может никогда не выполнится.
Общий вид:
while(<выражение>)
{
//если выражение верно, то выполняем цикл.
//выражение должно изменится на неверно, иначе будет вечный цикл.
}
Цикл с постусловием предполагает, что сначала выполняется цикл, а затем повторяется пока верно выражение. Т.е. цикл выполнится, по крайней мере, один раз.
Общий вид:
do
{
//выполняем 1 раз цикл, затем
//если выражение верно, то выполняем цикл.
//выражение должно изменится на неверно, иначе будет вечный цикл.
}
until(<выражение>)
Цикл со счетчиком выполняется n количество раз. Этот цикл представляет собой дополненный цикл с предусловием.
Общий вид:
for(<инициализация>; <условие продолжения>; <операция>)
{
//выполнение
}
Функции
В Game Maker два типа функций:
1) Встроенные.
2) Скриптовые. Т.е. написанные Вами собственноручно.
Функция, сама по себе, – отдельная программа. Она может иметь несколько аргументов, а может и не иметь вовсе. Функция может возвращать какое–то значение, а может и не возвращать.
Функция выполняет роль минипрограммы, которая часто встречается в нашей основной программе. Например, функция по высчитыванию расстояния между точками – будет использоваться Вами очень часто. Функции играют очень большую роль в программировании. В Game Maker они очень полезны, а некоторые незаменимы. Они помогают сократить размер программы, повысить удобность.
Написание функций очень непростое занятие, оно требует точного разграничения задачи.

Комментарии