Автор | Сообщение |
|
| |
Пост N: 742
Зарегистрирован: 20.04.07
Откуда: Россия))), Питер
|
|
Отправлено: 13.09.08 18:40. Заголовок: match3
Я создаю матч3 игру. Решил создавать движок сам. Проблема вот в чем: я начал со смены "кристаллов" местами. Позициями они меняются, вот обратно на свои не возвращаются (только в первый раз). http://dump.ru/file/1057076 Зы : если выбрать только 1 объект и нажать пробел - выдает ошибку.
|
|
|
Ответов - 16
[только новые]
|
|
|
| |
Пост N: 12
Зарегистрирован: 10.05.08
Откуда: Россия
|
|
Отправлено: 14.09.08 02:41. Заголовок: FatPir пишет: Позиц..
FatPir пишет: цитата: | Позициями они меняются, вот обратно на свои не возвращаются (только в первый раз). Зы : если выбрать только 1 объект и нажать пробел - выдает ошибку. |
| //OBJECT: obj_control //EVENT: Left Pressed //CODE: if (global.number=0) //if (global.number==0) { global.selest_first=gem_type; sel=1; global.number=1;//устанавливаем, что 1 объект выбран instance_create(x,y,sel_first)//создаем объект, показывающий какой кристалл выбран break } if (global.number=1) //if (global.number==1) { if ((x=sel_first.x+64) || (x=sel_first.x-64) || (y=sel_first.y -64) || (y=sel_first.y+64) ) { global.selest_second=gem_type; sel=2; global.number=2;//устанавливаем,что 2 объект выбран instance_create(x,y,sel_second)//создаем объект, показывающий какой кристалл выбран вторым } } if (global.number=2) //if (global.number==2) { break //ни че не делаем если 2 объекта уже выбранно } //OBJECT: obj_control //EVENT: <Space> //CODE if (global.number=2) //И НаХРена это присвоение двойки здесь??? if (global.number==2) { if (sel= =1) { gem_type=global.selest_second } if (sel= =2) { gem_type=global.selest_first } } if (global.number==1) { ForFP=show_message_ext("Координаты sel_second не определены, т.к. образец не создан, ибо левый клик не произведен и переменная number не проинициализирована двойкой","Че за херня?:(","ОК","GAME OVER") if(ForFP==1) while(true) show_message("Координаты sel_second не определены, т.к. образец не создан, ибо левый клик не произведен и переменная number не проинициализирована двойкой") if(ForFP==2) game_restart() if(ForFP==3) game_end() }
|
|
|
|
Отправлено: 14.09.08 08:56. Заголовок: !NTosKRNL пишет: //..
!NTosKRNL пишет: цитата: | //И НаХРена это присвоение двойки здесь??? |
|
В Гамаке проверку можно проверять и одним знаком, и присваиванием это не считается (когда в скобках).
|
|
|
|
| |
Пост N: 13
Зарегистрирован: 10.05.08
Откуда: Россия
|
|
Отправлено: 14.09.08 10:08. Заголовок: Lagevae пишет: В Га..
Lagevae пишет: цитата: | В Гамаке проверку можно проверять и одним знаком, и присваиванием это не считается (когда в скобках). |
| тогда гамак не позволил бы проверить наличие переменной при переданном значении в условии. && || ^^: комбинация Булевых значений (&& = and, || = or, ^^ = xor) < <= == != > >=: сравнение, результат истинный (1) или ложный (0) | & ^: поразрядные операторы (| = поразрядный или, & = поразрядный and, ^ = поразрядный xor) << >>: поразрядные операторы (<< = shift left, > > = shift right) + -: сложение, вычитание * / div mod: умножение, деление, целочисленное деление и по модулю Кинь ссылку не место в хелпе, где указана возможность проверки на равенство знаком присваивания в Game Maker!
|
|
|
|
Отправлено: 14.09.08 10:10. Заголовок: !NTosKRNL это в С++ ..
!NTosKRNL это в С++ так
|
|
|
|
| |
Пост N: 14
Зарегистрирован: 10.05.08
Откуда: Россия
|
|
Отправлено: 14.09.08 10:15. Заголовок: Flooty пишет: это в..
Flooty пишет: Да, и в Гамаке тоже
|
|
|
|
Отправлено: 14.09.08 10:34. Заголовок: ошибаешься в гамаке ..
ошибаешься в гамаке свой язык - GML он только похож на С++ так же как и LUA или Питон
|
|
|
|
| |
Пост N: 15
Зарегистрирован: 10.05.08
Откуда: Россия
|
|
Отправлено: 14.09.08 10:52. Заголовок: Flooty пишет: ошиба..
Flooty пишет: цитата: | ошибаешься в гамаке свой язык - GML он только похож на С++ так же как и LUA или Питон |
| свой язык GML похож на С++, Lua и Питон, но, заметь, имеет мало общего с синтаксисом интерпретаторов бейсика. Укажи, где я писал, что гамак транслирует скрипты С++ и не похож на Луа?
|
|
|
|
Отправлено: 14.09.08 11:18. Заголовок: !NTosKRNL пишет: Ки..
!NTosKRNL пишет: цитата: | Кинь ссылку не место в хелпе, где указана возможность проверки на равенство знаком присваивания в Game Maker! |
|
Там нигде не написано, но он проверяет. Возьми да проверь, если не веришь.
|
|
|
|
| |
Пост N: 745
Зарегистрирован: 20.04.07
Откуда: Россия))), Питер
|
|
Отправлено: 14.09.08 11:45. Заголовок: я обычно кновками по..
я обычно кновками пользуюсь, так что в ГМЛе не силен, но помойму он выполняет провепку одним знаком.FatPir пишет: цитата: | Зы : если выбрать только 1 объект и нажать пробел - выдает ошибку. |
| как это устранить я знаю просто неспешил.
|
|
|
|
| |
Пост N: 16
Зарегистрирован: 10.05.08
Откуда: Россия
|
|
Отправлено: 14.09.08 11:54. Заголовок: Lagevae пишет: не н..
Lagevae пишет: цитата: | не написано, но он проверяет |
| Если в момент верификации твоя переменная равна значению X, а Код гласит, что if(Lagevae=X) { //... } то происходит ПРИСВАИВАНИЕ значения Х переменной Lagevae с дальнейшей проверкой наличия переменной Lagevae в памяти. Естественно, ничего не изменится, и будет выполнен блок после проверки Если же в момент верификации твоя переменная равна значению Y, то переменной Lagevae также присвоят значение X, произойдет проверка переменной на наличие и будет выполнен блок кода после проверки. Естественно, при этом Lagevae уже не будет равен Y и проверки на равенство НЕ ПРОИЗОЙДЕТ. Это же основы скриптинга на Game Maker!
|
|
|
|
Отправлено: 14.09.08 12:16. Заголовок: !NTosKRNL пишет: Ес..
!NTosKRNL пишет: цитата: | Если в момент верификации твоя переменная равна значению X, а Код гласит, что if(Lagevae=X) { //... } то происходит ПРИСВАИВАНИЕ значения Х переменной Lagevae с дальнейшей проверкой наличия переменной Lagevae в памяти. Естественно, ничего не изменится, и будет выполнен блок после проверки Если же в момент верификации твоя переменная равна значению Y, то переменной Lagevae также присвоят значение X, произойдет проверка переменной на наличие и будет выполнен блок кода после проверки. Естественно, при этом Lagevae уже не будет равен Y и проверки на равенство НЕ ПРОИЗОЙДЕТ. Это же основы скриптинга на Game Maker! |
|
Мда? http://dump.ru/file/1058102
|
|
|
|
|
| |
Пост N: 746
Зарегистрирован: 20.04.07
Откуда: Россия))), Питер
|
|
Отправлено: 14.09.08 13:59. Заголовок: да какая разница. !N..
да какая разница. !NTosKRNL может твой синтаксис и правильней, но нги чего не меняет. Проблема то в том что они по своим местам не возвращаются!
|
|
|
|
| |
Пост N: 2013
Зарегистрирован: 23.06.06
|
|
Отправлено: 14.09.08 14:19. Заголовок: люди, пользуйтесь де..
люди, пользуйтесь дебагом, он для кого придуман?
|
|
|
|
| |
Пост N: 748
Зарегистрирован: 20.04.07
Откуда: Россия))), Питер
|
|
Отправлено: 14.09.08 14:48. Заголовок: Ban Forever да поль..
Ban Forever да пользоваться пользуюсь, но решить проблему не могу.
|
|
|
|
| |
Пост N: 18
Зарегистрирован: 10.05.08
Откуда: Россия
|
|
Отправлено: 14.09.08 15:08. Заголовок: :sm54: Ппц... GML ..
Ппц... GML не позволяет дать значение переменной в ходе проверки. Lagevae спс за пример FatPir пишет: цитата: | твой синтаксис и правильней |
| Да нет, в GML можно и так, и эдак. Бьярна с Маркусом попутал.
|
|
|
|
Отправлено: 14.09.08 16:41. Заголовок: !NTosKRNL пишет: Бь..
!NTosKRNL пишет: цитата: | Бьярна с Маркусом попутал. |
|
Та ничо, бывает =)
|
|
|
|