Game Maker - создание игр | HellRoom Games
Декабрь 13, 2024, 22:02:03 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Войти
Новости:
 
   Начало   Game Maker Помощь Правила форума Поиск Календарь Войти Регистрация  
Страниц: [1]   Вниз
  Печать  
Автор Тема: Несколько советов о том, как не допускать ошибок, быстро находить и исправлять  (Прочитано 20493 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Hummer
scio me nihil scire
GM Pro user
*

Репутация: 335
Offline Offline

Пол: Мужской
Награды:
2000 сообщений!За постоянность! [100 дней на форуме]За лояльность! [+300 репутации]Знаток Game Maker!За помощь новичкам!
API: Game Maker 8.0 Pro
Деятельность: GML, С++, OpenGL, Java. Бывший Директор бывшей школы GML
Сообщений: 2573


« : Февраль 09, 2011, 18:21:48 »

Приветствую всех в своей новой статье!
Подобная тема уже есть, но это соблюдая советы этой статьи возможно та вам и не понадобится.

Обо всём по порядку.
Как же не допускать ошибок?
Я не буду рассказывать о сложном составе ИИ, о багах и глюках. Я дам дельные советы и очень подробно опишу как не допускать синтаксических ошибок, то есть ошибок в коде.
1) Ставьте открываюшие и закрывающие знаки одновременно, таким образом вам не придётся считать их и при запуске не вылезет такая ошибка
Код:
Symbol , or ) expected
Например запишем поступенно такой код
Для начала пишем условия
Это - каркас проверки (оператора if)
Заметили? Если я поставил открывающую скобку ( или { , то обязательно должен сразу поставить закрывающую ) или }. Исключений нет!
Затем, записываем условие в скобках (), коренное действие в первой части и действие в else, так как в нём запутаться нереально  
При этом я постоянно соблюдаю правило №1.
Затем поступенно, солюдая правила приду к исходному коду.
Это же самое правило действует и на кавычки ' ' и " "

2) Не используйте незнакомые функции, функции, вызывающие сомнение или с непонятным количеством аргументов. Лучше ещё раз убедиться в справке (F1 или в русской версии)
Пример распространённой ошибки:
Код:
show_message_ext('Сообщение', 'Ответ')
обычно думают, что если ничего не написано, то кнопки не будет. Но! Читаем в справке
Так что будьте внимательны  ;)!

3) Поставьте автоматическую проверку кода
С ней вы сразу увидите где ваша ошибка (выделение красным цветом).

Как быстро найти ошибку?
1) Той же самой проверкой кода, но если вы нажмёте на строку, на которой написан состав ошибки, то курсор переместится в место ошибки.
2) Если у вас, допустим много скриптов, то проверить сразу все можно: Скрипты->Проверить все скрипты


Как быстро исправить ошибку?
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

Надеюсь статья пошла только на пользу  

Удачи в программировании
« Последнее редактирование: Август 06, 2011, 20:02:04 от Vendet » Записан

Есть вещи, которые нельзя объяснить. Для всего остального есть Справка
Рандом-рандом-рандомище (с)

C++ & OpenGL
MegaDimon
GM Pro user
*

Репутация: 74
Offline Offline

Пол: Мужской
Награды:
1000 сообщений!За постоянность! [10 дней на форуме]
API: GameMaker Studio Pro
Деятельность: Gml, Pixel Art
Сообщений: 1260


CreaQtrex


« Ответ #1 : Февраль 09, 2011, 18:27:22 »

о спасибо за статью Уважуха
Записан
Vendet
Гл. Администратор
*

Репутация: 772
Offline Offline

Пол: Мужской
API: Unity 3D
Сообщений: 3949


HellRoom Games


WWW
« Ответ #2 : Февраль 09, 2011, 18:40:33 »

У меня дежавю или такая статья уже была на форуме?   ::)
Ну а так  Уважуха за статью  ;)
Записан
Hummer
scio me nihil scire
GM Pro user
*

Репутация: 335
Offline Offline

Пол: Мужской
Награды:
2000 сообщений!За постоянность! [100 дней на форуме]За лояльность! [+300 репутации]Знаток Game Maker!За помощь новичкам!
API: Game Maker 8.0 Pro
Деятельность: GML, С++, OpenGL, Java. Бывший Директор бывшей школы GML
Сообщений: 2573


« Ответ #3 : Февраль 09, 2011, 18:41:43 »

Спасибо))

Если никто не против, нет ошибок или претензий, то может прикрепить статью?

