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

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

?? chesswzq.java

?? java實現五子棋 可人機對戰 可雙人對戰 用到了人工智能的A算法 還有java的網絡編程socket
?? JAVA
?? 第 1 頁 / 共 3 頁
字號:

            // getContentPane().add(jpanel1);
            getContentPane().add(bpanel);
            getContentPane().add(jpanel3);

           // lItems.add(0,"hugh");
           // lItems.add(0,"cylix");

        }
        catch(Exception e) {
            e.printStackTrace();
        }

    }

    //Component initialization
    private void jbInit() throws Exception  {
        contentPane = (JPanel) this.getContentPane();
        contentPane.setLayout(borderLayout1);
        this.setSize(new Dimension(660, 530));
        this.setTitle("五子棋客戶端(beta)");
    }
    /**
     * send disconnection to server
     * type = 7
     */
    public void sendDisconnect(){
        Message ms = new Message();
        ms.type=7;
        try{
            out.writeObject(ms);
        }catch(IOException e){
            e.printStackTrace();
        }
    }
    public void drawChess(int col){
        Graphics g = jpanel3.getGraphics();
        if(col==1) g.setColor(Color.black);
        else g.setColor(Color.white);
        g.fillOval(50,10,20,20);
    }

    /**
     * <format> java ChessWZQ < server address> <player name>
     * @param args[0]=server address args[1]=player name
     */
    public static void main(String [] args){
        ChessWZQ wzq = new ChessWZQ();
        wzq.setResizable(false);
        wzq.setVisible(true);
        wzq.drawChess(1);   //default color is black

        Message ms = new Message();
        if(args[0]!=null)
        	wzq.serverAddress = new String(args[0]);
        else
        	wzq.serverAddress = new String("localhost");
        if(args[1]!=null)
        	wzq.name = new String(args[1]);
        else
        	wzq.name = new String("cylix");
        wzq.strToCharArray(wzq.name,ms.msg);
        try{
            // should get server name by command line
            InetAddress addr = InetAddress.getByName(wzq.serverAddress);
            //System.out.println("address "+ addr.toString()+" port: "+PORT);
            socket = new Socket(addr, PORT);
            //System.out.println("set socket successful...");

            out = new ObjectOutputStream(
                socket.getOutputStream());
            in = new ObjectInputStream(
                socket.getInputStream());

            ms.type=1;
            try{
                out.writeObject(ms);
            }catch(IOException e){
                e.printStackTrace();
            }
            while(true){
                try {
                    ms = (Message) in.readObject();
                    //System.out.println("get message from server...type = "+ms.type);
                    wzq.doMessage(ms);
                }
                catch (ClassNotFoundException e) {
                    e.printStackTrace();
                }
            }
            //System.out.println("ms.coordinateX + , + msg.coordinateY");
            //System.out.println(ms.color);
            //System.out.println("close ...");
            //socket.close();
        }catch(IOException e){
            e.printStackTrace();
        }

    }
    /**
     * deal with message get from server
     * @param msg
     * @return
     */
    protected int doMessage(Message msg){
        String str=arrayToString(msg.msg);
        //System.out.println("msg name = "+str+" msg.type = "+msg.type);
        switch(msg.type){
            case 2:{//respones of put chessman
                putChessman(msg);
                break;
            }
            case 3:{//request from another player
                requestAnother(msg);
                break;
            }
            case 4:{ // B deny to play with A
                getDeny(msg);
                break;}
            case 5:{ // B accept A's requestion
                acceptToPlay(msg);
                break;}
            case 6:{
                getVictory(msg);
                break;}
            case 7:{
                getDisconnection(msg);
                break;}
            case 9:{//reply of adding new player to all client
                ///System.out.println("add new player to list type = 9 name = "+str+"msg[0]= "+msg.msg[0]);
                lItems.add(0,str);
                break;
            }
            case 10:{ //respones of connecting
                //System.out.println("add him self  type = 10 name = "+str+"msg[0]= "+msg.coordinateX+msg.msg[0]);
                label1.setText(str);
                label6.setText("welcome "+str);
                lItems.add(0,str);
                break;
            }
            case 14:{ //B have accept playing with A,then get msg
                      //to set color and settings
                break;
            }
            case 15:{
                lItems.clear();
                break;
            }
            case 17:{
                getFailed(msg);
                break;
            }
            case 20:{
                ptocWin(msg);
                break;
            }
        }
        return 0; //end correctly
    }
    private void ptocWin(Message ms){
        String str=this.arrayToString(ms.msg);
        JOptionPane.showMessageDialog(null,str+" win the game!","V the game",JOptionPane.INFORMATION_MESSAGE);
        newGame();
    }
    /**
     * failed the game and have a new one
     * type == 17
     * @param msg
     */
    public void getFailed(Message msg){
        bpanel.drawChess(msg.coordinateX,msg.coordinateY);
        JOptionPane.showMessageDialog(null,
                                      "Sorry,You've failed the game",
                                      "Try Again",
                                      JOptionPane.INFORMATION_MESSAGE);
        label3.setText("Player2");
        // have a new game to continue to play
        newGame();
    }
    /**
     * another player send disconnection msg,here will resolve it
     * type ==7
     * @param msg
     */
    public void getDisconnection(Message msg){
        getVictory(msg);
    }
    /**
     * win the game
     * type ==6
     * @param msg
     */
    public void getVictory(Message msg){
        JOptionPane.showMessageDialog(null,
                                      "You  Win  The  Game",
                                      "Congratulations",
                                      JOptionPane.INFORMATION_MESSAGE);
        // have a new game to continue to play
        label3.setText("Player2");
        newGame();
    }
    /**
     * when people win a game ,then he can start a new one
     * @param msg
     */
    public void newGame(){
        jrbBlack.setEnabled(true);
        jrbWhite.setEnabled(true);
        jrbBlack.setSelected(true);
        jrbWhite.setSelected(false);
        list.setEnabled(true);
        setting.setEnabled(true);
        bpanel.clearBoard();
        drawChess(1);
        pColor=1;cColor=2;
        if(ptocFlag==false){
            Message msg = new Message();
            msg.type = 19;
            strToCharArray(name, msg.msg);
            try {
                out.writeObject(msg);
            }
            catch (IOException e) {
                e.printStackTrace();
            }
        }
        ptocFlag=false;
        beginFlag=false;
    }
    /**
     * precondition:get a msg from competitor of puting a chessman
     * fundition : deal with it
     * @param msg
     */
    public void putChessman(Message msg){
        if(ptocFlag==false){
            bpanel.updateBoard(msg.coordinateX,msg.coordinateY);
            bpanel.drawChess(msg.coordinateX,msg.coordinateY);
            beginFlag = true;
            return;
        }else{
            // update native board
            // search position to put chessman
        }
    }
    /**
     * A get a Ok msg from B and seting according with B
     * type= 5 B accept to play with A
     * @param msg = B's name
     */
    public void acceptToPlay(Message msg){
        String str=arrayToString(msg.msg);
        String ss=null;
        if(msg.color==1){
            ss = new String("white");
            bpanel.setColor(2);
        }
        else{
            ss = new String("black");
            bpanel.setColor(1);
        }
        JOptionPane.showMessageDialog(null,
                                      "OK. "+str+" have accepted your requestion\nYour color is"+ss,
                                      "Game will to begin...",JOptionPane.ERROR_MESSAGE);

        list.setEnabled(false);
        jrbBlack.setEnabled(false);
        jrbWhite.setEnabled(false);
        setting.setEnabled(false);
        beginFlag=true;
    }
    /**
     * A get a deny msg from B
     * type ==4 deny to play
     * @param msg
     */
    public void getDeny(Message msg){
        String str=arrayToString(msg.msg);
        JOptionPane.showMessageDialog(null,
                                      "I'm sorry\n"+str+" denied your requestion",
                                      "Sorry...",JOptionPane.ERROR_MESSAGE);
        list.setEnabled(true);
        label3.setText("Player2");
    }
    /**
     * A request play game with B,what below is B done
     * deal with request to paly
     * @param msg = requester 's name
     */
    public void requestAnother(Message msg){
        String str=arrayToString(msg.msg);
//        System.out.print("client requestAnother begin ...");
        int flag =JOptionPane.showConfirmDialog(null,
            "Player "+str+" want to play with you\nAre you OK?",
            "Play request...",JOptionPane.YES_NO_OPTION,
            JOptionPane.QUESTION_MESSAGE);
        if(flag==0){// press YES
            msg.type=5; //agree with request
            if(msg.color==1){ // msg.color is B 's color ,different with A's
                drawChess(msg.color);
                jrbBlack.setSelected(true);
                jrbWhite.setSelected(false);
                bpanel.setColor(1);
            }
            else{
                drawChess(msg.color);
                jrbWhite.setSelected(true);
                jrbBlack.setSelected(false);
                bpanel.setColor(2);
            }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲乱码国产乱码精品精小说| 国产乱码一区二区三区| 欧美国产日产图区| 欧美va在线播放| 91精品国产综合久久精品图片| 欧美日韩一区久久| 欧美天堂一区二区三区| 欧美亚洲禁片免费| 欧美日韩五月天| 欧美精品色一区二区三区| 欧美男同性恋视频网站| 欧美老女人在线| 欧美一区二区福利视频| 欧美一级电影网站| 日韩精品一区二区在线| 国产精品女同一区二区三区| 国产女主播视频一区二区| 国产色产综合色产在线视频| 国产日韩欧美高清| 亚洲日本在线观看| 亚洲成人黄色影院| 美女国产一区二区三区| 黄色日韩网站视频| 不卡av电影在线播放| 在线精品视频一区二区| 欧美日韩成人一区二区| 欧美tickling网站挠脚心| 国产亚洲婷婷免费| 亚洲精品日韩专区silk| 秋霞电影网一区二区| 国产精品 欧美精品| 91捆绑美女网站| 欧美老女人在线| 国产亚洲精品久| 一区二区三区视频在线观看| 日韩av一区二| zzijzzij亚洲日本少妇熟睡| 欧美视频在线播放| 久久精品水蜜桃av综合天堂| 亚洲免费av高清| 久久精品噜噜噜成人av农村| caoporn国产一区二区| 欧美人成免费网站| 国产精品五月天| 日本三级亚洲精品| 色综合久久综合网欧美综合网| 欧美一级欧美一级在线播放| 亚洲欧美综合在线精品| 毛片基地黄久久久久久天堂| 不卡视频一二三| 欧美xxxxx牲另类人与| 亚洲中国最大av网站| 国产在线一区二区综合免费视频| 日本福利一区二区| 国产欧美日韩综合精品一区二区 | 国产精品久久久久影院| 午夜精品成人在线视频| 99在线精品免费| 亚洲精品一区二区在线观看| 一区二区三区波多野结衣在线观看| 看电影不卡的网站| 欧美男同性恋视频网站| 亚洲免费在线视频| 成人18视频在线播放| 欧美精品一区二区三区蜜桃视频| 午夜久久久影院| 91色视频在线| 亚洲欧洲综合另类在线| 成人一区二区三区视频在线观看 | 精品一区二区三区在线视频| 欧美性猛交xxxx乱大交退制版| 国产欧美精品一区| 国产一区二区三区四| 日韩一区二区三区在线视频| 无码av免费一区二区三区试看| 99热这里都是精品| 中文字幕一区二区日韩精品绯色| 国产成人免费在线视频| 久久伊人中文字幕| 国产高清不卡一区| 国产亚洲一二三区| 高潮精品一区videoshd| 国产情人综合久久777777| 国产成人午夜高潮毛片| 国产清纯在线一区二区www| 国产精品一级片| 国产欧美一区视频| 99久久综合色| 樱花影视一区二区| 欧美亚洲高清一区| 午夜精品免费在线| 日韩三级在线免费观看| 国产在线视频一区二区| 国产精品三级在线观看| 99国产精品99久久久久久| 亚洲男人电影天堂| 欧美精品成人一区二区三区四区| 婷婷丁香久久五月婷婷| 亚洲精品在线一区二区| 国产传媒久久文化传媒| 亚洲日本一区二区三区| 欧美日韩激情一区二区三区| 另类小说图片综合网| 国产丝袜在线精品| 91欧美一区二区| 日韩**一区毛片| 国产欧美精品日韩区二区麻豆天美| 不卡视频一二三四| 国产麻豆欧美日韩一区| 国产精品免费丝袜| 欧美日韩在线电影| 国产精品一二三区在线| 亚洲综合在线免费观看| 日韩欧美国产小视频| 成人h动漫精品一区二| 亚洲香肠在线观看| 欧美一区二区精品| 99久久99久久精品国产片果冻| 亚洲午夜羞羞片| 久久精品一区蜜桃臀影院| 欧美在线一区二区三区| 国产在线播精品第三| 亚洲国产一区二区视频| 国产精品视频免费看| 日韩一区二区中文字幕| 色婷婷综合激情| 国产成人亚洲精品青草天美| 日本在线播放一区二区三区| 亚洲天堂精品视频| 久久亚洲精精品中文字幕早川悠里| 在线亚洲免费视频| jlzzjlzz亚洲女人18| 激情五月播播久久久精品| 午夜亚洲国产au精品一区二区| 久久久99精品免费观看| 欧美一级二级在线观看| 欧美视频在线观看一区| 色一情一伦一子一伦一区| 国产美女一区二区三区| 免费观看成人鲁鲁鲁鲁鲁视频| 国产精品美女久久久久久久| 宅男噜噜噜66一区二区66| 国产成人在线免费观看| 精品亚洲免费视频| 亚洲午夜免费福利视频| 久久久久久久久久久电影| jlzzjlzz亚洲日本少妇| 国产精品一品二品| 日韩和欧美一区二区三区| 亚洲国产精品av| 欧美一级一区二区| 777a∨成人精品桃花网| 99re视频这里只有精品| 国内成+人亚洲+欧美+综合在线| 亚洲欧美一区二区不卡| 久久欧美中文字幕| 欧美日韩一级二级三级| 波多野结衣中文一区| 国产精品影视天天线| 一区二区成人在线观看| 欧美一区二区成人| 国产精品一二三四五| 精品国产亚洲一区二区三区在线观看| 亚洲国产精品尤物yw在线观看| 欧美在线免费播放| 免费观看成人av| 亚洲福利电影网| 久久久国产精华| 欧美高清视频一二三区| 在线视频综合导航| 不卡视频免费播放| 国产露脸91国语对白| 美腿丝袜在线亚洲一区| 亚洲一区二区五区| 伊人性伊人情综合网| 中文字幕一区二区三区不卡 | 国产999精品久久久久久绿帽| 日韩国产在线观看一区| 视频一区二区不卡| 激情五月婷婷综合网| 国产精品一品二品| 亚洲视频一二三| 一区二区三区久久久| 亚洲欧美日韩国产中文在线| 亚洲欧洲日韩女同| 五月激情六月综合| 国产在线精品国自产拍免费| 久草这里只有精品视频| 国产传媒欧美日韩成人| 国产成人av一区二区三区在线| av中文字幕亚洲| 一本久久a久久精品亚洲| 欧美三级一区二区| 制服视频三区第一页精品| 久久综合一区二区| 久久免费精品国产久精品久久久久| 欧美国产禁国产网站cc| 亚洲福利电影网| 九一九一国产精品| 99久久亚洲一区二区三区青草|