Приветствую всех в своей новой статье!
Подобная
тема уже есть, но это соблюдая советы
этой статьи возможно та вам и не понадобится.
Обо всём по порядку.
Как же
не допускать ошибок?
Я не буду рассказывать о сложном составе ИИ, о багах и глюках. Я дам дельные советы и очень подробно опишу как не допускать
синтаксических ошибок, то есть ошибок в коде.
1) Ставьте открываюшие и закрывающие знаки одновременно, таким образом вам не придётся считать их и при запуске не вылезет такая ошибка
Symbol , or ) expected
Например запишем поступенно такой код
if(a=5)
{
show_message(string(point_direction(x*(y-2), y, x*x, y*(x-2)))
}
else
{
game_end()
}
Для начала пишем условия
Это - каркас проверки (оператора if)
Заметили? Если я поставил открывающую скобку
( или
{ , то обязательно должен сразу поставить закрывающую
) или
}. Исключений нет!
Затем, записываем условие в скобках (), коренное действие в первой части и действие в
else, так как в нём запутаться нереально
if(a=5)
{
show_message()
}
else
{
game_end()
}
При этом я постоянно соблюдаю правило №1.
Затем поступенно, солюдая правила приду к исходному коду.
Это же самое правило действует и на кавычки ' ' и " "
2) Не используйте незнакомые функции, функции, вызывающие сомнение или с непонятным количеством аргументов. Лучше ещё раз убедиться в справке (F1 или в русской версии)
Пример распространённой ошибки:
show_message_ext('Сообщение', 'Ответ')
обычно думают, что если ничего не написано, то кнопки не будет. Но! Читаем в справке
show_message_ext(str,but1,but2,but3) Показывает диалоговое окно со строкой сообщения и до трех кнопок. but1, but2 и but3 определяют текст кнопки. Пустая строка означает, что кнопка не показывается. В строке Вы можете использовать символ &, чтобы указать, что следующая за ним буква будет использоваться как горячая клавиша для этой кнопки. Функция возвращает номер нажатой кнопки (0, если пользователь нажимает клавишу Esc).
Так что будьте внимательны ;)!
3) Поставьте автоматическую проверку кода
С ней вы сразу увидите где ваша ошибка (выделение красным цветом).
Как быстро
найти ошибку?
1) Той же самой проверкой кода, но если вы нажмёте на строку, на которой написан состав ошибки, то курсор переместится в место ошибки.
2) Если у вас, допустим много скриптов, то проверить сразу все можно: Скрипты->Проверить все скрипты
Лог ошибок - очень удобная вещь. Обладает всей информацией для нахождения ошибок. К примеру я сделал игру, и у меня ошибка
Рассмотрим её по прядку:
1) ERROR in
action number 1
Значит проблема в действии один.
Все действия в событии неявно нумеруются с помощью ГМ. Если у вас несколько действий (например 2 кода или код+кнопки) в однов событии, то они "нумеруются" по прядку, начиная с 1.
2)of Key Press Event for N-key Key
это уже больше информации: Значит ошибка в событии нажатия клавиши, и эта роковая клавиша - <N>.
3)for object object0:
Ну тут ещё яснее: событие нажатия клавиши содержится в object0.
4) Error in code at line 1:
xx+=5
^
at position 1: Unknown variable xx
Тут всё указано. Дан ошибочный фрагмент кода ("хх+=5"). Дана позиция, в которой ошибка (1) и тип ошибки ( Unknown variable ).
Теперь переходим в
эту тему. Нам говорят, что возможно просто переменная не объявлена. Проверяю... Точно!! Я просто забыл написать в событии Create
xx=0
;) Пользуйтесь логом ошибок
Как быстро
исправить ошибку?
1) Можно воспользоваться алгоритмом подсчёта. Подсчитаем, к примеру, сколько скобок надо дописать или убрать.
show_message(string(point_direction(x*(y-2), y, x+7*y, y-(x-2))
Пусть открывающая скобка = +1, а закрывающая = -1, то будет такая цепочка
1+1+1+1-1+1-1-1=2 а должно быть 0. Значит нужно дописать 2 закрывающие скобки ;)
Также и с фигурными ;)
Соблюдая эти несложные правила, программирование будет только в радость, и ваши проекты пойдут быстрее, ведь не придётся ждать ответа на форуме ;D
Надеюсь статья пошла только на пользу
Удачи в программировании