AS3五子棋设计

来源:互联网 发布:淘宝化妆品名称大全 编辑:程序博客网 时间:2024/05/18 03:13

        初学flash AS3.0编程,刚刚完成了一个五子棋的设计,接下来我在此分享一下在五子棋制作过程的一些感悟和方法(主要讲落子和悔棋两部分)。

一.准确落子

      五子棋下棋过程中,我们通过鼠标点击来落子,即便点击的位置稍有偏差还是能落到我们想要的位置。这里我们可以对棋盘见了一个鼠标侦听(board.addEventListener(MouseEvent.MOUSE_DOWN,MouseDown);),这样当鼠标点击键盘我们就能获得点击点的坐标stage.mouseX和stage.mouseY,然后通过(i = Math.round(stage.mouseX/ 30-1 );
     j = Math.round(stage.mouseY/ 30-1);30表示棋盘格子的宽度)得到i,j(i,j就是改点在棋盘上的坐标用二维数组qipan[i][j]表示),然后再将其用过转换(chess.x = 15+30 * i;chess.Y = 15+30 * i;15表示棋盘距离坐标原点的距离),这样棋子就能准确落在棋盘的(i,j)坐标处了,点击位置稍有也不会影响落子。

二.悔棋功能实现

    首先在落子的时候除了用来记录棋子qipan[i][j]={0(没有棋子).1(白棋).-1(黑棋)},再加一个二维数组qi[i][j]=步数,K(步数),在悔棋函数中通过qi[i][j]=k,找到最后一步所下的棋子坐标,然后将该点n=qipan[i][j](n用来记录最后一颗下的棋子的颜色),qipan[i][j]=0(该坐标设成没有棋子),然后通过chess_board.removeChildAt(k-1);(之前黑白棋子的影片剪辑都加在chess_board这张影片剪辑上),最后通过n判断最后一颗棋子的颜色,并反馈落子函数。
     


0 0
原创粉丝点击