Чётное не чётное
|
|
SunCreep | Дата: Среда, 16 Марта 2011, 22:22:10 | Сообщение # 1 |
9 уровень
Группа: Проверенные
Сообщений: 1136
Награды: 0
Репутация: 141
Блокировки:
| Глупо создавать новую тему для 1 вопроса,но всё же... Как сделать условие: Х = чётное число (прошу указать путь)
|
|
|
|
lawson | Дата: Среда, 16 Марта 2011, 23:01:29 | Сообщение # 2 |
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
| Quote (SunCreep) Как сделать условие Нет такого условия Добавлено (16-03-2011, 23:01) --------------------------------------------- Сожно способом твое число / 2 если твоя перменная примит любое значение 0.значение то значит она не четная. Или если твоя перменная integer то четная если real то не четна.
Nic nie wiem bo mam chuj. редактирую посты! ВСЕ!
Сообщение отредактировал lawson - Среда, 16 Марта 2011, 23:06:02 |
|
|
|
SunCreep | Дата: Среда, 16 Марта 2011, 23:30:29 | Сообщение # 3 |
9 уровень
Группа: Проверенные
Сообщений: 1136
Награды: 0
Репутация: 141
Блокировки:
| Я не чё не понял)) У меня: Событие юнит приводит способность в действие Действие установить х=х+1 Действие функция то\если\иначе Если х=чётное <-------(вот тут проблема) То выключить триггер Иначе включить триггер При условии что скил этот не имеет откатка и служит переключателем переменная примет множество значений,и как их поделить на 2 я не знаю.
|
|
|
|
Kartoha | Дата: Среда, 16 Марта 2011, 23:56:19 | Сообщение # 4 |
10 уровень
Группа: Ветераны
Сообщений: 2851
Награды: 1
Блокировки:
| SunCreep, я долго думал как сделать такую проверку на GUI, но так и не додумался. Зато я придумал как сделать и сделал проверку на четность на JASS, ты шариш в JASS?
|
|
|
|
SunCreep | Дата: Среда, 16 Марта 2011, 23:58:51 | Сообщение # 5 |
9 уровень
Группа: Проверенные
Сообщений: 1136
Награды: 0
Репутация: 141
Блокировки:
| Есть другой вариант. Подскажите событие: когда меняют включение или выключение автоприменение.К примеру: когда ставят на автокаст скил Лечение.Добавлено (16-03-2011, 23:58) --------------------------------------------- В Jass я полный 0
|
|
|
|
Kartoha | Дата: Четверг, 17 Марта 2011, 00:10:23 | Сообщение # 6 |
10 уровень
Группа: Ветераны
Сообщений: 2851
Награды: 1
Блокировки:
| SunCreep, нет такого события. Я могу сделать эту самую проверку на четность прямо в твоей карте.Ты потом мб JASS выучиш и поймеш что к чему.
|
|
|
|
romaN-1998 | Дата: Четверг, 17 Марта 2011, 00:14:04 | Сообщение # 7 |
10 уровень
Группа: Проверенные
Сообщений: 1368
Награды: 0
Репутация: 10
Блокировки:
| Quote (lawson) Или если твоя перменная integer то четная если real то не четна. Дурак ? (извини) Чётное делится на 2, а нечётное не делится. real = это просто не целое число.
|
|
|
|
Kartoha | Дата: Четверг, 17 Марта 2011, 00:17:10 | Сообщение # 8 |
10 уровень
Группа: Ветераны
Сообщений: 2851
Награды: 1
Блокировки:
| Quote (Kartoha) Я могу сделать эту самую проверку на четность прямо в твоей карте.Ты потом мб JASS выучиш и поймеш что к чему. Так что надо нет? Чего молчиш?)
|
|
|
|
lawson | Дата: Четверг, 17 Марта 2011, 00:41:38 | Сообщение # 9 |
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
| Quote (romaN-1998) нечётное не делится Уверен? 3/2
Nic nie wiem bo mam chuj. редактирую посты! ВСЕ!
Сообщение отредактировал lawson - Четверг, 17 Марта 2011, 00:42:02 |
|
|
|
romaN-1998 | Дата: Четверг, 17 Марта 2011, 00:55:57 | Сообщение # 10 |
10 уровень
Группа: Проверенные
Сообщений: 1368
Награды: 0
Репутация: 10
Блокировки:
| И чё... С остатком делится, я имею ввиду Чётное на 2 без остатка делится.
|
|
|
|
lawson | Дата: Четверг, 17 Марта 2011, 00:58:03 | Сообщение # 11 |
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
| Quote (romaN-1998) Чётное на 2 без остатка делится. ВОт это и есть уловие.
Nic nie wiem bo mam chuj. редактирую посты! ВСЕ!
|
|
|
|
Manko_O | Дата: Четверг, 17 Марта 2011, 08:14:17 | Сообщение # 12 |
7 уровень
Группа: Проверенные
Сообщений: 296
Награды: 0
Репутация: 23
Блокировки:
| i наше число Если\то\иначе Если ( i-i)/(2-i)/2=0 То //чётное Иначе //нечётное
|
|
|
|
SunCreep | Дата: Четверг, 17 Марта 2011, 08:39:10 | Сообщение # 13 |
9 уровень
Группа: Проверенные
Сообщений: 1136
Награды: 0
Репутация: 141
Блокировки:
| Quote (Manko_O) ( i-i)/(2-i)/2=0 Либо я не знаю как либо не возможно... и вот ещё i-i а смысл?0 не заменить?
|
|
|
|
Dreii | Дата: Четверг, 17 Марта 2011, 09:02:06 | Сообщение # 14 |
10 уровень
Группа: Проверенные
Сообщений: 4991
Награды: 0
Репутация: 603
Блокировки:
| Kartoha, выложи суда код погялдим) SunCreep, Можно так Code local integer i=GerRandomInt(0,100) if i=i\2 then //четное else //нечетное endif
|
|
|
|
romaN-1998 | Дата: Четверг, 17 Марта 2011, 09:10:19 | Сообщение # 15 |
10 уровень
Группа: Проверенные
Сообщений: 1368
Награды: 0
Репутация: 10
Блокировки:
| В условии поставь: Если (i/2)-(i/2) = 0 то
|
|
|
|
Dreii | Дата: Четверг, 17 Марта 2011, 09:12:56 | Сообщение # 16 |
10 уровень
Группа: Проверенные
Сообщений: 4991
Награды: 0
Репутация: 603
Блокировки:
| Quote (romaN-1998) (i/2)-(i/2) = 0 Так не получиться, смотри.. Если i = 4 то (4/2)-(4/2) = 2-2 = 0 Если i = 5 то (5/2)-(5/2) = 2,5-2,5 = 0
|
|
|
|
romaN-1998 | Дата: Четверг, 17 Марта 2011, 09:16:30 | Сообщение # 17 |
10 уровень
Группа: Проверенные
Сообщений: 1368
Награды: 0
Репутация: 10
Блокировки:
| Хм... не подумал... Добавлено (17-03-2011, 09:16) --------------------------------------------- Ну может на реальную ещё проверять ?
|
|
|
|
Dreii | Дата: Четверг, 17 Марта 2011, 09:16:43 | Сообщение # 18 |
10 уровень
Группа: Проверенные
Сообщений: 4991
Награды: 0
Репутация: 603
Блокировки:
| Думаю,нужна проверка на остаток,ведь при делении нечетного будет всегда остаток. Нужно как то проверить иммет ли число десятичные и т.д числа
|
|
|
|
SirNikolas | Дата: Четверг, 17 Марта 2011, 12:45:12 | Сообщение # 19 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| Quote (Kartoha) SunCreep, я долго думал, как сделать такую проверку на GUI, но так и не додумался. Существует целых два способа! Условия: Real Comparison: ((Real(YourNumber) : 2.00) - Real((YourNumber : 2))) == 0.00//Число четное Условия: Integer Comparison: (YourNumber mod 2) == 0//Число четное
Сообщение отредактировал SirNikolas - Четверг, 17 Марта 2011, 13:08:06 |
|
|
|
Kartoha | Дата: Четверг, 17 Марта 2011, 14:20:52 | Сообщение # 20 |
10 уровень
Группа: Ветераны
Сообщений: 2851
Награды: 1
Блокировки:
| SirNikolas, мб это в JNGP? Потому что я найти не могу.)Quote (Dreii) Kartoha, выложи суда код погялдим) Code function CheckX takes nothing returns nothing local integer i = 0 local integer i2 = 10000 loop exitwhen i>i2 if i == udg_x then call DisplayTextToForce( GetPlayersAll(), Четное" ) endif set i = i + 2 endloop set i = 0 set i2 = 0 endfunction я думаю что код можно и упростить, потому что я писал его будучи сонным, почти засыпая и чисто интуитивно - не вдумываясь, руки как буд-то сами писали, но работает вроде нормально=)Добавлено (17-03-2011, 14:13) --------------------------------------------- как вы поняли, в коде udg_x = проверяемая целочисленная Добавлено (17-03-2011, 14:20) --------------------------------------------- и она не должна превышать 10000
|
|
|
|
SirNikolas | Дата: Четверг, 17 Марта 2011, 14:24:20 | Сообщение # 21 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| Quote (Kartoha) мб это в JNGP? JNGP не добавляет новые GUI-функции, иначе карту, сделанную в нем, нельзя будет открыть в обычном редакторе. Сейчас сделаю скрин. Теперь насчет кода.Quote (Kartoha) call DisplayTextToForce( GetPlayersAll(), Четное" ) Во-первых, две BJ, а во-вторых, незакрытые (вернее, неоткрытые) двойные кавычки.Code call DisplayTextToPlayer(GetLocalPlayer(), .0, .0, "Четное") Quote (Kartoha) local integer i2 = 10000 Лучше 2147483647 - максимальное возможное значение integer.Лучше сделать, чтоб функция принимала целочисленную.
Сообщение отредактировал SirNikolas - Четверг, 17 Марта 2011, 14:35:01 |
|
|
|
Kartoha | Дата: Четверг, 17 Марта 2011, 14:28:24 | Сообщение # 22 |
10 уровень
Группа: Ветераны
Сообщений: 2851
Награды: 1
Блокировки:
| Quote (SirNikolas) JNGP не добавляет новые GUI-функции , у меня в JNGP очень много новых функций на GUI.Quote (SirNikolas) Во-первых, две BJ, а во-вторых, незакрытые (вернее, неоткрытые) двойные кавычки. не не не, это только для примера, чтоб проверить пашет или нет, а опечатался когда сюда вставлялQuote (SirNikolas) Лучше сделать, чтоб функция принимала целочисленную. я код писал под карту SunCreep, у него там эта самая переменная x поэтому я так и сделал, хотя ты прав, нужно было через takes делать.
|
|
|
|
SirNikolas | Дата: Четверг, 17 Марта 2011, 14:32:46 | Сообщение # 23 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
|
|
|
|
|
Kartoha | Дата: Четверг, 17 Марта 2011, 14:37:14 | Сообщение # 24 |
10 уровень
Группа: Ветераны
Сообщений: 2851
Награды: 1
Блокировки:
| SirNikolas, aa, понятно, я раньше не обращал внимания на эту штуку "Module", удивляюсь, ежедневно сижу в ве, и до сих пор узнаю что-то новое. И вот исправленый код: Code function CheckX takes nothing returns nothing local integer i = 0 local integer i2 = 2147483647 loop exitwhen i>i2 if i == udg_x then <то что должно произойти, если переменная четная> endif set i = i + 2 endloop set i = 0 set i2 = 0 endfunction
Сообщение отредактировал Kartoha - Четверг, 17 Марта 2011, 14:38:15 |
|
|
|
SirNikolas | Дата: Четверг, 17 Марта 2011, 14:41:20 | Сообщение # 25 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| Quote (Kartoha) Code if i == udg_x then <то, что должно произойти, если переменная четная> endif Подправь-ка, иначе даже после нахождения нужного он будет проверять все остальные.Code if i == udg_x then <то, что должно произойти, если переменная четная> exitwhen true endif Добавлено (17-03-2011, 14:41) ---------------------------------------------
Quote (Kartoha) set i = 0 set i2 = 0 Целочисленные не нужно обнулять. А i2 здесь вообще не нужна. exitwhen i>2147483646
|
|
|
|