операторы

  Вход на форум   логин       пароль   Забыли пароль? Регистрация
On-line:  

Раздел: 
Game Maker Форум / Вопросы и Ответы (Для Начинающих) / операторы

Страницы: 1 2 3 4 Next>> новая тема

Автор Сообщение


Группа: Участники
Сообщений: 2
Добавлено: 07-11-2006 14:00
как пользоватся операторорами switch и return?
Со-всеми остальными разобрался, а вот с этими никак.
Справка мне не помогла.
Поподробнее пожалуста!

Володька
Группа: Сообщество 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 я пока сам не изучил. Щас изучу и объясню

Володька
Группа: Сообщество 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.

popww
Группа: Администраторы
Сообщений: 736
Добавлено: 07-11-2006 15:29
Я тоже чуть незнаю а именно
| & ^: поразрядные операторы что еще за поразрядные операторы, что они делают?
и куда воткнуть оператор continue

магистр
Группа: Сообщество 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;
}

popww
Группа: Администраторы
Сообщений: 736
Добавлено: 07-11-2006 15:55
про континуэ понятно спасиба
а поразрядные операторы, всетаки хотелось бы узнать зачем они

магистр
Группа: Сообщество GM
Сообщений: 443
Добавлено: 07-11-2006 16:23
знаешь как числа в двоичном представлении выглядят? 101100101001..... вот 1011 | 1001 = 1011 вроде. Т.е. берется поразрядно каждая единица или нолик и выполняется операция "или" в соотвествии с аргументами справа и слева от нее - единица это истина, 0 это ложь. Что-то в этом духе, в общем )

маэстро
Группа: Сообщество GM
Сообщений: 723
Добавлено: 07-11-2006 16:35
вообщем писал-писал и ничего толкового не посоветовал

Та-ак, соскучился по БАНе? ХОРОШ МАТЕРИТЬСЯ!!!!!!!!!!!!!!!!!! Еще одно предупреждение...
FallWolF

popww
Группа: Администраторы
Сообщений: 736
Добавлено: 07-11-2006 17:36
вообщем писал-писал и ничего толкового не посоветовал
Я считаю пример с continue очень даже хорош

магистр
Группа: Сообщество GM
Сообщений: 320
Добавлено: 07-11-2006 18:13
после return, так же как и после continue оставшийся код не выполняется.

default: - аналог case, выполняется во всех остальных неуказанных в case условиях.

popww
Группа: Администраторы
Сообщений: 736
Добавлено: 07-11-2006 18:20
default: - аналог case, выполняется во всех остальных неуказанных в case условиях.

мг... так само и в с++

Володька
Группа: Сообщество GM
Сообщений: 1648
Добавлено: 08-11-2006 08:19
блин, а я написал case else: вместо default: - как в VB

Тут могла быть ваша реклама
Группа: Сообщество GM
Сообщений: 1014
Добавлено: 08-11-2006 18:17
про континуэ понятно спасиба
а поразрядные операторы, всетаки хотелось бы узнать зачем они

Я знаю чё это за тема, только вот
НАфиг эта дискретная математика в ГМ вообще, где её можно использовать? А хотя наверно в кодирование, да в ХОR`e ведь используется, больше вроде нигде

Володька
Группа: Сообщество GM
Сообщений: 1648
Добавлено: 08-11-2006 21:35
Очень бывает нужна математика на ГМ

магистр
Группа: Сообщество GM
Сообщений: 443
Добавлено: 08-11-2006 22:33
Сьезька, аккуратнее :D Если ты ничего не понял, это твое дело.

Поразрядные операторы это не только матлогика.. а хотя действительно, найдите еще им применение?..

Володька
Группа: Сообщество GM
Сообщений: 1648
Добавлено: 09-11-2006 10:53
Мне кажется они нафиг не нужны

popww
Группа: Администраторы
Сообщений: 736
Добавлено: 09-11-2006 11:26
И еще вопросы по операторам
lengthdir_x(len,dir) что это незнаю может класная штука ?

и в строковых переменных встречаеться понятие (подстрока)- что это?

магистр
Группа: Сообщество GM
Сообщений: 320
Добавлено: 09-11-2006 11:39
lengthdir_x(len,dir) - это функция, а не оператор. Возвращает длину проекции на ось Х для отрезка повёрнутого на угол dir.

Подстрока - часть строки.
"ока" является подстрокой "морока"

Володька
Группа: Сообщество GM
Сообщений: 1648
Добавлено: 09-11-2006 14:47
Не подскажете функции выделения подстроки из строки? Как Left$, Right$, Mid$ в Basic'e.

popww
Группа: Администраторы
Сообщений: 736
Добавлено: 09-11-2006 15:22
lengthdir_x(len,dir) - это функция, а не оператор. Возвращает длину проекции на ось Х для отрезка повёрнутого на угол dir.

А маленький примерчик можна

Страницы: 1 2 3 4 Next>> новая тема
Раздел: 
Game Maker Форум / Вопросы и Ответы (Для Начинающих) / операторы

Отвечать на темы в данном разделе могут только зарегистрированные пользователи

Отвечать на темы могут только зарегистрированные пользователи

KXK.RU