|
stop();
import flash.events.Event;
//showselectrandom.stop();
var randomarray = new Array();
var randomprearray = new Array();
var startarray:Boolean = false;
var countarray = 0;
var donerandomcombobox:Boolean = false;
var confirmclasslist:Boolean = false;
var overlapcount:int = 0;
var classinout;
var classcount = 0;
mainmenu5.mbtnmix.addEventListener(MouseEvent.CLICK, changeScene);
mainmenu5.mbtnhanja.addEventListener(MouseEvent.CLICK, changeScene);
mainmenu5.mbtnword.addEventListener(MouseEvent.CLICK, changeScene);
mainmenu5.mbtngosa.addEventListener(MouseEvent.CLICK, changeScene);
mainmenu5.mbtnrandom.addEventListener(MouseEvent.CLICK, changeScene);
mainmenu5.mbtnhanmoonswag.addEventListener(MouseEvent.CLICK, changeScene);
btnrestart.addEventListener(MouseEvent.CLICK, restartrandom);
btnrandomsel.addEventListener(MouseEvent.CLICK, selectrandomNo);
classcombo.addEventListener(Event.CHANGE, classcombochange);
function restartrandom(event:MouseEvent):void {
var randomarray = [];
var randomprearray = [];
startarray = false;
countarray = 0;
viewvalueT.text = '';
selectedlistbox.text = '';
overlapcheckT.text = "끝 번호를 다시 입력하고 번호 고르기를 시작하세요.";
}
function selectrandomNo(event:MouseEvent):void {
var nowmaxnum:int = parseInt(inputmaxT.text);
if (nowmaxnum> 0) {
startarray = true;
if (overlapcheckbox.selected) {
viewvalueT.text = String(int(Math.random()*nowmaxnum)+1);
moretimenumber(viewvalueT.text);
} else { onlyonetimenumber(nowmaxnum)
}
} else {
overlapcheckT.text = "끝 번호를 입력하세요.";
startarray = false;
countarray = 0;
}
selectedlistbox.scrollV = selectedlistbox.maxScrollV;
}
function classcombochange(event:Event):void {
inputmaxT.text = classcombo.selectedItem.data;
// trace(event.target.selectedItem.label);
// trace(event.target.selectedItem.data);
countarray = 0;
// showselectrandom.gotoAndStop(1);
}
URLLoaderDataFormatclasslist();
function URLLoaderDataFormatclasslist()
{
var request:URLRequest = new URLRequest("classnumberlist.txt");
var variables:URLLoader = new URLLoader();
variables.dataFormat = URLLoaderDataFormat.VARIABLES;
variables.addEventListener(Event.COMPLETE, completeHandlerclasslist);
try
{
variables.load(request);
confirmclasslist = true;
}
catch (error:Error)
{
trace("Unable to load URL: " + error);
confirmclasslist = false;
}
}
function completeHandlerclasslist(event:Event):void
{// 데이터를 읽은 후 실행되는 함수들
var loaderclass:URLLoader = URLLoader(event.target);
classinout = loaderclass.data;
viewvalueT.text = "";
overlapcheckT.text = "최대값을 입력해 주세요.";
inputmaxT.text = classinout.studentsdefault.toString();
randominputcombo(classinout);
}
function randominputcombo(inorout) {
if (!donerandomcombobox) {
var classname:String;
var classcode:String;
var j=1;
while (inorout["classNum"+j]){
classname = inorout["classNum"+j].substr(0, 5);
classcount = inorout["classNum"+j].substr(5, 2);
classcombo.addItem({data:classcount, label:classname});
j++;
}
donerandomcombobox = true;
}
}
function moretimenumber(nownumber:String) {
var randomarraylength:int = randomarray.length;
overlapcount = 1;
for(var i=0; i<randomarraylength; i++){ // 새 랜덤 숫자가 이전에 나온 적이 있는지 확인하기
if (nownumber == randomarray[i]) {
overlapcount = overlapcount +1;
}
}
overlapcheckT.text = nownumber.toString() + "번은 " + String(overlapcount) + "번 선택되었습니다.";
randomarray.push(nownumber);
if (selectedlistbox.text != '') selectedlistbox.appendText(",");
selectedlistbox.appendText(nownumber);
if (classcheckbox.selected && confirmclasslist ) {
var stnumber = nownumber;
if (stnumber < 10) {stnumber = "0" + stnumber;}
var classcode = classcombo.selectedItem.label;
classcode =classcode.substr(0, 1) + classcode.substr(3, 1);
var lineWnReT:String = classinout["wons"+classcode+stnumber];
lineWnReT = lineWnReT.replace(regExp, "");
viewvalueT.text = lineWnReT;
// showselectrandom.selstuno.text = viewvalueT.text;
// showselectrandom.gotoAndPlay(2);
} else if (classcheckbox.selected && !confirmclasslist ) {overlapcheckT.text = "목록이 준비되지 않았습니다.";}
listscroll.update();
}
function onlyonetimenumber(arrayrange:int) {
// 중복 허용하지 않을 때 소스 시작
var randomsamplearray = new Array();
if ((startarray) && (countarray == 0)) {
for(var i=0; i<arrayrange; i++){
randomsamplearray[i] = i;//.push(i); //고사성어 갯수 만큼 배열로 줬습니다.
}
for(i=0; i<arrayrange; i++){ //keynum 수만큼 밑에 4줄을 반복실행하라고 명령했습니다.
var qakr = int(Math.random()*(randomsamplearray.length)); //kr에 현재 배열의 길이 안에서 난수를 하나 발생시켜 넣습니다.
var qakone = randomsamplearray[qakr]+1; //난수번째에 있는 배열의 숫자를 qakone에 넣습니다. 1을 더하여 1번부터 끝번호까지 값을 정합니다.
randomsamplearray.splice(qakr,1); //주어진 배열에서 지금 뺀 숫자는 없앱니다. 다시 뽑히면 곤란하니까요.
randomprearray.push(qakone); //나온 숫자를 준비해둔 배열공간에 넣어줍니다.
}
}
// 중복 허용하지 않을 때 소스 끝
if ((countarray < arrayrange) && randomprearray[countarray]){
randomarray[countarray] = randomprearray[countarray];
overlapcheckT.text = randomarray[countarray].toString() + "번이 선택되었습니다.";
viewvalueT.text = randomarray[countarray].toString();
if (classcheckbox.selected && confirmclasslist ) {
var stnumber:int = int(randomarray[countarray]);
var stnumberT:String = stnumber.toString();
if (stnumber < 10) {stnumberT = "0" + stnumberT;}
var classcode = classcombo.selectedItem.label;
classcode = classcode.substr(0, 1) + classcode.substr(3, 1);
var lineWnReT:String = classinout["wons"+classcode+stnumberT];
lineWnReT = lineWnReT.replace(regExp, "");
viewvalueT.text = lineWnReT;
} else if (classcheckbox.selected && !confirmclasslist ) {overlapcheckT.text = "목록이 준비되지 않았습니다.";}
// showselectrandom.selstuno.text = viewvalueT.text;
// showselectrandom.gotoAndPlay(2);
} else {overlapcheckT.text = "모든 번호가 한 번씩 선택되었습니다."; return;}
if (selectedlistbox.text != '') selectedlistbox.appendText(",");
selectedlistbox.appendText(randomarray[countarray]);
countarray = countarray + 1;
}