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

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

?? func.java

?? 這是一個經典的五子棋程序能夠人機對戰
?? JAVA
字號:
package game;

/**
 * <p>Title: 五子棋</p>
 *
 * <p>Description: 五子棋游戲</p>
 *
 * <p>Copyright: Copyright (c) 2005</p>
 *
 * <p>Company: David Company</p>
 *
 * @author David
 * @version 1.0
 */
public class Func {
    private int[][] s=new int[15][];  //s=2 表示沒有任何棋子,s=0表示黑方,s=1白方
    //下面數據是調試算法x,y
   int resultX=-1;
   int resultY=-1;
   //下面是一些圖象常量數據
    int linespace=28;
    int xn=15;
    int yn=15;
    //保存MAX相同權值
    int equalMax[][]=new int[225][];   //equalMax[][0]=x;  equalMax[][1]=y
    int m_equalMax=-1;

    public Func() {
            for (int i=0;i<=14;i++){
              s[i] = new int[15];
              for (int j=0;j<=14;j++){
                s[i][j]=2;
              }
            }
    }
    public int getResultX(){
        return resultX;
    }
    public int getResultY(){
        return resultY;
    }
    public void setXY(int x,int y,int turn){
        s[x][y]=turn;
    }
    public void run(){
        getXY();
    }
    /* nowS is the function to view S[][] */
    public void showS(){
        for (int i=0;i<=14;i++){
            for (int j = 0; j <= 14; j++) {
                System.out.print(s[i][j] + " ");
            }
            System.out.println("");
        }
    }


    /* 下面是算法部分 */
   //isFive is the funcation to check 五個子
    private long calw(int x,int y,int turn){
        int a[][]=new int[4][];
        int i;
        int num;
        long w=0;  //w為權
        //初始化a[i][j]=0;
        //  i表示方向 j=0表示數目   j=1表示死活狀態,0兩頭死,=1一頭死,=2活
        for (i=0;i<=3;i++){
           a[i] = new int[2];
           for (int j=0;j<=1;j++){
             a[i][j]=0;
           }
         }
        //記錄左右棋子個數
        num=0;i=1;
        //左
        while (true) {
            if ((y-i)<0) break;
            if (s[x][y-i]!=turn) {
                if (s[x][y-i]==2) a[0][1]++;
                break;
            }
            else{
                   i++;
                   num++;
                }
        }
        //右
        i=1;
        while (true){
           if ((y+i)>14) break;
           if (s[x][y+i]!=turn) {
               if (s[x][y+i]==2) a[0][1]++;
               break;
           }
           else{
                    i++;
                    num++;
           }
         }
        a[0][0]=num;

        //記錄左上右下棋子個數
        num=0;i=1;
        //左上
        while (true) {
            if ((x-i)<0 || (y-i)<0) break;
            if (s[x-i][y-i]!=turn) {
                if (s[x-i][y-i]==2) a[1][1]++;
                break;
            }
            else{
                   i++;
                   num++;
            }
        }
        //右下
        i=1;
        while (true){
           if ((x+i)>14 || (y+i)>14) break;
           if (s[x+i][y+i]!=turn) {
               if (s[x+i][y+i]==2) a[1][1]++;
               break;
           }
           else{
                   i++;
                   num++;
           }
        }
        a[1][0]=num;

        //記錄上下棋子個數
        num=0; i=1;
        //上
        while (true) {
            if ((x-i)<0) break;
            if (s[x-i][y]!=turn) {
                if (s[x-i][y]==2) a[2][1]++;
                break;
            }
            else{
                   i++;
                   num++;
                }
        }
        //下
        i=1;
        while (true){
           if ((x+i)>14) break;
           if (s[x+i][y]!=turn) {
               if (s[x+i][y]==2) a[2][1]++;
               break;
           }
           else{
                    i++;
                    num++;
           }
        }
        a[2][0]=num;

        //記錄右上左下棋子個數
        num=0;i=1;
        //右上
        while (true) {
            if ((x-i)<0 || (y+i)>14) break;
            if (s[x-i][y+i]!=turn) {
                if (s[x-i][y+i]==2) a[3][1]++;
                break;
            }
            else{
                   i++;
                   num++;
            }
        }
        //左下
        i=1;
        while (true){
           if ((x+i)>14 || (y-i)<0) break;
           if (s[x+i][y-i]!=turn) {
               if (s[x+i][y-i]==2) a[3][1]++;
               break;
           }
           else{
                   i++;
                   num++;
           }
        }
        a[3][0]=num;

       for (i=0;i<=3;i++) {
           if (a[i][0] == 4) { //雖然兩頭死,但是可以成5
               w=w+100000;
           }
           if (a[i][1] == 2) {
               if (a[i][0]>=4) w=w+100000;  //能成活5
               if (a[i][0]==3) {//能成活4
                   if (w==0) w=10000;
                   else if (w<10000) w=w*10+10000;
                        else w=100000*10+w;
               }
               if (a[i][0]==2) {//能成活3
                   if (w==0) w=200;
                   else if (w<200) w=w*10+200;
                        else w=200*10+w;
               }
               if (a[i][0]==1) {//能成活2
                   if (w==0) w=5;
                   else if (w<5) w=w*10+5;
                        else w=5*10+w;
               }
           }
           if (a[i][1]==1){
               if (a[i][0]>=4) {  //能成死5
                   w = w + 100000;
               }
               if (a[i][0]==3) { //能成死4
                   if (w==0) w=500;
                   else if (w<500) w=w*10+500;
                        else w=500*10+w;
               }
               if (a[i][0]==2) { //能成死3
                   if (w==0) w=50;
                   else if (w<50) w=w*10+50;
                        else w=50*10+w;
               }
               if (a[i][0]==1) { //能成死2
                   if (w==0) w=3;
                   else if (w<3) w=w*10+3;
                        else w=3*10+w;
               }
           }
       }
       return w;
    }

