Синтаксис GML в сравнении с Pascal - Game Maker - Конструкторы игр, системы разработки игр
Навигация по сайту
Сайт:

Дополнительно:

Файловый архив:

Каталог статей:

Форум:


Категории раздела
Game Maker [27]
Flash [3]
FPS Creator X9, X10 [1]
Scirra Construct [14]
Multimedia Fusion [0]
001 Game Maker, Map 001 [0]
3D RAD [16]
3D Game Studio [1]
Silent Walk FPS Creator [0]
Blender (Блендер) [1]
Game Editor [0]
Остальное [1]
Все остальное, что не попадает ни под одну категорию.

Мини-Опрос
Чем вы пользуетесь для создания игр?
Всего ответов: 488

Партнеры сайта
....

Синтаксис GML в сравнении с Pascal

20:15
Game Maker Language. Синтаксис

Плюсы
По сути, GML является упрощенной версией нескольких языков программирования. К нему довольно близок Pascal, но отсечены ненужные корни.
Так, например, здешний синтаксис не требует точек и точек с запятой после каждой команды, а подпрограммы создаются с помощью {}, а не громоздких begin/end. Это позволяет быстро писать код, не отвлекаясь на то, что вам не нужно, не занимаясь ловлей багов, созданных непостановкой одного крошечного знака. Не считается ошибкой и не заданная в начале программы переменная.
Наглядный пример:
Pascal:
program p1;
var a:integer;b:real;c:string;
begin
a:=13;
b:=0.25;
c:='Текст';
end.

GML:
a=13 b=0.25 c='Текст'

Изменения величины переменной тоже стали проще. Достаточно написать a+=13, чтобы добавить 13 в ячейку переменной а, тогда как в случае с Pascal дело обстоит так: a:=a+13. Это экономит время при больших названиях переменных.

В чем подвох?
Пользуясь упрощенным синтаксисом, не стоит забывать о сортировке и упорядочивании кода. Иногда легко можно запутаться в коде при написании большого или даже компактного скрипта: фигурные скобки и остальные "знаки пунктуации" в один символ могут помешать нам разобраться в собственном коде, если дело было давно.
Наглядный пример:
if random(3)<=1 {if a=b {if b>20{c=3 d=100} else {c=2 d=300}} else {e=341 f=22}} //OH SHI~

Как упорядочить код?
Пользуйтесь той большой клавишей, что у вас есть над правым шифтом. Проще, говоря, разбивайте цельный код на разные строки: это позволить быстро менять код и находить баги.
Оставляйте комментарии. То, что находится за //, может вам здорово помочь. Иначе когда-нибудь можно столкнуться с проблемой разбора кода полугодичной давности. Кроме того, это полезно, если работаешь в команде или создаешь код для других: возможно, они все-таки уследят за ходом вашей мысли.
Наглядный пример:
if random(3)<=1 //В одном случае из трех
{
if a=b { //Если оружие героя равно оружию противника
if b>20{c=3 d=100} //И при этом здоровья меньше 20хп, патроны героя равны трем, противника - 100
else {c=2 d=300} //И при этом здоровья больше/равно 20хп, патроны героя равны двум, противника - 300

}
else {e=341 f=22} // Меняем кол-во пятен крови на лице ГГ и количество травинок в радиусе поражения
}

Что же в результате?
Мы имеем простой и эффективный скриптовый язык. Это действительно здорово, особенно когда времени мало, а энтузиазма хватает. Через некоторое время навыки могут отточиться до такой степени, что за написанием кода можно вообще не следить, создавая замысловатые конструкции на ходу. Удачи!

Категория: Game Maker | Просмотров: 1988 | Добавил: Скорп (15.10.2012) | Рейтинг: 0.0/0
HTML ссылка на материал:
BB ссылка на материал:
Похожие материалы :
Возможно вам будет интересно:
Решение проблемы с перевернутыми гранями (1)
Урок для начинающих по Game Maker v8 (платформенная игра) (1)
Создание Платформенной Игры Copyright 2001 by Mark Overmars (0)
Функции D3D в Game Maker (2)
Создание рикошета пуль от стены (4)
Создание 3D игр на Game Maker (3)
Создание меню и паузы (0)
Физика (Blitz 3D) (0)
Создание RTS игры (2)
Создаем платформер. Scirra Construct (4)
Серия уроков по 3d Rad (0)
Как рисовать спрайты в DXDraw DelphiX (0)
С чего начать создание игры для начинающих? (13)
Пишем игровой сюжет (10)
Переменные в ГМ (0)
Всего комментариев: 1
1 solon-press   (27.05.2016 21:37)
Интересно

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Мы в социальных сетях

Поиск
Поиск по всему сайту:
Поиск по разделу:

Панель пользователя
Здравствуйте, Гость


Ник:
Пароль:
Запомнить :

Ваш IP: 54.167.231.97

Случайные конструкторы

Случайные движки

Случайные статьи

Статистика
Онлайн всего: 3
Гостей: 3
Пользователей: 0

На сайте были:
ZiP , mozg-s , dimaCyberpunk , marina85

При полном или частичном копировании материалов сайта ссылка на Make-Games.ru обязательна. Make-Games.ru © 2008 - 2017 Хостинг от uWeb
Топ Разработка игр Рейтинг@Mail.ru