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

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

?? chesswzq.java

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

/**
 * <p>Title: </p>
 * <p>Description: </p>
 * <p>Copyright: Copyright (c) 2003</p>
 * <p>Company: e-top</p>
 * @author cylix
 * @version 1.0
 */

public class ChessWZQ extends JFrame {
    JPanel contentPane;
    BorderLayout borderLayout1 = new BorderLayout();

    protected Image white = null;
    protected Image black = null;
    protected static int pColor; // people 's color
    protected static int cColor; // computer's color

    static boolean ptocFlag=false;
    boolean pFirst = false;
    private int bestX=0; // computer find the best x coordinate to put chess
    private int bestY=0; // computer find the best y coordinate to put chess
    private int RectX1=0; // rectangle bounds according to (x,y)
    private int RectY1=0; // length is 9
    private int RectX2=0; // size 9*9
    private int RectY2=0; // used to weight to each black position
    private int weightBoard[][];

    static Socket socket;
    private static int PORT;
    static ObjectInputStream in;
    static ObjectOutputStream out;
    String name=null ;
    String serverAddress=null;
    static char send[];
    public static Message message = new Message();
    public static boolean beginFlag = false;

    BoardPanel bpanel = new BoardPanel();
    JPanel jpanel3 = new JPanel();
    JLabel label1 = new JLabel("Player1");
    JLabel label2 = new JLabel(" VS ");
    JLabel label3 = new JLabel("Player2");
    JLabel label4 = new JLabel("Player List ");
    JLabel label5 = new JLabel("Message list... ");
    static JLabel label6 = new JLabel("welcome");
    JLabel label7 = new JLabel("Host");
    JLabel label8 = new JLabel("Player");
    JRadioButton jrbBlack = new JRadioButton("Black");
    JRadioButton jrbWhite = new JRadioButton("White");
    DefaultListModel lItems = new DefaultListModel();
    JList list = new JList(lItems);
    JMenuBar mb = new JMenuBar();
    JMenu create = new JMenu("Create");
    JMenu setting = new JMenu("Setting");
    JMenu quit = new JMenu("Quit");
    JMenu about = new JMenu("About");
    JMenuItem cPtoP = new JMenuItem("Play With people");
    JMenuItem cPtoC = new JMenuItem("Play With Computer");
    JMenuItem load = new JMenuItem("Load game...");
    JMenuItem save = new JMenuItem("Save ...");
//    JMenuItem sLimited = new JMenuItem("禁止禁手");
//    JMenuItem sNoLimited = new JMenuItem("允許禁手");


