Скриптовый язык 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
они очень полезны, а некоторые незаменимы. Они помогают сократить размер
программы, повысить удобность.
Написание функций очень
непростое занятие, оно требует точного разграничения задачи.
Комментарии
Отправить комментарий