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

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

?? serveoneclient.java

?? 用java 編寫的五子棋程序。適合java初學者
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
     * @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);
    }

    /**
     * add new player to all client's Player List
     * ... read server player list and send msg to everyone of them
     * @param player
     */
    public void sendNewPlayer(Message player){
        Player pp=null;
        player.type=9;
//        System.out.println("send new Player ...");
        for(int i=0;i<Server.playerList.size();i++){
            pp=(Player)Server.playerList.get(i);
            try{
                if(pp.self!=null){//send message to all but itself
                    //System.out.println(pp.self+" add list "+player.msg[0]+"i = "+i);
                    pp.selfSocket.out.writeObject(player);
                }
            }catch(IOException e){
                e.printStackTrace();
            }
        }
    }
    /**
     * a player end a game and wait for a new one
     * @param msg
     */
    public void playerRefresh(Message player){
        Player ppo = new Player();
        Player pp = null;
        ppo.color = player.color;
        ppo.self = new String(player.msg);
        ppo.selfSocket = this;
        Server.playerList.add(ppo);

        for(int i=0;i<Server.playerList.size();i++){
            pp = (Player)Server.playerList.get(i);
            if(this.equals(pp.selfSocket)==false){
                Message msg = new Message();
                strToCharArray(pp.self, msg.msg);
                msg.type = 9;
                msg.color = pp.color;
//                System.out.println("refresh " + pp.self + "serverlist size " +
  //                                 Server.playerList.size());
                try {
                    this.out.writeObject(msg);
                }
                catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
        Message ms = new Message();
        strToCharArray(ppo.self, ms.msg);
        ms.type=10;
        try{
            this.out.writeObject(ms);
        }catch(IOException e){
            e.printStackTrace();
        }
        //Message ms = new Message();
        player.type=10;
        for(int i=0 ;i<Server.playerList.size();i++){
            pp = (Player)Server.playerList.get(i);
            if(this.equals(pp.selfSocket)!=true){
                try{
                    pp.selfSocket.out.writeObject(player);
                }catch(IOException e){
                    e.printStackTrace();
                }

            }
        }

    }
    /**
     * add the new player to server playerList
     * @param player
     */
    public void addPlayer(Message player){
        int i=0;
        Player pp=null,tp=null;

        for(i=0;i<Server.playerList.size();i++){
            pp=(Player)Server.playerList.get(i);
            if(this.equals(pp.selfSocket)==true){
                //System.out.println("match socket ok and send to itself...");
                pp.self = new String(player.msg);
                try{
                    for (int j = 0; j < Server.playerList.size(); j++) {
                        Message temp = new Message();
                        tp = (Player) Server.playerList.get(j);
                        if (tp.self != null) {
                            strToCharArray(tp.self, temp.msg);
                            //temp.coordinateX=(byte)j;
                            temp.type = 10; //reply for type==1
                            //System.out.println("host "+pp.self+" add list to client name = "+temp.coordinateX+temp.msg[0]);
                            pp.selfSocket.out.writeObject(temp);
                        }
                    }
                   // out.writeObject(player);
                }catch(IOException e){
                    e.printStackTrace();
                }
                break;
            }
        }/*
        System.out.print("welcome ");
        int k=0;
        while(true){
            if(player.msg[k]!='\0')
                System.out.print(player.msg[k++]);
            else break;
        }
        System.out.println();*/
        //System.out.println(" at "+pp.selfSocket.socket.toString());
    }
    public Socket getSocket(){
        return socket;
    }
    /**
     * check whether msg sender is win
     * type=6 msg = winner 's name
     * @param msg
     */
    public void checkVictory(Message msg){

    }
    /**
     * type = 2 ,(msg.coordinateX,msg.coordinateY).msg.color
     * @param msg
     */
    public void putChessman(Message msg){
        Group gg = new Group();
        ServeOneClient soc=null;
        String tName=null;
        int color=0;
        // modify server board
        for(int i=0;i<Server.groupList.size();i++){
            gg = (Group)Server.groupList.get(i);
            if(this.equals(gg.selfSocket)==true){
                soc = gg.playerSocket;
                tName = new String(gg.player);
                color = gg.selfColor;
                break;
            }
            if(this.equals(gg.playerSocket)==true){
                soc = gg.selfSocket;
                tName = new String(gg.self);
                color = gg.playerColor;
                break;
            }
        }
        gg.board[msg.coordinateX][msg.coordinateY]=color;

        // whether someone win the game
        if(judge(gg,msg.coordinateX,msg.coordinateY)==true){// a man win
            // tell the two and remove them form the group list
            try{
                msg.type=6;  // win the game
                this.out.writeObject(msg);// tell this ,he win the game
                msg.type=17; // failed in the game
                soc.out.writeObject(msg); // tell soc ,he failed
//                System.out.println("send failed to "+tName);
            }catch(IOException e){
                e.printStackTrace();
            }
            Server.groupList.remove(gg); // remove from list
            return;
        }
        // send msg to another player
        try{
            //System.out.println("server put chess man "+msg.coordinateX+","+msg.coordinateY);
            soc.out.writeObject(msg);
        }catch(IOException e){
            e.printStackTrace();
        }

    }
    /**
     * judge if a man win the game
     * @param gg a group for judge
     * @param x  the newest kid's x coordinate
     * @param y  the newest kid's y coordinate
     * @return
     */
    private boolean judge(Group gg,int x,int y){
        int i = 0, j = 0, count = 0;
        int color=gg.board[x][y];
        // x direction
        for (i = 0, count = 0; x - i >= 0 && i < 5; i++) {
            if (color == gg.board[x - i][y]) {
                count++;
            }
            else {
                break;
            }
//          System.out.println("( "+x+" , "+y+" )"+"count = "+count);
            if (count == 5)
                return true;
        }
        for (i = 1; x + i < 15 && i < 5; i++) {
            if (color == gg.board[x + i][y]) {
                count++;
            }
            else {
                break;
            }
            if (count == 5)
                return true;
        }
        // y direction
        for (i = 0, count = 0; y - i >= 0 && i < 5; i++) {
            if (color == gg.board[x][y - i]) {
                count++;
            }
            else {
                break;
            }
//            System.out.println("( "+x+" , "+y+" )"+"count = "+count);
            if (count == 5)
                return true;
        }
        for (i = 1; y + i < 15 && i < 5; i++) {
            if (color == gg.board[x][y + i]) {
                count++;
            }
            else {
                break;
            }
//        System.out.println("( "+x+" , "+y+" )"+"count = "+count);
            if (count == 5)
                return true;
        }
        // '\' direction
        for (i = 0, count = 0; x - i >= 0 && y - i >= 0 && i < 5; i++) {
            if (color == gg.board[x - i][y - i]) {
                count++;
            }
            else {
                break;
            }
//            System.out.println("( "+x+" , "+y+" )"+"count = "+count);
            if (count == 5)
                return true;
        }
        for (i = 1; x + i < 15 && y + i < 15 && i < 5; i++) {
            if (color == gg.board[x + i][y + i]) {
                count++;
            }
            else {
                break;
            }
//          System.out.println("( "+x+" , "+y+" )"+"count = "+count);
            if (count == 5) {
                return true;
            }
        }
        // '/' direction
        for (i = 0, count = 0; x + i < 15 && y - i >= 0 && i < 5; i++) {
            if (color == gg.board[x + i][y - i]) {
                count++;
            }
            else {
                count = 0;
            }
//          System.out.println("( "+x+" , "+y+" )"+"count = "+count);
            if (count == 5)
                return true;
        }
        for (i = 1; x - i >= 0 && y + i < 15 && i < 5; i++) {
            if (color == gg.board[x - i][y + i]) {
                count++;
            }
            else {
                break;
            }
//            System.out.println("( "+x+" , "+y+" )"+"count = "+count);
            if (count == 5) {
                return true;
            }
        }
        return false;
    }
    /**
     * judge if a man win the game
     * @param gg a group for judge
     * @param x  the newest kid's x coordinate
     * @param y  the newest kid's y coordinate
     * @return
     */
/*    private boolean judge(Group gg,int x,int y){

        int borderX=0,borderY=0,counter=0,i=0;
        int color=gg.board[x][y];
        if(x-4<0)            borderX=0;
        else            borderX=x-4;
        if(y-4<0)            borderY=0;
        else            borderY=y-4;


        // x direction
        while(borderX+i<x+5 && borderX+i<15){
            if(color==gg.board[borderX+i][y]){
                counter++;
            }else{
                counter=0;
            }
            i++;
            if(counter==5){
//                System.out.println("color "+color+gg.board[borderX+i][y]+"return form x "+(borderX+i)+","+y+"x,y"+x+","+y);
                return true;
            }
        }
        // y direction
        i=0;counter=0;
        while(borderY+i<y+5 && borderY+i<15){
            if(color==gg.board[x][borderY+i]){
                counter++;
            }else{
                counter=0;
            }
            i++;
            if(counter==5){
//                System.out.println("color "+color+gg.board[x][borderY+i]+"return form y "+x+","+(borderY+i)+","+y+"x,y"+x+","+y);
                return true;
            }
        }
        // '\' direction
        if(borderX>borderY)
            borderX = x-(y-borderY);
        else
            borderY = y-(x-borderX);
        i=0;counter=0;
        while(borderX+i<x+5 && borderY+i<y+5 && borderY+i<15&&borderX+i<15){
            if(color==gg.board[borderX+i][borderY+i]){
//                System.out.println("coordinate  \\  "+(borderX+i)+","+(borderY+i)+","+y+"x,y"+x+","+y);
                counter++;
            }else{
                counter=0;
            }
            i++;
            if(counter==5){
//                System.out.println("return form  \\  "+(borderX+i)+","+(borderY+i)+","+y+"x,y"+x+","+y);
                return true;
            }
        }
        // '/' direction
        if(x+4>=15){
            borderX = 14;
        }
        else{
            borderX = x+4;
        }
        if(borderX-x<y-borderY){
            borderY = y - (borderX - x);
        }
        else{
            borderX = x + (y - borderY);
        }
        i=0;counter=0;
        while(borderX-i>x-5 && borderY+i<y+5 && borderX-i>=0 && borderY+i<15){
            if(color==gg.board[borderX-i][borderY+i]){
                counter++;
            }else{
                counter=0;
            }
            i++;
            if(counter==5){
//                System.out.println("color "+color+gg.board[borderX-i][borderY+i]+"return form '/'   "+(borderX-i)+","+(borderY+i)+","+y+"x,y"+x+","+y);
                return true;
            }
        }
        return false;
    }
*/

} ///:-)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国内精品伊人久久久久影院对白| 91超碰这里只有精品国产| 成人丝袜高跟foot| 亚洲18女电影在线观看| 成人99免费视频| 日韩国产欧美一区二区三区| 日韩国产成人精品| 91精品欧美一区二区三区综合在 | 成人av在线看| 9人人澡人人爽人人精品| 国产精品天天看| 欧美一级精品在线| 国产电影一区二区三区| 激情亚洲综合在线| 亚洲欧美日韩人成在线播放| 肉丝袜脚交视频一区二区| 国产精品久久夜| 在线视频亚洲一区| 91色porny蝌蚪| 欧美精品久久久久久久久老牛影院| 成人av网站在线| 久久99国产乱子伦精品免费| 日韩精品色哟哟| 婷婷中文字幕综合| 国产资源在线一区| 视频一区中文字幕国产| 亚洲国产成人高清精品| 亚洲一区影音先锋| 欧美日韩免费高清一区色橹橹 | 亚洲午夜精品网| 天堂精品中文字幕在线| 午夜精品久久一牛影视| 亚洲一二三四久久| 久久日一线二线三线suv| 欧美三级欧美一级| 欧美三级三级三级| 97久久久精品综合88久久| 日日摸夜夜添夜夜添国产精品| caoporm超碰国产精品| 欧美国产禁国产网站cc| 91精品久久久久久蜜臀| 美女性感视频久久| 日韩极品在线观看| 欧美情侣在线播放| 国产精品美女一区二区在线观看| 91丝袜国产在线播放| 青青草精品视频| 欧美日本精品一区二区三区| 欧美成人女星排行榜| 一本大道综合伊人精品热热| 欧美影院精品一区| 日韩美女一区二区三区| 久久久国产精品不卡| 日韩情涩欧美日韩视频| 99精品视频在线观看| 免费成人在线观看视频| 风间由美中文字幕在线看视频国产欧美 | 国产亚洲精品aa午夜观看| 欧美电视剧免费观看| 欧美欧美欧美欧美首页| 国产清纯白嫩初高生在线观看91 | 国产成人精品影院| 在线观看日韩国产| 欧美在线观看一区二区| 日韩精品一区在线观看| 337p粉嫩大胆噜噜噜噜噜91av | 久久人人超碰精品| 午夜久久久影院| 久久99久国产精品黄毛片色诱| 成人av影院在线| 日韩美女主播在线视频一区二区三区| 国产亚洲一区二区三区在线观看 | 国产成人一级电影| 夜夜精品视频一区二区| 91丝袜美腿高跟国产极品老师| 在线精品亚洲一区二区不卡| 91在线国产观看| 91在线高清观看| 色94色欧美sute亚洲13| 色悠悠久久综合| 99精品视频一区二区| 亚洲免费伊人电影| 国产揄拍国内精品对白| 视频一区中文字幕国产| 国产欧美一区二区三区在线看蜜臀| 欧美精品乱码久久久久久按摩| 99久久精品一区| 亚洲国产成人私人影院tom| 日本在线不卡一区| 国产精品资源网| 911国产精品| 欧洲一区在线电影| 国产精品成人一区二区艾草| 精品制服美女久久| 国产精品 欧美精品| 91一区在线观看| 99久久精品一区| 一区二区成人在线| 日韩一二三区视频| 国产一区二区剧情av在线| 国产自产高清不卡| 久久97超碰色| 国产精品自拍一区| 久久久精品免费免费| 91网站在线观看视频| 夜夜揉揉日日人人青青一国产精品| 日韩精品在线一区二区| 大陆成人av片| 久久疯狂做爰流白浆xx| 亚洲一区二区三区四区五区中文 | av影院午夜一区| 亚洲第一综合色| 本田岬高潮一区二区三区| 欧美日韩国产综合一区二区| 欧美一二三区在线| 色呦呦日韩精品| 欧美一区二区视频在线观看2022| 一本久道久久综合中文字幕| 91香蕉视频在线| 91麻豆精品视频| 激情久久五月天| 国产精品国模大尺度视频| 国产亚洲精品久| 久久99精品久久久久久国产越南| 久久久久国产精品免费免费搜索| 91在线视频播放| 中文字幕佐山爱一区二区免费| 亚洲麻豆国产自偷在线| 欧美在线观看视频一区二区三区 | 亚洲黄色小视频| 日韩欧美一区二区不卡| 99视频国产精品| 国产精品1区2区3区| 亚洲精品成人少妇| 亚洲裸体xxx| 欧美一区二区三区四区五区| 色哟哟一区二区| 欧美日韩中字一区| 色婷婷亚洲综合| 亚洲色图制服诱惑| 国产欧美中文在线| 337p粉嫩大胆噜噜噜噜噜91av| 99精品久久99久久久久| 久久疯狂做爰流白浆xx| 日本不卡视频在线观看| 五月综合激情网| 亚洲福中文字幕伊人影院| 最新国产精品久久精品| 日本一区二区三区电影| 精品毛片乱码1区2区3区| 精品视频在线免费看| 在线观看精品一区| 91麻豆成人久久精品二区三区| 国产自产高清不卡| 国产福利一区二区三区视频 | 色综合久久66| 91社区在线播放| 91精品办公室少妇高潮对白| 91网页版在线| 一本久道久久综合中文字幕| 99久久精品一区二区| 日本韩国一区二区| 欧美做爰猛烈大尺度电影无法无天| 欧美视频在线一区二区三区| 成人福利视频网站| 在线日韩av片| 91精品中文字幕一区二区三区| 成人激情午夜影院| jlzzjlzz欧美大全| 欧美久久久久中文字幕| 综合精品久久久| 欧美顶级少妇做爰| 国产精品亚洲成人| 亚洲电影视频在线| 91精品在线免费| 亚洲人吸女人奶水| 中文字幕av一区二区三区免费看| 欧美精品在线一区二区| 亚洲高清中文字幕| 午夜婷婷国产麻豆精品| 欧美体内she精视频| 欧美日韩国产片| 欧美精品免费视频| 91精品国产色综合久久ai换脸| 成人免费一区二区三区视频| 从欧美一区二区三区| 久久国产尿小便嘘嘘尿| 天天综合色天天综合色h| 亚洲一区二区中文在线| 8x福利精品第一导航| eeuss影院一区二区三区 | 亚洲精品第1页| 精品一区二区日韩| 亚洲一区二区3| 2017欧美狠狠色| 久久综合久久99| 精品一区二区三区在线观看国产 | 久久亚洲二区三区| 欧美一级高清大全免费观看| 美女诱惑一区二区|