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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? chesswzq.java

?? 五子棋游戲
?? JAVA
?? 第 1 頁 / 共 3 頁
字號:
//                System.out.println("B's color is"+msg.color);
            list.setEnabled(false);
            label3.setText(str);
            setting.setEnabled(false);
            jrbBlack.setEnabled(false);
            jrbWhite.setEnabled(false);
            beginFlag=true;
        }
        if(flag==1){// press NO
            msg.type=4; // deny request
        }
        try{
            out.writeObject(msg);
        }catch(IOException e){
            e.printStackTrace();
        }
    }
    public void paint(Graphics g){
        super.paint(g);
        drawChess(bpanel.getColor());
    }
    /**
     * Overridden so we can exit when window is closed
     */
    protected void processWindowEvent(WindowEvent e) {
        super.processWindowEvent(e);
        if (e.getID() == WindowEvent.WINDOW_CLOSING) {
            System.exit(0);
        }
    }
    // convert string to array which is end with '\0'
    public void strToCharArray(String str,char [] arr){
        int i;
        for(i=0;i<str.length()&&i<49;i++){
            arr[i] = str.charAt(i);
        }
        arr[i]='\0';
    }
    /**
     * filter array 's black space which is end of the array
     * @param arr
     * @param str
     */
    public String arrayToString(char [] arr){
        int i=0,length=0;
        while(arr[i]!='\0' && i<50){
            i++;
        }
        length=i;
        char [] ss = new char[length];
        for(i=0;i<length;i++){
            ss[i]=arr[i];
        }
        String str = new String(ss);
        return str;
        //System.out.println("arraytoString "+str+"length = "+length);
    }
    /**
     * do people play with computer
     */
    public void ptoComputer(){
        int x=0,y=0;
        int position;
        if(pFirst==false){
            x=7;
            y=7;
            bpanel.updateBoard(x,y);
            bpanel.drawChess(x,y);
            beginFlag=true;
        }else{
            beginFlag=true;
        }
    }
    /**
     * choos a best position to put chessman
     * @param x the newest chessman's x coordinate
     * @param y the newest chessman's y coordinate
     */
    private void cPutChess(int x,int y){
        setRect(x,y);
        setWeight(x,y,pColor);
        getBetter(3);
    }
    /**
     * set a rectangle of 9*9
     * @param x center of rectangle
     * @param y center of rectangle
     */
    private void setRect(int x,int y){
        if(x-4>0)  RectX1=x-4;
        else       RectX1=0;
        if(x+4>14) RectX2=14;
        else       RectX2=x+4;
        if(y-4>0)  RectY1=y-4;
        else       RectY1=0;
        if(y+4>14) RectY2=14;
        else       RectY2=y+4;
        if(RectX1>RectY1) RectX1 = x-(y-RectY1);
        else              RectY1 = y-(x-RectX1);
        if(RectX2>RectY2) RectY2 = y+(RectX2-x);
        else              RectX2 = x+(RectY2-y);
    }
    /**
     * set each black position's weight in the rectangle
     * @param x rectangle center's x coordinate
     * @param y rectangle center's x coordinate
     */
    private void setWeight(int x,int y,int tcolor){
        int i=RectX1,j=RectY1,value=0,k=0,n=0,flag=0;
        // '--' direction
        for(i=RectX1,j=y;i<=RectX2;i++){
            if(BoardPanel.board[i][j]!=0){
                continue;
            }
            value=0;flag=0;
            for(k=1;i-k>=RectX1 && k<5;k++){
                if(BoardPanel.board[i-k][j]==tcolor){
                    value++;
                    continue;
                }
                if(BoardPanel.board[i-k][j]==0){//black space
                    flag++;
                    break;
                }
            }
            for(k=1;i+k<RectX2 && k<5;k++){
                if(BoardPanel.board[i+k][j]==tcolor){
                    value++;
                }
                if(BoardPanel.board[i+k][j]==0){
                    flag++;
                    break;
                }
            }
            n=weight(value,flag);
            if(weightBoard[i][j]<n){
                weightBoard[i][j]=n;
            }
        }
        // '|' direction
        for(i=x,j=RectY1;j<=RectY2;j++){
            if(BoardPanel.board[i][j]!=0){
                continue;
            }
            value=0;flag=0;
            for(k=1;j-k>=RectY1 && k<5;k++){
                if(BoardPanel.board[i][j-k]==tcolor){
                    value++;
                    continue;
                }
                if(BoardPanel.board[i][j-k]==0){
                    flag++;
                    break;
                }
            }
            for(k=1;j+k<RectY2 && k<5;k++){
                if(BoardPanel.board[i][j+k]==tcolor){
                    value++;
                }
                if(BoardPanel.board[i][j+k]==0){
                    flag++;
                    break;
                }
            }
            n=weight(value,flag);
            if(weightBoard[i][j]<n){
                weightBoard[i][j]=n;
            }
        }
        // '\' direction
        for(i=RectX1,j=RectY1;i<=RectX2;i++,j++){
            if(BoardPanel.board[i][j]!=0){
                continue;
            }
            value=0;flag=0;
            for(k=1;i-k>=RectX1 && k<5 ;k++){
                if(BoardPanel.board[i-k][j-k]==tcolor){
                    value++;
                    continue;
                }
                if(BoardPanel.board[i-k][j-k]==0){
                    flag++;
                    break;
                }
            }
            for(k=1;i+k<RectX2 && k<5;k++){
                if(BoardPanel.board[i+k][j+k]==tcolor){
                    value++;
                }
                if(BoardPanel.board[i+k][j+k]==0){
                    flag++;
                    break;
                }
            }
            n=weight(value,flag);
            if(weightBoard[i][j]<n){
                weightBoard[i][j]=n;
            }
        }
        // '/' direction
        for(i=RectX2,j=RectY1;i>=RectX1;i--,j++){
            if(BoardPanel.board[i][j]!=0){
                continue;
            }
            value=0;flag=0;
            for(k=1;i+k<=RectX2 && k<5;k++){
                if(BoardPanel.board[i+k][j-k]==tcolor){
                    value++;
                    continue;
                }
                if(BoardPanel.board[i+k][j-k]==0){
                    flag++;
                    break;
                }
            }
            for(k=1;i-k>=RectX1 && k<5;k++){
                if(BoardPanel.board[i-k][j+k]==tcolor){
                    value++;
                }
                if(BoardPanel.board[i-k][j+k]==0){
                    flag++;
                    break;
                }
            }
            n=weight(value,flag);
            if(weightBoard[i][j]<n){
                weightBoard[i][j]=n;
            }
        }
    }
    /**
     * return weight
     * @param count
     * @param flag
     * @return
     */
    private int weight(int count, int flag)
    {
        int weight=0;
        switch(count){
            case 0:{
                if(flag>0) weight=200;
                else weight=0;
                break;
            }
            case 1:{
                if(flag>0) weight=1000;
                else weight=0;
                break;
            }
            case 2:{
                if(flag>0) weight=5000;
                else weight=0;
                break;
            }
            case 3:{
                if(flag>0) weight=8000;
                else weight=0;
                break;
            }
            case 4:{
                if(flag>0) weight=10000;
                else weight=0;
                break;
            }
        }
        return weight;
    }
    /**
     * search all board and find the better count position
     * @param count better position's number default value is 3
     */
    private void getBetter(int count){
        int [][] better = new int [count][2];
        int [][] tempArray = new int [15][15];
        for(int i=0;i<15;i++){
            for(int j=0;j<15;j++){
                tempArray[i][j]=weightBoard[i][j];
            }
        }
        for(int i=0;i<count;i++){
            getBiggest(tempArray,better[i][0],better[i][1]);
        }
        bestX=better[0][0];bestY=better[0][1];
    }
    /**
     *
     * @param arr
     * @param x
     * @param y
     */
    private void getBiggest(int [][] arr,int x,int y){
        int [] temp=new int[2];
        int swt=arr[0][0],tmp=0;
        for(int i=0;i<15;i++){
            for(int j=0;j<15;j++){
                if(arr[i][j]>swt){
                    temp[0]=i;temp[1]=j;
                    swt=arr[i][j];
                }
            }
        }
        x=temp[0];
        y=temp[1];
        arr[x][y]=0;
    }


}///:-)

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
另类调教123区| 国产精品午夜在线观看| 亚洲成人免费视| 欧美性videosxxxxx| 日韩av一区二| 久久夜色精品国产噜噜av| 国产成人亚洲综合a∨猫咪| 中文字幕日韩一区| 欧美视频一区二区三区在线观看| 亚洲国产wwwccc36天堂| 日韩欧美在线观看一区二区三区| 久久成人免费日本黄色| 国产精品丝袜久久久久久app| 波波电影院一区二区三区| 亚洲黄色尤物视频| 日韩欧美国产麻豆| 成人听书哪个软件好| 亚洲一区二区三区四区中文字幕| 91精品国产色综合久久ai换脸| 久久99国产精品成人| 中文字幕在线观看不卡视频| 在线电影国产精品| 国产福利91精品一区二区三区| 亚洲女同一区二区| 欧美不卡一二三| 一本色道久久综合狠狠躁的推荐| 午夜精品免费在线观看| 久久久久久久久97黄色工厂| 一本久道久久综合中文字幕| 久久国产日韩欧美精品| 亚洲人吸女人奶水| 欧美精品一区二区高清在线观看 | 东方欧美亚洲色图在线| 亚洲欧美国产77777| 精品美女一区二区三区| 色伊人久久综合中文字幕| 国产一区二区福利视频| 亚洲韩国一区二区三区| 国产精品麻豆久久久| 日韩欧美一区在线| 欧美视频在线不卡| www.亚洲人| 国产一区二区免费视频| 视频精品一区二区| 亚洲区小说区图片区qvod| 精品久久人人做人人爽| 欧美日韩免费电影| 日本道精品一区二区三区| 大陆成人av片| 国产一级精品在线| 蜜桃一区二区三区在线| 午夜精品久久久久久不卡8050| 国产精品久久久爽爽爽麻豆色哟哟| 欧美成人一区二区三区片免费| 91官网在线免费观看| 91免费在线播放| 国产成人免费视| 国产一区二区0| 久久99国产精品久久99果冻传媒| 天天免费综合色| 亚洲第四色夜色| 亚洲自拍都市欧美小说| 亚洲区小说区图片区qvod| 国产精品久久看| 欧美国产精品v| 国产女人18水真多18精品一级做| 精品久久一区二区| 久久影院视频免费| 久久综合99re88久久爱| 日韩一级大片在线| 日韩欧美激情四射| 精品国产乱码久久久久久蜜臀| 日韩欧美视频在线| 日韩欧美一级二级三级| 日韩精品资源二区在线| 欧美成人aa大片| 欧美精品一区在线观看| 久久色.com| 欧美国产精品v| 亚洲日本成人在线观看| 亚洲一区免费在线观看| 午夜精品久久一牛影视| 麻豆精品新av中文字幕| 国产一区美女在线| 国产a久久麻豆| 91麻豆免费看| 欧美中文字幕一区| 日韩三级精品电影久久久| 精品噜噜噜噜久久久久久久久试看 | 99久久亚洲一区二区三区青草 | 国产日韩欧美制服另类| 精品国产乱码久久久久久久久 | 久久久久9999亚洲精品| 欧美国产精品一区二区| 亚洲柠檬福利资源导航| 亚洲国产日产av| 久久精品国产77777蜜臀| 国产黑丝在线一区二区三区| 99久久精品国产一区二区三区| 91福利区一区二区三区| 欧美一卡在线观看| 欧美国产日产图区| 一个色妞综合视频在线观看| 亚洲高清三级视频| 精久久久久久久久久久| 成人av电影在线| 欧美色图12p| 久久嫩草精品久久久精品| 亚洲男同性视频| 美女网站色91| 粉嫩av一区二区三区粉嫩| 欧美日韩在线不卡| 精品国产91乱码一区二区三区| 最新热久久免费视频| 日韩精品乱码av一区二区| 国产91精品免费| 欧美视频在线一区二区三区 | 色狠狠综合天天综合综合| 在线播放91灌醉迷j高跟美女| 久久影院午夜论| 亚洲成a天堂v人片| 国产精品1区二区.| 欧美少妇一区二区| 久久精品男人天堂av| 亚洲午夜一区二区三区| 国产一区欧美二区| 亚洲码国产岛国毛片在线| 中文字幕一区二区三区精华液 | a在线播放不卡| 自拍偷拍亚洲综合| 裸体一区二区三区| 欧洲中文字幕精品| 国产日韩欧美精品电影三级在线| 丝袜亚洲另类丝袜在线| 成人av中文字幕| 日韩精品综合一本久道在线视频| 亚洲欧美另类小说| 国产一级精品在线| 制服丝袜成人动漫| 亚洲精品成人在线| 成人一级片在线观看| 欧美成人a视频| 天堂资源在线中文精品| 色诱视频网站一区| 国产网站一区二区| 激情五月婷婷综合网| 日韩午夜在线观看视频| 午夜久久久影院| 在线欧美小视频| 亚洲精品国产无天堂网2021| 波多野结衣在线一区| 久久尤物电影视频在线观看| 另类小说综合欧美亚洲| 欧美人xxxx| 偷拍一区二区三区| 欧美在线你懂的| 一区二区三区**美女毛片| 99久久精品国产导航| 日本一二三不卡| 成人免费高清在线| 国产精品美女久久久久久| 国产高清视频一区| 久久人人爽爽爽人久久久| 国模娜娜一区二区三区| 日韩免费看的电影| 麻豆精品久久久| 精品国产伦一区二区三区观看方式 | 欧美一区二区三区在线观看| 亚洲一卡二卡三卡四卡五卡| 欧洲av一区二区嗯嗯嗯啊| 亚洲少妇最新在线视频| 91在线观看成人| 亚洲自拍偷拍综合| 欧美日韩一级二级| 男男视频亚洲欧美| 久久久久国产精品人| 国产成人福利片| 亚洲人快播电影网| 欧美吻胸吃奶大尺度电影| 日韩精品久久理论片| 日韩欧美卡一卡二| 国产露脸91国语对白| 日韩一区欧美小说| 欧美日韩五月天| 免费成人在线网站| 久久久精品欧美丰满| 99久久精品免费观看| 天天操天天干天天综合网| 精品999久久久| 波多野结衣视频一区| 亚洲欧美另类在线| 91麻豆精品91久久久久同性| 狠狠色狠狠色综合| 亚洲女同一区二区| 欧美一级xxx| 成人国产视频在线观看 | 视频在线观看一区| 久久综合五月天婷婷伊人| 99久久精品免费| 青青草91视频|