    //this funcation to getXY from Computer
    private void getXY(){
    long max=0;
    long temp=0;
    int i,j;
        for (i=0;i<=14;i++){
          for (j = 0; j <= 14; j++) {
            if (s[i][j]==2){
              temp=calw(i,j,1);
             // if (temp!=0) System.out.println("                 ==Com==w[" + i + "," + j + "]=" + temp);
              if (temp>2200) temp=temp*3;
              if (max<temp) {
                  max=temp;
                  equalMax[0]=new int[3];
                  m_equalMax=-1;
                  equalMax[0][0]=i;
                  equalMax[0][1]=j;
              }
              if (max==temp && max!=0){
                  m_equalMax++;
                  equalMax[m_equalMax]=new int[3];
                  equalMax[m_equalMax][0]=i;
                  equalMax[m_equalMax][1]=j;
              }

              temp=calw(i,j,0); //player;
              //if (temp!=0) System.out.println("                 ==Pla==w[" + i + "," + j + "]=" + temp);
              if (temp<200) temp--; else temp*=2;
              if (max<temp) {
                  max=temp;
                  equalMax[0]=new int[3];
                  m_equalMax=-1;
                  equalMax[0][0]=i;
                  equalMax[0][1]=j;
              }
              if (max==temp && max!=0){
                  m_equalMax++;
                  equalMax[m_equalMax]=new int[3];
                  equalMax[m_equalMax][0]=i;
                  equalMax[m_equalMax][1]=j;
              }
            }
          }
        }
        //隨機產生
        int t;
        if (max==0) {resultX=-1;resultY=-1;}
        else{
            t=(int)(Math.random()* (m_equalMax+1));
            resultX=equalMax[t][0];
            resultY=equalMax[t][1];
        }
    }
    /* 算法部分結束 */

    //isDrawNow is the funcation to check wheather draw
    public boolean isDrawNow(int x,int y){
       System.out.println( " X=" + x + ",Y=" + y);
       if (x > xn || y > yn ) return false;
       if (s[x][y]==1 || s[x][y]==0) return false;
       return true;
    }

