亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? chessmodel.java

?? 五子棋游戲源代碼,體現了基本的編程思路.
?? JAVA
字號:
package chess;/** * <p>Title:5chess </p> * <p>Description: </p> * <p>Copyright: seaboy.ping@263.net Copyright (c) 2002</p> * <p>Company: </p> * @author chenxiaoping * @version 1.0 */import javax.swing.JOptionPane;import javax.swing.JPanel;public class ChessModel {private int width,height,degree;private int x=0,y=0;private int[][] arrMap,arrMapShow;private boolean isOdd,isExist;private ChessFrame cf;    public ChessModel() {    }    public ChessModel(int degree)    {        this.isOdd=true;        //this.isExist=false;        if(degree == 1)        {            PanelInit(20, 15, degree);        }        if(degree == 2)        {            PanelInit(30, 20, degree);        }        if(degree == 3)        {            PanelInit(40, 30, degree);        }    }    private void PanelInit(int width, int height, int degree)    {        this.width = width;        this.height = height;        this.degree = degree;        //arrMap = new int[width+1][height+1];        arrMapShow = new int[width+1][height+1];        for(int i = 0; i <= width; i++)        {            for(int j = 0; j <= height; j++)            {                arrMapShow[i][j] = -5;                //arrMap[i][j] = 0;            }        }    }    public boolean getisOdd(){        return this.isOdd;    }    public void setisOdd(boolean isodd){       if(isodd)          this.isOdd=true;       else          this.isOdd=false;    }    public boolean getisExist(){        return this.isExist;    }    public int getWidth(){        return this.width;    }    public int getHeight(){        return this.height;    }    public int getDegree(){        return this.degree;    }    public int[][] getarrMapShow()    {        return arrMapShow;    }    private boolean badxy(int x, int y)    {        if(x >= width+20 || x < 0)            return true;        return y >= height+20 || y < 0;    }    public boolean chessExist(int i,int j){       if(this.arrMapShow[i][j]==1 || this.arrMapShow[i][j]==2)           return true;       return false;    }/*    public void flash(int x,int y){       if(badxy(x,y))          return;       if(chessExist(x,y))          return;       this.arrMapShow[x][y]=-1;    }*/    public void readyplay(int x,int y){       if(badxy(x,y))          return;       if (chessExist(x,y))          return;       this.arrMapShow[x][y]=3;    }    public void play(int x,int y){       if(badxy(x,y))          return;       if(chessExist(x,y))       {          this.isExist=true;          return;       }       else          this.isExist=false;       if(getisOdd()){          setisOdd(false);          this.arrMapShow[x][y]=1;       }       else{          setisOdd(true);          this.arrMapShow[x][y]=2;       }    }   //計算機走棋   /*     說明:用窮舉法判斷每一個坐標點的四個方向的的最大棋子數,最后     得出棋子數最大值的坐標,下子   */    public void computerdo(int width,int height){        int max_black,max_red,max_temp,max=0;        //int x=0,y=0;        setisOdd(true);        System.out.println("computer is doing ...");        for(int i = 0; i <= width; i++)        {            for(int j = 0; j <= height; j++)            {                if(!chessExist(i,j))                {  //算法判斷是否下子                   max_red=checkMax(i,j,2);//判斷紅子的最大值                   max_black=checkMax(i,j,1);//判斷黑子的最大值                   //max_temp=max_red>=max_black?max_red:max_black;                   max_temp=Math.max(max_red,max_black);                   if(max_temp>max)                   {                      max=max_temp;                      this.x=i;                      this.y=j;                   }                }            }        }        setX(this.x);        setY(this.y);        this.arrMapShow[this.x][this.y]=2;    }  //記錄計算機下子的坐標    public void setX(int x){        this.x=x;    }    public void setY(int y){        this.y=y;    }  //獲得計算機下子的坐標    public int getX(){        return this.x;    }    public int getY(){        return this.y;    }    //計算某一點的四個方向上棋子最多值    public int checkMax(int x, int y,int black_or_red){          int num=0,max_num,max_temp=0;          int x_temp=x,y_temp=y;          int x_temp1=x_temp,y_temp1=y_temp;        //judge right          for(int i=1;i<5;i++){              x_temp1+=1;              if(x_temp1>this.width)                  break;              if(this.arrMapShow[x_temp1][y_temp1]==black_or_red)                  num++;              else                  break;          }        //judge left          x_temp1=x_temp;          for(int i=1;i<5;i++){              x_temp1-=1;              if(x_temp1<0)                  break;              if(this.arrMapShow[x_temp1][y_temp1]==black_or_red)                  num++;              else                  break;          }          if(num<5)             max_temp=num;        //judge up          x_temp1=x_temp;          y_temp1=y_temp;          num=0;          for(int i=1;i<5;i++){              y_temp1-=1;              if(y_temp1<0)                  break;              if(this.arrMapShow[x_temp1][y_temp1]==black_or_red)                  num++;              else                  break;          }        //judge down          y_temp1=y_temp;          for(int i=1;i<5;i++){              y_temp1+=1;              if(y_temp1>this.height)                  break;              if(this.arrMapShow[x_temp1][y_temp1]==black_or_red)                  num++;              else                  break;          }          if(num>max_temp&&num<5)             max_temp=num;        //judge left_up          x_temp1=x_temp;          y_temp1=y_temp;          num=0;          for(int i=1;i<5;i++){              x_temp1-=1;              y_temp1-=1;              if(y_temp1<0 || x_temp1<0)                  break;              if(this.arrMapShow[x_temp1][y_temp1]==black_or_red)                  num++;              else                  break;          }        //judge right_down          x_temp1=x_temp;          y_temp1=y_temp;          for(int i=1;i<5;i++){              x_temp1+=1;              y_temp1+=1;              if(y_temp1>this.height || x_temp1>this.width)                  break;              if(this.arrMapShow[x_temp1][y_temp1]==black_or_red)                  num++;              else                  break;          }          if(num>max_temp&&num<5)               max_temp=num;        //judge right_up          x_temp1=x_temp;          y_temp1=y_temp;          num=0;          for(int i=1;i<5;i++){              x_temp1+=1;              y_temp1-=1;              if(y_temp1<0 || x_temp1>this.width)                  break;              if(this.arrMapShow[x_temp1][y_temp1]==black_or_red)                  num++;              else                  break;          }        //judge left_down          x_temp1=x_temp;          y_temp1=y_temp;          for(int i=1;i<5;i++){              x_temp1-=1;              y_temp1+=1;              if(y_temp1>this.height || x_temp1<0)                  break;              if(this.arrMapShow[x_temp1][y_temp1]==black_or_red)                  num++;              else                  break;          }          if(num>max_temp&&num<5)                 max_temp=num;          max_num=max_temp;          return max_num;    }    public boolean judgeSuccess(int x,int y,boolean isodd){          int num=1;          int arrvalue;          int x_temp=x,y_temp=y;          if(isodd)              arrvalue=2;          else              arrvalue=1;          int x_temp1=x_temp,y_temp1=y_temp;        //judge right          for(int i=1;i<6;i++){              x_temp1+=1;              if(x_temp1>this.width)                  break;              if(this.arrMapShow[x_temp1][y_temp1]==arrvalue)                  num++;              else                  break;          }        //judge left          x_temp1=x_temp;          for(int i=1;i<6;i++){              x_temp1-=1;              if(x_temp1<0)                  break;              if(this.arrMapShow[x_temp1][y_temp1]==arrvalue)                  num++;              else                  break;          }          if(num==5)               return true;        //judge up          x_temp1=x_temp;          y_temp1=y_temp;          num=1;          for(int i=1;i<6;i++){              y_temp1-=1;              if(y_temp1<0)                  break;              if(this.arrMapShow[x_temp1][y_temp1]==arrvalue)                  num++;              else                  break;          }        //judge down          y_temp1=y_temp;          for(int i=1;i<6;i++){              y_temp1+=1;              if(y_temp1>this.height)                  break;              if(this.arrMapShow[x_temp1][y_temp1]==arrvalue)                  num++;              else                  break;          }          if(num==5)               return true;        //judge left_up          x_temp1=x_temp;          y_temp1=y_temp;          num=1;          for(int i=1;i<6;i++){              x_temp1-=1;              y_temp1-=1;              if(y_temp1<0 || x_temp1<0)                  break;              if(this.arrMapShow[x_temp1][y_temp1]==arrvalue)                  num++;              else                  break;          }        //judge right_down          x_temp1=x_temp;          y_temp1=y_temp;          for(int i=1;i<6;i++){              x_temp1+=1;              y_temp1+=1;              if(y_temp1>this.height || x_temp1>this.width)                  break;              if(this.arrMapShow[x_temp1][y_temp1]==arrvalue)                  num++;              else                  break;          }          if(num==5)               return true;        //judge right_up          x_temp1=x_temp;          y_temp1=y_temp;          num=1;          for(int i=1;i<6;i++){              x_temp1+=1;              y_temp1-=1;              if(y_temp1<0 || x_temp1>this.width)                  break;              if(this.arrMapShow[x_temp1][y_temp1]==arrvalue)                  num++;              else                  break;          }        //judge left_down          x_temp1=x_temp;          y_temp1=y_temp;          for(int i=1;i<6;i++){              x_temp1-=1;              y_temp1+=1;              if(y_temp1>this.height || x_temp1<0)                  break;              if(this.arrMapShow[x_temp1][y_temp1]==arrvalue)                  num++;              else                  break;          }          if(num==5)               return true;       return false;    }    public void showSuccess(JPanel jp){          JOptionPane.showMessageDialog(jp,"Congratulation!You win the game!","win",JOptionPane.INFORMATION_MESSAGE);    }    public void showDefeat(JPanel jp){          JOptionPane.showMessageDialog(jp,"You lost,try again!","lost",JOptionPane.INFORMATION_MESSAGE);    }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产一区二区三区观看| 午夜激情综合网| 成人综合婷婷国产精品久久| 久久久久久麻豆| 国产69精品久久久久毛片| 久久久美女毛片| www.久久精品| 亚洲综合免费观看高清完整版在线| 欧美揉bbbbb揉bbbbb| 日韩激情av在线| 精品美女被调教视频大全网站| 久久国产日韩欧美精品| 国产日韩欧美激情| 91色综合久久久久婷婷| 午夜影视日本亚洲欧洲精品| 欧美一级欧美一级在线播放| 国内精品免费**视频| 午夜视频在线观看一区二区三区| 欧美日韩国产精品自在自线| 久久99精品久久久久| 国产女人18毛片水真多成人如厕 | 国产精品国产三级国产aⅴ中文 | 91麻豆6部合集magnet| 亚洲国产一二三| 亚洲精品在线观| 91美女在线看| 麻豆精品新av中文字幕| 国产精品美女久久久久av爽李琼 | 成人v精品蜜桃久久一区| 亚洲少妇30p| 日韩视频中午一区| 福利一区在线观看| 亚洲电影在线播放| 中文字幕精品综合| 欧美日韩激情在线| 国产一级精品在线| 亚洲欧美电影院| 日韩精品在线网站| 91香蕉视频黄| 国产精品自拍网站| 亚洲成人黄色影院| 国产精品国模大尺度视频| 欧美片网站yy| 一本大道久久a久久综合婷婷| 精品亚洲成a人| 亚洲va欧美va天堂v国产综合| 久久久www成人免费无遮挡大片| 欧美日韩一本到| 99视频热这里只有精品免费| 国产在线视频精品一区| 亚洲一区二区三区三| 日本一区二区高清| 精品日韩成人av| 6080国产精品一区二区| 99视频一区二区三区| 国产福利91精品一区| 喷白浆一区二区| 香蕉久久一区二区不卡无毒影院| 日韩一区在线播放| 欧美国产一区在线| 国产午夜久久久久| 久久久噜噜噜久久中文字幕色伊伊| 777亚洲妇女| 欧美日韩视频不卡| 欧美午夜免费电影| 在线观看日韩毛片| 不卡的看片网站| 国产成人精品免费在线| 国模无码大尺度一区二区三区 | 国产又粗又猛又爽又黄91精品| 午夜一区二区三区在线观看| 亚洲蜜臀av乱码久久精品| 中文字幕国产精品一区二区| 久久蜜桃一区二区| 欧美不卡在线视频| 日韩亚洲欧美一区二区三区| 欧美精品一级二级| 3d动漫精品啪啪一区二区竹菊| 欧美三级三级三级爽爽爽| 在线观看免费一区| 欧美午夜寂寞影院| 欧美日韩亚洲综合| 欧美一区二区三区视频免费播放| 在线播放中文一区| 91精品国产91久久久久久一区二区 | 六月婷婷色综合| 久久精品国产色蜜蜜麻豆| 精品一区二区三区免费毛片爱 | 国产精品一区二区免费不卡| 久久成人久久爱| 国产高清精品久久久久| 成人精品免费网站| 91亚洲精品久久久蜜桃网站 | 男人的天堂亚洲一区| 捆绑调教一区二区三区| 国产一区二区不卡在线| 成人综合在线视频| 91福利精品视频| 欧美肥妇bbw| 精品99久久久久久| 中文字幕一区二区三区视频| 一区二区三区在线观看视频 | 日韩精品一区二区三区视频播放 | 精品亚洲成a人在线观看 | 91视频国产资源| 欧美精品一卡二卡| 国产欧美一区二区精品性色| 中文字幕在线不卡视频| 亚洲国产成人av网| 另类小说色综合网站| 成人高清在线视频| 欧美日韩在线播| 久久久久久久网| 亚洲综合男人的天堂| 国产麻豆成人精品| 欧美最新大片在线看| 欧美一级欧美一级在线播放| 国产精品区一区二区三区| 亚洲最新在线观看| 韩国一区二区在线观看| 色悠悠亚洲一区二区| 欧美不卡在线视频| 亚洲综合视频在线观看| 国产毛片精品一区| 欧美日韩国产高清一区二区 | 国产精品初高中害羞小美女文| 午夜成人免费视频| 成人一区二区三区| 欧美一区二区啪啪| 亚洲人成亚洲人成在线观看图片| 美腿丝袜亚洲综合| 91久久久免费一区二区| 久久久久久久综合狠狠综合| 亚洲不卡在线观看| 99精品久久免费看蜜臀剧情介绍| 日韩美一区二区三区| 亚洲另类春色国产| 国产高清精品在线| 日韩欧美一区二区免费| 亚洲综合精品久久| 99热国产精品| 五月天网站亚洲| a4yy欧美一区二区三区| 国产亚洲精品aa| 看电影不卡的网站| 欧美日韩视频第一区| 最好看的中文字幕久久| 国产一区视频网站| 精品欧美一区二区三区精品久久 | 国产精一区二区三区| 欧美日韩亚洲高清一区二区| 国产精品天天看| 国产精品综合二区| 久久女同精品一区二区| 免费成人你懂的| 欧美一级欧美一级在线播放| 午夜激情一区二区| 欧美日韩高清一区| 亚洲综合色丁香婷婷六月图片| 不卡的电影网站| 日本一区二区三区在线不卡| 国产一区91精品张津瑜| 精品国产乱码久久久久久图片| 日韩精品免费专区| 欧美日韩视频专区在线播放| 亚洲国产精品人人做人人爽| 一本一道综合狠狠老| 中文字幕视频一区二区三区久| 成人一区二区三区| 国产蜜臀av在线一区二区三区| 国产99久久精品| 亚洲欧洲无码一区二区三区| 成人av影视在线观看| 日本一区二区成人| 91网站最新网址| 一区二区三区欧美日| 在线观看国产日韩| 亚洲成av人片一区二区三区| 欧美人狂配大交3d怪物一区| 午夜一区二区三区视频| 欧美一区二区三区在| 蜜桃av一区二区| 久久久噜噜噜久久人人看| 国产成人99久久亚洲综合精品| 国产精品乱码一区二区三区软件| 99热国产精品| 亚洲午夜国产一区99re久久| 4438x成人网最大色成网站| 老司机精品视频在线| 久久久久久黄色| 色综合天天性综合| 亚洲中国最大av网站| 欧美日韩国产三级| 久草精品在线观看| 国产精品久久综合| 欧美午夜不卡在线观看免费| 日本午夜精品一区二区三区电影 | 国产精品三级av在线播放| 91在线高清观看| 亚洲v精品v日韩v欧美v专区|