    public ChessWZQ() {
        enableEvents(AWTEvent.WINDOW_EVENT_MASK);
        getContentPane().setLayout(null);
        weightBoard = new int [15][15]; // save each position 's weight

        PORT = Server.PORT;//set socket port
        send = new char[60];

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

        try {
            getContentPane().setLayout(null);

            jrbBlack.addActionListener(new ActionListener(){
                public void actionPerformed(ActionEvent e){
                    bpanel.setColor(1);
                    cColor=2;
                    jrbBlack.setEnabled(false);
                    jrbWhite.setEnabled(false);
                    drawChess(1);
                    jrbWhite.setSelected(true);
                    if(ptocFlag==true){
                        return;
                    }
                    Message ms = new Message();
                    ms.color=1;
                    ms.type=13;
                    try{
                        out.writeObject(ms);
                    }catch(IOException error){
                        error.printStackTrace();
                    }
                }
            });
            jrbWhite.addActionListener(new ActionListener(){
                public void actionPerformed(ActionEvent e){
                    bpanel.setColor(2);
                    cColor=1;
                    jrbWhite.setEnabled(false);
                    jrbBlack.setEnabled(false);
                    drawChess(2);
                    jrbBlack.setSelected(false);
                    if(ptocFlag==true){
                        return;
                    }
                    Message ms = new Message();
                    ms.color=2;
                    ms.type=13;
                    try{
                        out.writeObject(ms);
                    }catch(IOException error){
                        error.printStackTrace();
                    }
                }
            });
            about.addMouseListener(new MouseAdapter(){
                public void mouseClicked(MouseEvent e){
                    JOptionPane.showMessageDialog(null,
                                                  "author: cylix \nCopyright (c) 2003 e-top\nmail:cylix_xtcc@sina.com",
                                                  "五子棋1.0(beta)",JOptionPane.INFORMATION_MESSAGE);
                }
            });
            quit.addMouseListener(new MouseAdapter(){
                public void mouseClicked(MouseEvent e){
                    int flag=JOptionPane.showConfirmDialog(null,
                                                  "Quit the Program ?",
                                                  "Are you sure to quit ?",
                                                  JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE);
                    if(flag==0){       //press YES
                        // disconnect to server
                        sendDisconnect();
                        System.exit(0);
                    }
                }
            });
            setting.addMouseListener(new MouseAdapter(){
                public void mouseClicked(MouseEvent e){

                    Object selection[] = {"Forbiden","Allow any"};
                    Object set = JOptionPane.showInputDialog(null,
                        "Setting...","would you allow any method?",
                        JOptionPane.QUESTION_MESSAGE,null,selection,selection[0]);
                    if(ptocFlag==true){
                        return;
                    }
                    Message ms = new Message();
                    if(set==null){
                        return;
                    }
                    if(set.toString().equals(selection[0])){
                        ms.setting=false;
                    }
                    else{
                        ms.setting=true;
                    }
                    //System.out.println("setting begin..."+msg.setting);
                    ms.type=12;
                    try{
                        out.writeObject(ms);
                    }catch(IOException error){
                        error.printStackTrace();
                    }
                }
            });
            cPtoP.addActionListener(new ActionListener(){
                public void actionPerformed(ActionEvent e){
                    ptocFlag=false;
                    JOptionPane.showMessageDialog(null,
                        "You can choose a player from the listBox on the right","Welcome...",
                        JOptionPane.INFORMATION_MESSAGE);
                }
            });
            cPtoC.addActionListener(new ActionListener(){
                public void actionPerformed(ActionEvent e){
                    if(ptocFlag==true){
                        int flag=JOptionPane.showConfirmDialog(null,
                            "You give up... ?","Message",
                            JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE);
                        if(flag==0){
                            newGame();
                            return;
                        }
                    }
                    label3.setText("Computer");
                    Object selection[] = {"Computer First","You First"};
                    Object set = JOptionPane.showInputDialog(null,
                        "choose who first...","setting...",
                        JOptionPane.QUESTION_MESSAGE,null,
                        selection,selection[0]);
                        ptocFlag = true;
                    if(set.toString().equals(selection[1])){
                        pFirst = true;
                    }else{
                        pFirst = false;
                    }
                    pColor=bpanel.getColor();
                    if(pColor==1){
                        jrbBlack.setSelected(true);
                        jrbWhite.setSelected(false);
                        cColor=2;
                    }
                    else{
                        jrbWhite.setSelected(true);
                        jrbBlack.setSelected(false);
                        cColor=1;
                    }
                    jrbBlack.setEnabled(false);
                    jrbWhite.setEnabled(false);
                    ptoComputer();
                }
            });

            create.setBounds(5,5,40,20);
            setting.setBounds(45,5,40,20);
            quit.setBounds(85,5,40,20);
            about.setBounds(125,5,40,20);
            create.add(cPtoP);
            create.add(cPtoC);
            create.add(load);
            create.add(save);
            mb.add(create);
            mb.add(setting);
            mb.add(quit);
            mb.add(about);
            this.setJMenuBar(mb);

            bpanel.setBounds(0,0,470,460);
            bpanel.setBorder(BorderFactory.createMatteBorder(0,0,1,1,Color.ORANGE));

            jpanel3.setLayout(null);
            jpanel3.setBorder(BorderFactory.createMatteBorder(1,1,1,1,Color.DARK_GRAY));
            jpanel3.setBounds(470,0,180,460);
            label7.setBounds(10,10,30,20);
            label7.setBackground(Color.blue);
            label7.setForeground(Color.yellow);
            label8.setBounds(90,10,40,30);
            label8.setBackground(Color.blue);
            label8.setForeground(Color.yellow);
            label1.setBounds(10,40,50,20);
            label2.setForeground(Color.RED);
            label2.setBounds(60,40,50,20);
            label3.setBounds(90,40,70,20);
            label4.setForeground(Color.BLUE);
            label4.setBounds(10,78,70,20);
            label5.setBackground(Color.magenta);
            label5.setForeground(Color.RED);
            label5.setBounds(15,395,160,20);
            label6.setBounds(15,415,180,20);
            //label6.setBorder(BorderFactory.createMatteBorder(1,1,1,1,Color.yellow));

            jrbBlack.setSelected(true);
            jrbBlack.setBounds(10,380,80,15);
            jrbWhite.setBounds(90,380,80,15);

            list.setBorder(BorderFactory.createMatteBorder(1,1,1,1,Color.black));
            list.setBounds(10,100,150,265);

            list.addMouseListener(new MouseAdapter(){
                public void mouseClicked(MouseEvent e){
                    // double click to choose a player
                    if(e.getClickCount()==2){
                        String str = list.getSelectedValue().toString();
                        if(str.equals(name)==true){
                            label6.setText("You can't choose yourself");
                            return;
                        }
                        label3.setText(str);
                        list.setEnabled(false);

                        Message ms = new Message();
                        ms.type=3;  //request play with another
                        strToCharArray(str,ms.msg);
                        ms.color = bpanel.getColor();
                        //System.out.println("request for play with "+str);
                        try{
                            out.writeObject(ms);
                        }catch(IOException er){
                            er.printStackTrace();
                        }
                }
            }
        });
            jpanel3.add(label1);
            jpanel3.add(label2);
            jpanel3.add(label3);
            jpanel3.add(label4);
            jpanel3.add(label5);
            jpanel3.add(label6);
            jpanel3.add(label7);
//            jpanel3.add(label8);
            jpanel3.add(jrbBlack);
            jpanel3.add(jrbWhite);
            jpanel3.add(list);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产一区二区三区免费观看| 99久久久久久| 91免费视频观看| 91精品国产欧美日韩| 国产精品国产三级国产| 日本91福利区| 欧美亚洲丝袜传媒另类| 日本一区二区三区免费乱视频| 午夜久久久久久久久| 成人97人人超碰人人99| 久久美女艺术照精彩视频福利播放| 亚洲综合视频在线观看| 成人av在线影院| 精品国产免费一区二区三区香蕉| 亚洲乱码日产精品bd| 一区二区三区日本| 热久久久久久久| 国产精品一级二级三级| jlzzjlzz亚洲日本少妇| 欧美三级电影网站| 日韩午夜电影av| 国产精品美女一区二区| 亚洲综合成人在线视频| 久久精品国产免费看久久精品| 国产精品一区专区| 日本精品视频一区二区| 91精品蜜臀在线一区尤物| 久久这里只有精品首页| 亚洲人快播电影网| 日韩激情中文字幕| 风间由美性色一区二区三区| 香蕉久久夜色精品国产使用方法| www.色综合.com| 中文字幕一区二区三区四区 | 欧美日韩国产一级| 亚洲精品五月天| 在线一区二区观看| 亚洲一二三四久久| 欧美精品tushy高清| 婷婷成人综合网| 欧美一区二区网站| 国内欧美视频一区二区| 久久影音资源网| www.欧美亚洲| 亚洲午夜久久久久久久久久久 | 国产成人在线观看| 中文字幕国产一区| 在线一区二区三区四区| 日本系列欧美系列| 久久亚洲综合色一区二区三区| 国产精品一区二区在线播放| 国产精品美女久久久久高潮| 色综合天天综合网天天狠天天 | 91在线精品一区二区三区| 亚洲欧美成人一区二区三区| 欧美日韩一区二区三区四区五区 | 久久久国产精品午夜一区ai换脸| 国产综合色在线| 国产精品久久久久久久第一福利| 色婷婷狠狠综合| 日本aⅴ免费视频一区二区三区| 精品国产青草久久久久福利| 99久久伊人久久99| 天堂久久久久va久久久久| 久久婷婷国产综合精品青草| 99精品国产91久久久久久| 三级欧美韩日大片在线看| 久久久电影一区二区三区| 色一情一乱一乱一91av| 日韩一区精品视频| 国产精品毛片大码女人| 在线播放一区二区三区| 丁香桃色午夜亚洲一区二区三区| 一区二区三区在线视频免费| 日韩视频国产视频| 色综合天天综合| 国产精品综合一区二区三区| 亚洲精品日产精品乱码不卡| 精品福利一二区| 在线精品视频免费观看| 国产精品77777竹菊影视小说| 亚洲在线视频免费观看| 久久精品欧美日韩| 91精品国产综合久久久蜜臀图片| av在线不卡电影| 国精产品一区一区三区mba桃花| 一区二区三区成人| 中文幕一区二区三区久久蜜桃| 欧美一区二区视频网站| 91麻豆国产在线观看| 国产精品一区二区久久精品爱涩| 香蕉av福利精品导航| 一区二区三区色| 国产精品福利影院| 国产亚洲一二三区| 日韩午夜三级在线| 91精品国产一区二区| 欧美在线综合视频| 99久久伊人网影院| 成人免费看视频| 国产黄色精品视频| 国产麻豆91精品| 国产综合一区二区| 国精产品一区一区三区mba视频| 日韩成人av影视| 丝袜亚洲另类欧美| 亚洲成av人片在线观看无码| 亚洲精品免费电影| 亚洲精品免费电影| 夜夜精品浪潮av一区二区三区| 亚洲欧洲av色图| 最近日韩中文字幕| 欧美精品一区二区三区视频 | 99久久婷婷国产综合精品电影 | 久久网这里都是精品| 日韩欧美成人激情| 日韩一级完整毛片| 91麻豆精品国产| 日韩丝袜情趣美女图片| 日韩欧美国产小视频| 精品国产乱码久久久久久1区2区| 欧美一级片在线| 欧美电影免费观看高清完整版在线观看 | 波多野结衣91| 91尤物视频在线观看| 91久久免费观看| 欧美专区亚洲专区| 欧美一区二区女人| www精品美女久久久tv| 国产日韩v精品一区二区| 国产欧美一区二区精品忘忧草| 中文字幕av在线一区二区三区| 中文字幕不卡的av| 亚洲美女精品一区| 爽爽淫人综合网网站| 精彩视频一区二区| eeuss国产一区二区三区| 色综合中文综合网| 91精品国产综合久久福利软件 | 欧美一区二区日韩一区二区| 色综合天天综合网天天看片| 粉嫩av一区二区三区在线播放 | 成人开心网精品视频| 蜜臀久久99精品久久久久宅男 | 久久久久国产精品人| 欧美日韩一区二区三区免费看| 91亚洲男人天堂| 99精品视频一区二区| 福利一区二区在线| 成人av片在线观看| 成人av资源站| 一本一道久久a久久精品| 成人激情免费网站| 亚洲伦理在线免费看| 亚洲一区二区在线免费观看视频| 免费久久99精品国产| av电影在线观看完整版一区二区| 欧美视频一区二区在线观看| 久久久久高清精品| 亚洲福利视频导航| 粉嫩av亚洲一区二区图片| 欧美日韩日本视频| 中文字幕一区在线观看| 免费观看成人鲁鲁鲁鲁鲁视频| jlzzjlzz亚洲女人18| 精品卡一卡二卡三卡四在线| 一区二区三区四区在线免费观看| 韩国精品主播一区二区在线观看| 91福利区一区二区三区| 久久久不卡影院| 奇米一区二区三区| 日本高清视频一区二区| 久久久久久黄色| 麻豆国产精品777777在线| 欧美优质美女网站| 中文字幕va一区二区三区| 精久久久久久久久久久| 7777精品伊人久久久大香线蕉完整版| 中文字幕电影一区| 韩国成人福利片在线播放| 制服丝袜激情欧洲亚洲| 亚洲一级二级在线| 99精品视频一区二区| 中文字幕高清不卡| 国产成人av网站| 精品免费一区二区三区| 免费在线观看成人| 宅男在线国产精品| 亚洲国产综合在线| 欧洲国产伦久久久久久久| 亚洲女与黑人做爰| 91老司机福利 在线| 国产精品久久久久久久久图文区| 国产成人综合网站| 久久精品欧美日韩| 国产成人免费视频精品含羞草妖精| www精品美女久久久tv| 国产麻豆成人精品| 中文字幕成人在线观看| 成人国产精品视频|