Добавлено: Февраль 09, 2011, 18:42:17
PS Если такая статья и была, то писал точно не я)
Записан

Есть вещи, которые нельзя объяснить. Для всего остального есть Справка
Рандом-рандом-рандомище (с)

C++ & OpenGL
VeGaS
«Старожил форума»
******

Репутация: 270
Offline Offline

Пол: Мужской
Награды:
2000 сообщений!За постоянность! [200 дней на форуме]За лояльность! [+150 репутации]3 место за игру: AntiZombie (Конкурс Золотые Руки)1 место: Звание лучшего дизайнера (Февраль 2011)За добавление полезных программ!
API: GameMaker Studio Standard
Сообщений: 2018



« Ответ #4 : Февраль 09, 2011, 19:25:38 »

хорошая статья.
Записан
DeatHSoul
GM Pro user
*

Репутация: 236
Offline Offline

Пол: Мужской
Награды:
За постоянность! [50 дней на форуме]FAQ для начинающих & Сленг и ТерминологияЗа лояльность! [+150 репутации]За помощь новичкам!Знаток Game Maker
API: GameMaker Studio Standard
Сообщений: 478


« Ответ #5 : Февраль 10, 2011, 19:54:27 »

Неплохо, только побольше бы советов...   sideways
Записан
Hummer
scio me nihil scire
GM Pro user
*

Репутация: 335
Offline Offline

Пол: Мужской
Награды:
2000 сообщений!За постоянность! [100 дней на форуме]За лояльность! [+300 репутации]Знаток Game Maker!За помощь новичкам!
API: Game Maker 8.0 Pro
Деятельность: GML, С++, OpenGL, Java. Бывший Директор бывшей школы GML
Сообщений: 2573


« Ответ #6 : Февраль 10, 2011, 19:57:24 »

Дополню, как раз собирался 
Записан

Есть вещи, которые нельзя объяснить. Для всего остального есть Справка
Рандом-рандом-рандомище (с)

C++ & OpenGL
punisherd24
Новичок
*

Репутация: 0
Offline Offline

Пол: Мужской
API: 8.0 Pro
Сообщений: 10

Ыыыы...


« Ответ #7 : Февраль 15, 2011, 19:22:01 »

Круто  ;)
Записан
SkeeD
Участник
****

Репутация: 11
Offline Offline

Пол: Мужской
API: GameMaker Studio Free
Деятельность: GML C#
Сообщений: 101

GameMaker Studio


« Ответ #8 : Август 06, 2011, 19:27:48 »

исправь во 2 спойлере esle а то так и напишут
Записан

DeatHSoul
GM Pro user
*

Репутация: 236
Offline Offline

Пол: Мужской
Награды:
За постоянность! [50 дней на форуме]FAQ для начинающих & Сленг и ТерминологияЗа лояльность! [+150 репутации]За помощь новичкам!Знаток Game Maker
API: GameMaker Studio Standard
Сообщений: 478


« Ответ #9 : Август 08, 2011, 21:18:45 »

Это можно было в личку написать.  :-\
Записан
Dr.Freeman
Посетитель
**

Репутация: 2
Offline Offline

Пол: Мужской
API: GameMaker Studio
Деятельность: GML, C++, 3D GameDev, HL Mapping, Mods, Level Design etc..
Сообщений: 30

god of black mesa


WWW
« Ответ #10 : Ноябрь 09, 2012, 01:51:47 »

Думаю тут не хватает правил хорошего тона(стиля). Например блок с кодом:
указанный в статье не удобен, поэтому легко допустить ошибку из-за психологического фактора, когда все скобочки плывут от своего количества, особенно если вложений больше. Например:
Ничего не понять, какая скобка к какой принадлежит, считать их закрытости открысти брррр.. сам чуть не запутался.
А вот если учитывать правила хорошего тона в программировании, которое описывается во всех книжках программирования, то такой проблемы не будет. Легче будет читать текст и вам и другим людям + меньше досадных ошибок из-за плавающих скобок в глазах. Я делаю вот так:
Я использую табуляцию и визуальную расстановку скобок, не правда ли проще. Использование данной статьи и подобных правил, залог ещё одного кусочка успеха))

Мне кажется тут я не видел уроков о хорошем тоне  Хм... Хоть самому пиши  

Не кого не учу, это только ИМХО
Записан

Страниц: [1]   Вверх
  Печать  
 
Перейти в:  

HellRoom Games © 2006-2012 All Rights Reserved
Powered by SMF 1.1.21 | SMF © 2013, Simple Machines
Страница сгенерирована за 0.111 секунд. Запросов: 33.