as3 오목대각선 체크 다시질문올려봅니다..
아빠몬
00 10 20 30 40 50 60 70 80 90 무비클립이 인스네임이aa_00, aa_10 ....aa_99이렇습니다
01 11 21 31 41 51 61 71 81 91
02 12 22 32 42 52 62 72 82 92
03 13 23 33 43 53 63 73 83 93
04 14 24 34 44 54 64 74 84 94
05 15 25 35 45 55 65 75 85 95
06 16 26 36 46 56 66 76 86 96
07 17 27 37 47 57 67 77 87 97
08 18 28 38 48 58 68 78 88 98
09 19 29 39 49 59 69 79 89 99
이렇게 10x10 좌표가 있습니다
for (var i:int = 0; icnt; i++){
var arr:Array = new Array();
for (var j:int = 0; jcnt; j++){
arr[j] = 0;
}
xy_arr.push(arr);
}
이렇게 전부 0으로 깔아줬구요
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
검은돌을클릭하면 그부분이 1 흰돌은 2로 바뀌게끔해서 xy_arr[numY][numX] = 1; 이런식으로요
var numX:int = int(e.target.name.split(_)[1].split()[0]);
var numY:int = int(e.target.name.split(_)[1].split()[1]);
가로와 세로 5개 감지 체크부분은
for (var i:int = 0; icnt; i++){
for (var j:int = 0; jcnt; j++){
if (xy_arr[i][j] ==){ ................... 이렇게 포문을돌려 x축 01 02 03 에서부터 09 19 29 ....이렇게 검사를 하는데요
} 가로와 세로는 되는데
}
}
아무튼 대각선을 체크하려면 00 01 10 02 11 20 .....이렇게 사선으로 뽑아야 할것 같은데 이걸 어떻게 이중포문으로 뽑아야할
지를 모르겠습니다 ㅠㅠ이렇게 세팅된 상태에서 다른식의 대각선 체크 부분이 있는지 궁금하구요고수분들의 답변 부탁드립니다!!
-
활력초
기준을 마지막 놓은 돌로 잡고,
마지막 돌이 놓인 배열상의 가로, 세로 인덱스를 기준으로 주변을 한칸씩 한칸씩 범위를 넓혀가며 탐색하심
되지 않을까 싶어요...결국 일렬로 늘어설수 있는 방향이란게 사선 포함해서 4가지정도밖에 안되잖아요?
기준이 되는 돌의 인덱스값과 비교, 현재 검색하고자 하는 돌의 색깔과 같은지 분기점을 두어서
각기 다른곳으로 인덱스값을 푸쉬 하심 될듯요..
굳이 퍼문으로 하신다면야..사방 인덱스값을 배열로 담아서 돌리시면 편하