|
[ На главную ] -- [ Список участников ] -- [ Правила форума ] -- [ Зарегистрироваться ] |
On-line: |
Game Maker Форум / Вопросы и Ответы (Для Начинающих) / операторы |
Страницы: 1 2 3 4 Next>> |
Автор | Сообщение |
гамеррр Группа: Участники Сообщений: 2 |
Добавлено: 07-11-2006 14:00 |
как пользоватся операторорами switch и return? Со-всеми остальными разобрался, а вот с этими никак. Справка мне не помогла. Поподробнее пожалуста! |
|
Nka Володька Группа: Сообщество GM Сообщений: 1648 |
Добавлено: 07-11-2006 14:37 |
switch(a) { case 1: show_message('Блок кода 1'); break; case 2: show_message('Блок кода 2'); break; case 3: case 4: show_message('Блок кода 3, 4'); break; default: //не case else, я исправил show_message('другое значение a'); break; } это равносильно: if (a=1 ) { show_message('Блок кода 1'); } else if (a=2) { show_message('Блок кода 2'); } else if (a=3) || (a=4) { show_message('Блок кода 3,4'); } else { show_message('другое значение a'); } то есть break значит выйти из цикла. а если не писать break, то будет выполняться все, что идет следующим. этот прием использован в case 3: case 4: вроде все толково объяснил. а про return я пока сам не изучил. Щас изучу и объясню |
|
Nka Володька Группа: Сообщество GM Сообщений: 1648 |
Добавлено: 07-11-2006 14:42 |
return используется, чтоб превратить скрипт в функцию: например скрипт, вычисляющий среднее арифметическое двух чисел(argument0 - первое число, argument1 - второе число, srarifm - имя скрипта): { return ((argument0+argument1)/2); } и теперь если ты напишешь в каком-нибудь событии код: { var a; a=srarifm(3,5); show_message(string(a)); } то в результате выполнения этого кода ты увидишь сообщение, в котором написано число 4, которое и является средним арифметическим чисел 3 и 5. |
|
DG Soft popww Группа: Администраторы Сообщений: 736 |
Добавлено: 07-11-2006 15:29 |
Я тоже чуть незнаю а именно | & ^: поразрядные операторы что еще за поразрядные операторы, что они делают? и куда воткнуть оператор continue |
|
splean магистр Группа: Сообщество GM Сообщений: 443 |
Добавлено: 07-11-2006 15:49 |
не заморачивайтесь, поразрядные операторы а-ля операторы сдвига и/или/исключающееили вам не нужны. а вот continue иногда поможет. Когда выполняется тело цикла, нам иногда может понадобиться, чтобы часть операторов внутри него не выполнялась, для прерывания выполнения текущего шага цикла используем continue и переходим на следующий шаг. вот если надо, чтобы bla1 выполнялось всегда, а bla2 не выполнялось когда счетчик i делился на три без остатака, делаем так. for (i=1;i<=10000;i+=1) { bla1; if i mod 3 = 0 then continue; bla2; } |
|
DG Soft popww Группа: Администраторы Сообщений: 736 |
Добавлено: 07-11-2006 15:55 |
про континуэ понятно спасиба а поразрядные операторы, всетаки хотелось бы узнать зачем они |
|
splean магистр Группа: Сообщество GM Сообщений: 443 |
Добавлено: 07-11-2006 16:23 |
знаешь как числа в двоичном представлении выглядят? 101100101001..... вот 1011 | 1001 = 1011 вроде. Т.е. берется поразрядно каждая единица или нолик и выполняется операция "или" в соотвествии с аргументами справа и слева от нее - единица это истина, 0 это ложь. Что-то в этом духе, в общем ) | |
Siozia маэстро Группа: Сообщество GM Сообщений: 723 |
Добавлено: 07-11-2006 16:35 |
вообщем писал-писал и ничего толкового не посоветовал Та-ак, соскучился по БАНе? ХОРОШ МАТЕРИТЬСЯ!!!!!!!!!!!!!!!!!! Еще одно предупреждение... FallWolF |
|
DG Soft popww Группа: Администраторы Сообщений: 736 |
Добавлено: 07-11-2006 17:36 |
|
|
DreamRunner магистр Группа: Сообщество GM Сообщений: 320 |
Добавлено: 07-11-2006 18:13 |
после return, так же как и после continue оставшийся код не выполняется. default: - аналог case, выполняется во всех остальных неуказанных в case условиях. |
|
DG Soft popww Группа: Администраторы Сообщений: 736 |
Добавлено: 07-11-2006 18:20 |
мг... так само и в с++ |
|
Nka Володька Группа: Сообщество GM Сообщений: 1648 |
Добавлено: 08-11-2006 08:19 |
блин, а я написал case else: вместо default: - как в VB | |
Ka1miK Тут могла быть ваша реклама Группа: Сообщество GM Сообщений: 1014 |
Добавлено: 08-11-2006 18:17 |
Я знаю чё это за тема, только вот НАфиг эта дискретная математика в ГМ вообще, где её можно использовать? А хотя наверно в кодирование, да в ХОR`e ведь используется, больше вроде нигде |
|
Nka Володька Группа: Сообщество GM Сообщений: 1648 |
Добавлено: 08-11-2006 21:35 |
Очень бывает нужна математика на ГМ | |
splean магистр Группа: Сообщество GM Сообщений: 443 |
Добавлено: 08-11-2006 22:33 |
Сьезька, аккуратнее :D Если ты ничего не понял, это твое дело. Поразрядные операторы это не только матлогика.. а хотя действительно, найдите еще им применение?.. |
|
Nka Володька Группа: Сообщество GM Сообщений: 1648 |
Добавлено: 09-11-2006 10:53 |
Мне кажется они нафиг не нужны | |
DG Soft popww Группа: Администраторы Сообщений: 736 |
Добавлено: 09-11-2006 11:26 |
И еще вопросы по операторам lengthdir_x(len,dir) что это незнаю может класная штука ? и в строковых переменных встречаеться понятие (подстрока)- что это? |
|
DreamRunner магистр Группа: Сообщество GM Сообщений: 320 |
Добавлено: 09-11-2006 11:39 |
lengthdir_x(len,dir) - это функция, а не оператор. Возвращает длину проекции на ось Х для отрезка повёрнутого на угол dir. Подстрока - часть строки. "ока" является подстрокой "морока" |
|
Nka Володька Группа: Сообщество GM Сообщений: 1648 |
Добавлено: 09-11-2006 14:47 |
Не подскажете функции выделения подстроки из строки? Как Left$, Right$, Mid$ в Basic'e. | |
DG Soft popww Группа: Администраторы Сообщений: 736 |
Добавлено: 09-11-2006 15:22 |
А маленький примерчик можна |
Страницы: 1 2 3 4 Next>> |
Game Maker Форум / Вопросы и Ответы (Для Начинающих) / операторы |