Онлайн-справочник по самым часто задаваемым вопросам из темы "Как сделать?" на форуме QSP.su
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
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
Есть другой способ:
! вносим действия в массив
$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)]
$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)]