T Mon
offline
Опыт:
3,825Активность: |
Random integer number
Вот я написал такой код:
События: Время - Every 20.00 seconds of game time Условия: нет Действия: Set Unit = (Random integer number between 1 and 5) If (Unit равно 1) then do (Боевая единица - Create 1 Пехотинец for Игрок 1 (красный) at (Center of Unit <gen>) facing 90.00 degrees) else do (Do nothing) If (Unit равно 2) then do (Боевая единица - Create 1 Рыцарь for Игрок 1 (красный) at (Center of Unit <gen>) facing 90.00 degrees) else do (Do nothing) If (Unit равно 3) then do (Боевая единица - Create 1 Стрелок for Игрок 1 (красный) at (Center of Unit <gen>) facing 90.00 degrees) else do (Do nothing) If (Unit равно 4) then do (Боевая единица - Create 1 Грифон for Игрок 1 (красный) at (Center of Unit <gen>) facing 90.00 degrees) else do (Do nothing) If (Unit равно 5) then do (Боевая единица - Create 1 Целитель for Игрок 1 (красный) at (Center of Unit <gen>) facing 90.00 degrees) else do (Do nothing) А вопрос, который меня мучает, формулируется так: почему обязательно первые два раза это так называемый "случайный выбор" изберает именно число "4". Сколько не тестировал, всегда первым и вторым юнитом, что появляется будет грифон, только потом юниты уже начинают выбираться случайно. Так же есть второй вопрос, который не относится к первому. Как сделать так, чтоб, не вводя новую переменную и не переписывая код шесть раз, одновременно появилось 6 юнитов, каждый из которых выбран случайным образом. T Mon добавил: А вот и сама карта. |
03.08.2006, 23:11 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
J
expert
offline
Опыт:
48,447Активность: |
Цитата:
НИКАК... нужна 1 переменая масив (боевая еденица)... и тога все можно будет сделать через цыкл. Цитата:
я не проверял... но попробуй так: В верхнем меню WE "Файл" -> Пораметры -> закладка "Проверка карты" -> поставь шалочку на "фиксировать случайный разброс" если не помогло: создай отдельный тригер.. в котором поставь СОВЕРШЕНО любые события... например юнит в ходит в регион, юнит умирает у и т.д. (но только так чтобы они совершались часто) и поставь в действиях: Set Unit = (Random integer number between 1 and 5) |
||
03.08.2006, 23:19 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
T Mon
offline
Опыт:
3,825Активность: |
Спасибо, попробую.
Только, можешь, пожалуйста, объяснить поподробней способ с циклом, то бишь, что и где добавить. T Mon добавил: Кстати, там галочка "фиксировать случайный разброс" стояла изначально. T Mon добавил: Только что провел тест- изменил числа с (1-5) на (10-14). Эффект остался прежний. |
03.08.2006, 23:28 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
J
expert
offline
Опыт:
48,447Активность: |
например тебе нужно создать 30-ть юнитов из 50-сяти различных типов... для первого игрока на регионе REGION
UNIT[] - переменая "тип обьекта" - массив Код:
|
03.08.2006, 23:33 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
T Mon
offline
Опыт:
3,825Активность: |
Только я не догнал, как тут задается список типов войск, из которых будет производится выбор... |
03.08.2006, 23:39 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
J
expert
offline
Опыт:
48,447Активность: |
:D никак.. я подумал ты догадаешся что все переменые обьявлять при инициализации карты........ т.е. например: set UNIT[1] = тип№1 set UNIT[2] = тип№2 set UNIT[3] = тип№3 и т.д. а иначе никак но это экономит услилия для написания действий большего размера если создавать эти войска напрямую... т.к. без цыкла этот триг был бы ОЧЕНЬ большой |
03.08.2006, 23:58 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
T Mon
offline
Опыт:
3,825Активность: |
Теперь все стало ясно, спасибо!
T Mon добавил: Только все равно осталась лажа в работе рандома- в первой упряжке всегда появляются 2 грифона и по 1 рыцарю/пехотинцу/стрелку/целителю. Не понимаю этого... но потом вроде все ок. |
04.08.2006, 01:46 | #7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Korneliy
DMF
offline
Опыт:
23,443Активность: |
2 Jon А локальные переменные? Крайне полезная и простая вещь и жизнь конкретно облегчает.
|
04.08.2006, 01:59 | #8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
J
expert
offline
Опыт:
48,447Активность: |
Korneliy и зачем сдесь локалки? понимаю - можно и юзать кеш, но лакалки зачем? при создании рандомных войск...
|
04.08.2006, 02:29 | #9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Korneliy
DMF
offline
Опыт:
23,443Активность: |
Все, ступил, думал респавн, а евента незаметил... Сорри за оффтоп. |
04.08.2006, 03:10 | #10
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|