var b_array = new Array("Tommy", "Peggy", "Beeno", "boy", "girl", "stand_up", "sit_down", "line_up", "doll", "ball", "car", "bear", "cold", "hot", "happy", "sad");
//单词不能同时存在的。
var w_array = new Array({Tommy:"boy,sit_down,stand_up", Peggy:"girl", Beeno:"hot,cold,happy,sad", boy:"Tommy,sit_down,stand_up", sit_down:"Tommy,boy", stand_up:"Tommy,boy", hot:"Beeno", cold:"Beeno", happy:"Beeno", sad:"Beeno", girl:"Peggy"});
var b2_array = new Array();
var n_array = new Array();
var n2_array = new Array();
var f_array = new Array();
var f2_array = new Array();
var id = 0;
/***************** 打乱数组******************/
function rwa(sarg:Array, oarg:Array) {
var l = sarg.length;
while (l>0) {
m = random(l);
tempW = sarg[m];
oarg.push(tempW);
bt1_array = sarg.slice(0, m);
bt2_array = sarg.slice(m+1, l);
sarg = bt1_array.concat(bt2_array);
l = sarg.length;
}
}
/**************** rws()结束 ********************/
/************** makeWordsArray*********************/
function mwa() {
_root.word = _root.b2_array[id];
_root.f_array.push(_root.word);
if (_root.w_array[0][_root.word] != undefined) {
var w2_array = _root.w_array[0][_root.word].split(",");
var b2_str:String = _root.b2_array.toString();
var t_str:String;
var j = 0;
while (j<w2_array.length) {
t_str = (w2_array[j]).toString();
t1 = b2_str.slice(0, b2_str.indexOf(t_str));
t2 = b2_str.slice(b2_str.indexOf(t_str)+t_str.length+1);
b2_str = t1.concat(t2);
j++;
}
t1 = b2_str.slice(0, b2_str.indexOf(_root.word));
t2 = b2_str.slice(b2_str.indexOf(_root.word)+_root.word.length+1);
b2_str = t1.concat(t2);
_root.f_array = _root.f_array.concat(b2_str.split(",", 3));
} else {
_root.word = _root.b2_array[id];
var b2_str:String = _root.b2_array.toString();
t1 = b2_str.slice(0, b2_str.indexOf(_root.word));
t2 = b2_str.slice(b2_str.indexOf(_root.word)+(_root.word.length)+1);
b2_str = t1.concat(t2);
_root.f_array = b2_str.split(",", 3);
_root.f_array.push(_root.word);
}
}
/***************** mwa end*********************/
function mwa2() {//生成满足条件的数组,
_root.word = _root.b2_array[id];
_root.n_array.push(_root.word);
if (_root.w_array[0][_root.word] != undefined) {
var w2_array = _root.w_array[0][_root.word].split(",");
var b2_str:String = _root.b2_array.toString();
var t_str:String;
var j = 0;
while (j<w2_array.length) {
t_str = (w2_array[j]).toString();
t1 = b2_str.slice(0, b2_str.indexOf(t_str));
t2 = b2_str.slice(b2_str.indexOf(t_str)+t_str.length+1);
b2_str = t1.concat(t2);
j++;
}
t1 = b2_str.slice(0, b2_str.indexOf(_root.word));
t2 = b2_str.slice(b2_str.indexOf(_root.word)+_root.word.length+1);
b2_str = t1.concat(t2);
_root.b2_array = b2_str.split(",");
} else {
var b2_str:String = _root.b2_array.toString();
t1 = b2_str.slice(0, b2_str.indexOf(_root.word));
t2 = b2_str.slice(b2_str.indexOf(_root.word)+(_root.word.length)+1);
b2_str = t1.concat(t2);
_root.b2_array = b2_str.split(",");
}
}
/***************** mwa end*********************/
function init() {
var l = 4;
while (l>0) {
_root.mwa2();
l--;
}
rwa(_root.n_array, _root.n2_array);
trace(_root.n2_array);
}
init();
rwa(sarg,oarg)函数用来打乱原来的原始数组。oarg为新数组。
mwa2()