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

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

?? chesswzq.java

?? 用java 編寫的五子棋程序。適合java初學(xué)者
?? 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一区二区三区免费野_久草精品视频
91精品91久久久中77777| 国产成人亚洲综合a∨婷婷 | 高清视频一区二区| 久久久www成人免费无遮挡大片 | 日本一区二区三区免费乱视频 | 国产精品一区二区在线观看网站| 欧美成人激情免费网| 国产在线一区二区| 中文字幕欧美激情| 色视频欧美一区二区三区| 亚洲成人动漫一区| 精品国产一区久久| 不卡一区二区三区四区| 一区二区三区日韩在线观看| 欧美一区二区视频在线观看2020| 看电视剧不卡顿的网站| 日本一区二区在线不卡| 欧美艳星brazzers| 美国毛片一区二区三区| 国产精品久久久久影院亚瑟 | 91精品一区二区三区久久久久久| 久久国产麻豆精品| ㊣最新国产の精品bt伙计久久| 欧美色成人综合| 国产精品69毛片高清亚洲| 亚洲精品精品亚洲| 日韩欧美的一区| 99视频精品全部免费在线| 日韩精品电影一区亚洲| 国产色婷婷亚洲99精品小说| 色婷婷精品大视频在线蜜桃视频| 奇米影视在线99精品| 亚洲欧洲色图综合| 日韩一级欧美一级| 一道本成人在线| 国产精品一区2区| 五月激情六月综合| 国产精品国产馆在线真实露脸| 欧美高清激情brazzers| 波多野结衣中文一区| 日韩高清在线一区| 精品在线免费观看| 亚洲一区二区三区三| 国产欧美一区二区精品秋霞影院 | 日韩美女一区二区三区| 色噜噜狠狠一区二区三区果冻| 久久国产夜色精品鲁鲁99| 一区二区三区高清不卡| 国产性色一区二区| 日韩一区二区三区免费观看| 99久久久免费精品国产一区二区| 免费成人小视频| 亚洲成在人线在线播放| 亚洲色图欧洲色图| 国产精品久久久久久妇女6080| 日韩欧美精品在线| 欧美日韩国产影片| 欧美日韩专区在线| 91国模大尺度私拍在线视频| 成人午夜视频网站| 国产v日产∨综合v精品视频| 精品一区二区三区不卡 | 欧美午夜精品理论片a级按摩| 顶级嫩模精品视频在线看| 青青草成人在线观看| 午夜亚洲福利老司机| 亚洲图片欧美视频| 亚洲一区二区成人在线观看| 亚洲四区在线观看| 亚洲欧美自拍偷拍色图| 国产精品不卡视频| 亚洲色图19p| 亚洲精品老司机| 亚洲六月丁香色婷婷综合久久| 国产精品毛片久久久久久| 国产午夜精品久久| 中国色在线观看另类| 国产精品国产自产拍高清av王其| 中文字幕av不卡| 亚洲免费视频中文字幕| 亚洲一区二区在线播放相泽| 亚洲影视在线观看| 性欧美大战久久久久久久久| 视频在线观看一区| 久久国产精品99久久人人澡| 久久av老司机精品网站导航| 国产一区在线观看视频| 国产一区二区电影| av不卡免费电影| 91国产丝袜在线播放| 777精品伊人久久久久大香线蕉| 欧美一级在线观看| 久久久99精品免费观看| 中文字幕一区二区三中文字幕| 日韩理论片中文av| 亚洲国产精品一区二区久久| 91色视频在线| 欧美日高清视频| 久久欧美中文字幕| 亚洲九九爱视频| 日本aⅴ亚洲精品中文乱码| 精品在线播放午夜| 99re在线视频这里只有精品| 欧美日韩高清影院| 国产网红主播福利一区二区| 国产精品美女久久久久久久久| 一区二区免费在线播放| 蜜臀av性久久久久蜜臀av麻豆 | 不卡欧美aaaaa| 色国产精品一区在线观看| 欧美一级国产精品| 欧美国产日韩一二三区| 亚洲电影在线播放| 国产成人综合亚洲91猫咪| 91美女蜜桃在线| 精品国精品自拍自在线| 夜夜精品浪潮av一区二区三区| 六月丁香综合在线视频| 一本大道久久a久久综合| 欧美变态tickle挠乳网站| 中文字幕亚洲精品在线观看 | 九九精品一区二区| 91网站视频在线观看| 日韩欧美高清dvd碟片| 亚洲日本丝袜连裤袜办公室| 久久精品99国产精品| 91久久精品一区二区三| 国产亚洲欧美色| 日韩精品视频网| 一本色道久久综合精品竹菊| 精品国产免费人成电影在线观看四季| 亚洲欧洲综合另类| 国产成人免费在线观看| 7777精品伊人久久久大香线蕉的 | 日韩美一区二区三区| 亚洲精品一卡二卡| 国产91清纯白嫩初高中在线观看| 欧美一区二区三区男人的天堂| 亚洲九九爱视频| 成人黄色网址在线观看| 欧美精品1区2区| 亚洲一卡二卡三卡四卡无卡久久 | 亚洲免费观看高清完整版在线| 久久成人久久鬼色| 欧美男男青年gay1069videost| 国产精品麻豆一区二区| 国产高清在线精品| 欧美精品一区二区三区蜜臀| 日韩综合在线视频| 91精品91久久久中77777| 中文字幕一区二| 成人精品一区二区三区四区 | 日韩美一区二区三区| 亚洲国产精品久久久久秋霞影院 | 91精品国产全国免费观看| 亚洲最新视频在线播放| 91蜜桃网址入口| 综合亚洲深深色噜噜狠狠网站| 粉嫩aⅴ一区二区三区四区五区| 精品国产伦一区二区三区观看方式| 日韩国产欧美在线播放| 正在播放亚洲一区| 日本不卡一二三区黄网| 欧美一区二区视频网站| 日本不卡不码高清免费观看| 宅男在线国产精品| 蜜桃久久av一区| 精品国产一区二区三区忘忧草 | 欧美精品久久久久久久久老牛影院| 亚洲已满18点击进入久久| 在线观看国产91| 丝袜美腿亚洲一区二区图片| 777午夜精品视频在线播放| 日韩黄色免费电影| 欧美tk—视频vk| 国产乱对白刺激视频不卡| 国产三级三级三级精品8ⅰ区| 国产99久久久精品| 亚洲色大成网站www久久九九| 一本色道亚洲精品aⅴ| 亚洲成人一区在线| 日韩一级大片在线| 国产精品一区二区在线播放 | 欧美大胆一级视频| 韩国一区二区在线观看| 欧美国产精品一区二区三区| a在线欧美一区| 亚洲制服丝袜在线| 日韩欧美资源站| 国产99久久久精品| 亚洲自拍偷拍麻豆| 日韩欧美国产一区二区在线播放| 国产在线不卡一区| 中文子幕无线码一区tr| 欧美伊人久久久久久久久影院 | 7777精品久久久大香线蕉| 久久97超碰色| 成人免费在线视频观看| 在线播放欧美女士性生活| 国产精品99久久久久久久女警|