Untitled
unknown
plain_text
a year ago
1.6 kB
9
Indexable
//Функция генерации массива ответов для правила
function collectRules(what){
//Для каждого правила в массиве rules
for(var i = 0; i<what.length; i++){
//создаем массив ответов
var a = [];
//А именно просто вызываем 30 раз генерилку рандомного значения
for(var j = 0; j<30; j++){
//И кладем в массив ответов
a.push(getPrompt(what[i]));
}
//Все хуячим в консоль, вуаля
console.log(a);
}
}
function getPrompt(str){
var i=-1;
while((i=str.indexOf("(",i+1)) >= 0){
//console.log('start = '+i);
var closin_i = str.indexOf(")",i+1),
last_i = closin_i,
subst = str.substring((i+1), closin_i),
elm = "";
//console.log('end = '+closin_i);
//console.log(subst);
if(str[(closin_i+1)] === "?") last_i = last_i + 1;
if((str[(closin_i+1)] === "?" && Math.random() > 0.3) || str[(closin_i+1)] != "?") {
if(subst.indexOf("|",0) >= 0){
//console.log('is array');
var elm_array = subst.split('|'),
elm_i = Math.floor(Math.random()*elm_array.length);
elm = elm_array[elm_i].trim();
} else {
elm = subst.trim();
}
} else {
//console.log('skipped');
}
str = str.replace(str.substring(i, last_i+1), elm);
// console.log(str);
}
return str.trim().replace('AnyDevice?', '').replace( / +/g, ' ' );
}Editor is loading...
Leave a Comment