首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

人们五子棋的实现

2012-12-26 
人人五子棋的实现五子棋之人人五子棋的实现也算是继画板之后的另外一大工程了吧,不过还好,过程没有想象中

人人五子棋的实现
    五子棋之人人五子棋的实现也算是继画板之后的另外一大工程了吧,不过还好,过程没有想象中的难,接下来就来看看如何实现简单的五子棋吧!!这是五子棋的界面,虽然说很粗糙简单,可是基本功能还是很齐全的~~~


首先还是要创建一个五子棋的界面,同时在界面上实现棋盘的重绘和棋子的重绘,具体代码如下:

public  class Win {//存储棋子的数组        private int array[][]=new int[WZQ.X ][WZQ.Y ];        //构造函数        public  Win(int[][] array){        this.array=array;        }        //判断棋子竖向赢的方法,x和y是棋子的坐标        public boolean winS(int x,int y){        int count=0;//统计棋子的个数        //遍历这一行的列        //开始找左相邻的颜色相同的棋子        for(int i=y;i>=0;i--){        if(array[x][y]==array[x][i]){        count++;        }        else             break;        }        //找右相邻的颜色相同的棋子        for(int i=y+1;i<WZQ.Y;i++){                if(array[x][y]==array[x][i])        count++;              else         break;        }               //如果有5个或者5个以上颜色相同的棋子,返回true        if(count>=5)        return true;                else         return false;             }      //判断棋子横向赢的方法        public boolean winH(int x,int y){        int count=0;        for(int i=x;i>=0;i--){        if(array[x][y]==array[i][y])        count++;        else break;        }        for(int i=x+1;i<WZQ.X;i++){        if(array[x][y]==array[i][y]){        count++;                }        else break;        }                if(count>=5)        return true;        else         return false;        }        //判断棋子左斜方赢得方法     public boolean winL(int x,int y){     int count=0;     for(int i=x,j=y;i>=0&&j>=0;i--,j--){     if(array[x][y]==array[i][j])     count++;     else break;     }          for(int i=x+1,j=y+1;i<WZQ.X&&j<WZQ.Y;i++,j++){     if(array[x][y]==array[i][j])     count++;     else break;     }     if(count>=5)     return true;     else      return false;         }     //判断五子棋右斜方赢得方法     public boolean winR(int x,int y){     int count=1;     for(int i=x-1,j=y+1;i>=0&&j<WZQ.Y;i--,j++){     if(array[x][y]==array[i][j])     count++;         else break;     }     for(int i=x+1,j=y-1;i<WZQ.X&&j>=0;i++,j--){     if(array[x][y]==array[i][j])     count++;     else break;     }     if(count>=5)     return true;     else return false;     }           /**        * 验证棋子输赢的方法        */       public void win_or_not(int row,int column){       //判断是否五子相连       if(winS(row,column)||winH(row,column)||winL(row,column)       ||winR(row,column)){      if(array[row][column]==1){      //调用服务方法      showMessage("oh yeah!!!白棋胜利");      }      else if(array[row][column]==-1){           showMessage("黑棋胜利");      }       }       }       /**        * 显示弹出框的方法        */       public void showMessage(String message){       JOptionPane.showMessageDialog(null, message);       }}

      以上就是五子棋简单实现的全部代码,只要细心用心肯下功夫,总会成功的完成我们的目标,接下来的任务还是多多的,要更努力哦。。。

热点排行