Перейти к основному содержимому

20.19. Как сделать выпадение случайного действия на локации?

В: Как сделать выпадение случайного действия на локации?

О:

Нужно воспользоваться "действием по условию", но включить в код и функцию rand. В самом простом виде это делается так:

! выбрасываем случайное число от одного до пяти

i=rand(1,5)
! в зависимости от того, какое число выпало, выводим действие

if i=1:
act "Сплясать Джигу":
*pl "Ноги сами пустились в пляс, голова завертелась волчком. Джигадрыгай и в профиль и в фас. Всё пучком!"
end
elseif i=2:
act "Вальсировать":
*pl "Раз, два, три... Раз, два, три..."
end
elseif i=3:
act "Твист":
*pl "Первый окурок давим правым ботинком, второй окурок давим левым ботинком. А теперь оба окурка давим вместе."
end
elseif i=4:
act "Танцевать Пого":
"Пели песни до утра, пого танцевали..."
end
elseif i=5:
act "Капуэйро":
"Вжух-вжух!.."
end
end

Есть другой способ:

local $i_act
! вносим действия в массив

$i_act[0] = {
act "Сплясать Джигу":
*pl "Ноги сами пустились в пляс, голова завертелась волчком. Джигадрыгай и в профиль и в фас. Всё пучком!"
end
}
$i_act[1] = {
act "Вальсировать":
*pl "Раз, два, три... Раз, два, три..."
end
}
$i_act[2] = {
act "Твист":
*pl "Первый окурок давим правым ботинком, второй окурок давим левым ботинком. А теперь оба окурка давим вместе."
end
}
$i_act[3] = {
act "Танцевать Пого":
"Пели песни до утра, пого танцевали..."
end
}
$i_act[4] = {
act "Капуэйро":
"Вжух-вжух!.."
end
}
! выбрасываем случайное

dynamic $i_act[rand(0,4)]