Untitled

 avatar
unknown
plain_text
2 years 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