function win():void //將勝負判斷封裝成函數,便於調用
{
ww=new whiteWin(); //實例化屬性名稱爲“whiteWin”的“白棋勝”元件
bw=new blackWin();
for (i = 0; i < 15; i++) //對已定義的15行*15列棋盤,進行遍歷循環
{
for (j = 0; j <= 10; j++) //爲規避數組越界,依據棋盤實際情況可知只需循環到10
{
if (myArray[i][j] + myArray[i][j + 1] + myArray[i][j + 2] + myArray[i][j + 3] + myArray[i][j + 4] == 5)
{ <pre name="code" class="plain"> //下白棋數組賦值爲1,當值爲5時即橫向方向相連爲五顆白棋,白棋勝
ww.x=260; ww.y=260;addChild(ww); //加載“白棋勝”元件 mb.removeEventListener(MouseEvent.CLICK,hqhs);
//卸載鼠標點擊監聽}if (myArray[i][j] + myArray[i][j + 1] + myArray[i][j + 2] + myArray[i][j + 3] + myArray[i][j + 4] == -5){
//下黑棋數組賦值爲-1,當值爲-5時即橫向方向相連爲五顆黑棋,黑棋勝bw.x=260;bw.y=260;addChild(bw);mb.removeEventListener(MouseEvent.CLICK,hqhs);}}}for (i = 0; i <= 10; i++){for (j = 0; j < 15; j++){if (myArray[i][j] + myArray[i + 1][j] + myArray[i + 2][j] + myArray[i + 3][j] + myArray[i + 4][j] == 5){ //縱向,白棋勝ww.x=260;ww.y=260;addChild(ww);mb.removeEventListener(MouseEvent.CLICK,hqhs);}if (myArray[i][j] + myArray[i + 1][j] + myArray[i + 2][j] + myArray[i + 3][j] + myArray[i + 4][j] == -5){ //縱向,黑棋勝
bw.x=260;bw.y=260;addChild( bw);mb.removeEventListener(MouseEvent.CLICK,hqhs);}}}for (i = 0; i <= 10; i++){for (j = 0; j <= 10; j++){if (myArray[i][j] + myArray[i + 1][j + 1] + myArray[i + 2][j + 2] + myArray[i + 3][j + 3] + myArray[i + 4][j + 4] == 5){ // "\"方向,白棋勝ww.x=260;ww.y=260;addChild(ww);mb.removeEventListener(MouseEvent.CLICK,hqhs);}if (myArray[i][j] + myArray[i + 1][j + 1] + myArray[i + 2][j + 2] + myArray[i + 3][j + 3] + myArray[i + 4][j + 4] == -5){ // "\"方向,黑棋勝 bw.x=260;bw.y=260;addChild(bw);mb.removeEventListener(MouseEvent.CLICK,hqhs);}}}for (i = 0; i <= 10; i++){for (j = 4; j < 15; j++){if (myArray[i][j] + myArray[i + 1][j - 1] + myArray[i + 2][j - 2] + myArray[i + 3][j - 3] + myArray[i + 4][j - 4] == 5){ // "/"方向,白棋勝ww.x=260;ww.y=260;addChild(ww);mb.removeEventListener(MouseEvent.CLICK,hqhs);}if (myArray[i][j] + myArray[i + 1][j - 1] + myArray[i + 2][j - 2] + myArray[i + 3][j - 3] + myArray[i + 4][j - 4] == -5){ // "/" 方向,黑棋勝
bw.x=260;bw.y=260;addChild(bw);mb.removeEventListener(MouseEvent.CLICK,hqhs);}}}}
作爲加入實驗室的考覈,花了兩個星期的時間,使用從未接觸過的AS3.0實現了五子棋基本功能的編寫。雖然還只是入門級算法,接下去會更加努力的學習,期待更爲完善的算法。