    public boolean isOK(){
        int x;
        for (int i=0;i<=10;i++){
          for (int j=0;j<=14;j++){
              if (s[i][j]!=2){
                  x=s[i][j];
                  if ( j >= 4){ //搜索左下方
                      if (x==s[i][j] && x==s[i+1][j-1]  && x==s[i+2][j-2] && x==s[i+3][j-3]&& x==s[i+4][j-4]){
                          return true;
                      }
                  }
                  //下方
                  if (x==s[i][j] && x==s[i+1][j]  && x==s[i+2][j] && x==s[i+3][j]&& x==s[i+4][j]){
                          return true;
                  }
                  //右下方
                  if ( j <= 10){ //搜索左下方
                      if (x==s[i][j] && x==s[i+1][j+1]  && x==s[i+2][j+2] && x==s[i+3][j+3]&& x==s[i+4][j+4]){
                          return true;
                      }
                  }
                  //右方
                  if ( j <= 10){ //搜索右方
                      if (x==s[i][j] && x==s[i][j+1]  && x==s[i][j+2] && x==s[i][j+3] && x==s[i][j+4]){
                          return true;
                      }
                  }
              }
          }
        }
        return false;
    }

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产亚洲精品中文字幕| 91精品国产91久久综合桃花| 狂野欧美性猛交blacked| 亚洲成人先锋电影| 亚洲午夜精品在线| 亚洲一区二区三区中文字幕在线| 亚洲手机成人高清视频| 国产精品久久久久国产精品日日| 国产日产亚洲精品系列| 中文字幕精品三区| 亚洲色图欧美在线| 亚洲成人av福利| 美国精品在线观看| 国产精品中文欧美| 成人午夜又粗又硬又大| 色综合色狠狠天天综合色| 色狠狠综合天天综合综合| 欧美无人高清视频在线观看| 欧美精品在线观看播放| 日韩欧美国产综合一区 | 天天影视涩香欲综合网| 日韩激情一区二区| 国产原创一区二区| 99九九99九九九视频精品| 日本道免费精品一区二区三区| 欧美亚洲国产一区在线观看网站| 欧美一区日本一区韩国一区| 久久久99精品久久| 自拍视频在线观看一区二区| 亚欧色一区w666天堂| 国产一区二区视频在线播放| 91亚洲精品乱码久久久久久蜜桃| 欧美日韩在线播放三区| 精品国偷自产国产一区| 国产精品欧美综合在线| 香蕉成人伊视频在线观看| 狠狠色丁香婷综合久久| 91福利国产精品| 久久青草欧美一区二区三区| 亚洲靠逼com| 国产一区二三区| 在线观看亚洲成人| 久久精品在线观看| 五月激情六月综合| 91亚洲国产成人精品一区二三| 欧美一区二区久久| 综合久久久久久久| 国产一区二区免费在线| 欧美日韩高清在线播放| 最新国产の精品合集bt伙计| 久久国产精品99久久人人澡| 欧美在线观看视频一区二区 | 久久国产视频网| 色婷婷综合五月| 国产日韩成人精品| 久久精品国产精品亚洲精品| 欧美亚洲动漫另类| 中文字幕一区在线观看视频| 国内精品国产成人| 这里是久久伊人| 亚洲国产成人av网| 欧美综合亚洲图片综合区| 国产精品美女久久福利网站| 精品亚洲国内自在自线福利| 欧美美女激情18p| 亚洲午夜久久久久| 91精品办公室少妇高潮对白| 欧美国产欧美亚州国产日韩mv天天看完整| 日韩电影免费在线| 欧美电影在哪看比较好| 一区二区三区91| 色综合中文字幕| 最新日韩av在线| 97精品久久久午夜一区二区三区 | www.视频一区| 亚洲精品欧美激情| 成人午夜私人影院| 中文字幕亚洲成人| 91麻豆自制传媒国产之光| 中文字幕av资源一区| 岛国精品在线观看| 国产欧美一区二区三区在线老狼| 麻豆freexxxx性91精品| 久久久久久久久久久黄色| 国产乱子伦视频一区二区三区| 精品理论电影在线| 国产高清不卡一区二区| 欧美激情一区二区三区在线| www.在线欧美| 亚洲激情在线激情| 欧美二区在线观看| 狠狠色丁香久久婷婷综| 欧美国产在线观看| 色噜噜偷拍精品综合在线| 亚洲综合999| 日韩免费一区二区| 不卡av免费在线观看| 一区二区三区毛片| 日韩视频一区在线观看| 国产乱人伦偷精品视频免下载 | 欧美中文字幕久久| 日本中文在线一区| 国产亚洲美州欧州综合国| 成人精品小蝌蚪| 亚洲成人自拍一区| 久久综合精品国产一区二区三区| 成人av在线网| 午夜视频一区在线观看| 久久亚洲私人国产精品va媚药| 岛国一区二区三区| 亚洲一区二区三区影院| 精品国产一区二区三区久久久蜜月| 国产精品996| 亚洲成av人在线观看| 国产日韩欧美激情| 欧美日韩美女一区二区| 国产成人精品免费在线| 亚洲成人av免费| 1024精品合集| 久久久亚洲高清| 91精品国产综合久久久蜜臀图片| 国产99久久久国产精品潘金网站| 性做久久久久久免费观看| 亚洲电影第三页| 国产精品嫩草99a| 日韩欧美国产一区二区在线播放 | 亚洲成人免费视频| 欧美激情一二三区| 日韩一区二区三区在线视频| 91一区二区三区在线播放| 免费成人在线观看视频| 日韩毛片一二三区| 久久麻豆一区二区| 欧美女孩性生活视频| av电影在线观看完整版一区二区| 日本不卡一区二区三区 | 欧美亚洲高清一区二区三区不卡| 国产福利91精品一区| 美洲天堂一区二卡三卡四卡视频| 一区二区三区在线看| 国产精品青草综合久久久久99| 日韩精品一区二区三区视频| 欧美日韩一区二区三区在线| 91视频你懂的| 99久久夜色精品国产网站| 国产成人av一区二区三区在线观看| 日韩av网站在线观看| 亚洲一区二区三区在线看| 亚洲精品va在线观看| 亚洲精品福利视频网站| 亚洲精品一二三| 国产精品萝li| 国产精品卡一卡二| 国产精品成人免费在线| 国产精品美女久久久久久2018| 欧美激情一区二区三区全黄| 国产女同性恋一区二区| 国产视频亚洲色图| 欧美激情一区三区| 中文字幕日韩一区| 日韩理论片在线| 亚洲欧美偷拍三级| 亚洲精选视频在线| 亚洲国产成人av| 蜜桃av一区二区三区电影| 看电视剧不卡顿的网站| 国产精品综合av一区二区国产馆| 国产精品88av| 在线一区二区视频| 91精品国产综合久久精品麻豆| 777奇米四色成人影色区| 精品久久久久香蕉网| 久久久久久久av麻豆果冻| 国产精品毛片久久久久久| ㊣最新国产の精品bt伙计久久| 亚洲在线视频网站| 日韩高清不卡一区二区三区| 国产在线视频一区二区| 97久久精品人人做人人爽| 欧美日韩一区精品| 日韩三级.com| 中文字幕制服丝袜成人av| 亚洲国产精品一区二区尤物区| 久久国产生活片100| 972aa.com艺术欧美| 日韩一区二区免费在线电影| 欧美国产精品一区二区三区| 一区二区欧美精品| 韩国av一区二区| 色婷婷av一区二区三区gif | 91一区二区在线| 欧美一区二区女人| 国产精品日韩成人| 蜜臀av性久久久久av蜜臀妖精 | 亚洲一二三四区| 国模大尺度一区二区三区| 91久久一区二区| 久久久三级国产网站| 亚洲午夜精品网| 成人av动漫在线|