화면상에 'diceM1', 'diceM2'란 이름의 6개의 프레임으로 주사위
6개의 눈을 표현하는 주사위 무비클립 2개, 'pointM1', 'pointM2' 이란 이름의 현재 나온 주사위 눈
수 뒷쪽에 밝은 하늘색을 비추는 무비클립, 'rollButM'이란 이름의 버튼 모양 무비클립과 주사위 눈 수 표시용
'd1'~'d6', 주사위 눈 등장 확률 표시용 'p1'~'p6', 두 주사위 눈의 합 표시용 'dSum'의 이름을
가진 다이나믹 텍스트 박스를 만들어 뒀다.
var n1=0,n2=0,n3=0,n4=0,n5=0,n6=0; //주사위 눈 나온 숫자 저장용
var r1=0,r2=0,r3=0,r4=0,r5=0,r6=0; //주사위 눈 나온 확률 저장용
var totNum=0, perc=0, dNum2 = 2;
function init(){
displayDiceNums(); //각 주사위 눈 나온 숫자 표시
rollButM.addEventListener(MouseEvent.MOUSE_DOWN, butDown);
stage.addEventListener(KeyboardEvent.KEY_DOWN, keyClick);
}
function butDown(e:MouseEvent){ // 마우스 좌클릭시
var diceNum1 = throwDice();
diceM1.gotoAndStop(diceNum1); //주사위 1 모양 변경
var diceNum2 = throwDice();
diceM2.gotoAndStop(diceNum2); //주사위 2 모양 변경
dNum2 = diceNum1 + diceNum2; //두 주사위 눈 합하기
pointDiceNum(pointM1, diceNum1);
pointDiceNum(pointM2, diceNum2);
dNum2 = 0; //두 주사위 눈의 합 초기화
}
function keyClick(e:KeyboardEvent){ //키보드 클릭시
//스페이스, 좌ctrl, 엔터키 클릭시
if(e.keyCode == 32 || e.keyCode == 17 || e.keyCode == 13){
butDown(null);
}
}
function pointDiceNum(point, dNum){ //주사위 눈 표시
point.gotoAndStop(dNum); //나온 숫자 비추기
switch(dNum){
case(1): n1++; break;
case(2): n2++; break;
case(3): n3++; break;
case(4): n4++; break;
case(5): n5++; break;
case(6): n6++; break;
}
displayDiceNums(); //각 주사위 눈 나온 숫자, 확률 표시
}
function throwDice(){ //일반 주사위 던지기
return Math.floor(Math.random()*6+1);
}
function displayDiceNums(){ //각 주사위 눈 나온 숫자, 확률 표시
d1.text = n1; //나온 숫자들 표시
d2.text = n2;
d3.text = n3;
d4.text = n4;
d5.text = n5;
d6.text = n6;
//나온 확률 구해 표시하기
totNum = n1+n2+n3+n4+n5+n6;
if(totNum == 0) totNum = 1; //맨처음 0으로 나누기 방지
r1 = n1 / totNum * 100;
r2 = n2 / totNum * 100;
r3 = n3 / totNum * 100;
r4 = n4 / totNum * 100;
r5 = n5 / totNum * 100;
r6 = n6 / totNum * 100;
p1.text = r1;
p2.text = r2;
p3.text = r3;
p4.text = r4;
p5.text = r5;
p6.text = r6;
dSum.text = dNum2;
}
init(); |