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

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

?? gameframe.java

?? 這是一個(gè)經(jīng)典的五子棋程序能夠人機(jī)對(duì)戰(zhàn)
?? JAVA
?? 第 1 頁 / 共 2 頁
字號(hào):
package game;

import java.awt.*;
import java.awt.event.*;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JMenuBar;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
import com.borland.jbcl.layout.XYLayout;
import com.borland.jbcl.layout.*;
import javax.swing.JLabel;
import javax.swing.*;
import javax.swing.border.TitledBorder;

/**
 * <p>Title: 五子棋</p>
 *
 * <p>Description: 五子棋游戲</p>
 *
 * <p>Copyright: Copyright (c) 2005</p>
 *
 * <p>Company: David Company</p>
 *
 * @author David
 * @version 1.0
 */
public class GameFrame extends JFrame {
    JPanel contentPane;
    JMenuBar jMenuBar1 = new JMenuBar();
    JMenu jMenuFile = new JMenu();
    JMenuItem jMenuFileExit = new JMenuItem();
    JMenu jMenuHelp = new JMenu();
    JMenuItem jMenuHelpAbout = new JMenuItem();
    JPanel jPanel1 = new JPanel();
    JPanel jPanel3 = new JPanel();
    JPanel jPanel4 = new JPanel();
    XYLayout xYLayout2 = new XYLayout();
    JLabel jPlayer1 = new JLabel();
    JLabel jPlayer2 = new JLabel();
    XYLayout xYLayout3 = new XYLayout();
    JLabel lBoard = new JLabel();
    XYLayout xYLayout4 = new XYLayout();
    TitledBorder titledBorder1 = new TitledBorder("");
    JPanel jPanel2 = new JPanel();
    JPanel jPanel5 = new JPanel();
    JLabel jLabel4 = new JLabel();
    XYLayout xYLayout5 = new XYLayout();
    XYLayout xYLayout1 = new XYLayout();
    XYLayout xYLayout6 = new XYLayout();
    JLabel jWaitPlayer1 = new JLabel();
    JLabel jWaitPlayer2 = new JLabel();
    JMenu jMenu1 = new JMenu();
    int selectPlayer=0;  //0 - 沒有開始;  1 - Player vs Computer;  2 - Player VS player; 3 - web
    ImageIcon image1;            // 棋盤
    ImageIcon image_bj;          // bj
    ImageIcon image_title;          // title
    ImageIcon image_playing;       // playing
    ImageIcon image_waiting;         // waiting
    ImageIcon image_end;       // end
    ImageIcon jChessImageBlack; // 黑棋子
    ImageIcon jChessImageWhite;// 白棋子

    ImageIcon jImageChess;       // 棋子照片
    JPanel jPanelChess = new JPanel();
    JLabel[] jChess=new JLabel[256];        //  旗子標(biāo)簽
    int m_step=0;                           //  記錄步數(shù)
    private int m_turn=0;                  //  該誰了=0表示黑方,=1白方
    JButton cmd_undo = new JButton();
    int theStep[][]=new int[256][3];
    boolean isFinish=false;                //是否已經(jīng)成

    NetDialog netDialog;
    Func func=new Func();
    NetGame netgame;
    //下面是一些圖象常量數(shù)據(jù)
        int linespace=28;
        int xn=15;
        int yn=15;
     //下面數(shù)據(jù)是調(diào)試算法x,y
        int resultX;
        int resultY;
    JMenuItem jMenuItem2 = new JMenuItem();
    JCheckBoxMenuItem jCheckBoxMenuItem1 = new JCheckBoxMenuItem();
    JCheckBoxMenuItem jCheckBoxMenuItem2 = new JCheckBoxMenuItem();
    JMenuItem jMenuItem1 = new JMenuItem();
    int role=-1;
    boolean isWebStart=false;
    int m_undo;
    JLabel jLabel1 = new JLabel();
    JLabel jLabel2 = new JLabel();
    XYLayout xYLayout7 = new XYLayout();
    JLabel jLabel3 = new JLabel();
    JLabel jPlayerA = new JLabel();
    JLabel jPlayerB = new JLabel();
    JLabel jLabel5 = new JLabel();
    JButton cmd_New = new JButton();
    public GameFrame() {
        try {
            setDefaultCloseOperation(EXIT_ON_CLOSE);
            jbInit();
        } catch (Exception exception) {
            exception.printStackTrace();
        }
    }

    /**
     * Component initialization.
     *
     * @throws java.lang.Exception
     */
    private void jbInit() throws Exception {
        //jChessImageBlack = new ImageIcon(game.GameFrame.class.getResource("black.png"));
        //jChessImageWhite = new ImageIcon(game.GameFrame.class.getResource("white.png"));
        image1 = new ImageIcon(game.GameFrame.class.getResource("board.png"));
        image_bj =  new ImageIcon(game.GameFrame.class.getResource("bj.png"));          // bj
        image_title=  new ImageIcon(game.GameFrame.class.getResource("Title.png"));          // title
        image_playing=  new ImageIcon(game.GameFrame.class.getResource("Playing.png"));       // playing
        image_waiting=  new ImageIcon(game.GameFrame.class.getResource("Waiting.png"));         // waiting
        image_end=  new ImageIcon(game.GameFrame.class.getResource("End.png"));         // end
        jChessImageBlack= new ImageIcon(game.GameFrame.class.getResource("black.png")); // 黑棋子
        jChessImageWhite= new ImageIcon(game.GameFrame.class.getResource("white.png"));// 白棋子


        lBoard.setIcon(image1);
        contentPane = (JPanel) getContentPane();
        contentPane.setLayout(xYLayout1);
        this.setResizable(false);
        setSize(new Dimension(606, 485));
        setTitle("五子棋游戲");
        jMenuFile.setText("File");
        jMenuFileExit.setText("Exit");
        jMenuFileExit.addActionListener(new
                                        GameFrame_jMenuFileExit_ActionAdapter(this));
        jMenuHelp.setText("Help");
        jMenuHelpAbout.setText("About");
        jMenuHelpAbout.addActionListener(new
                                         GameFrame_jMenuHelpAbout_ActionAdapter(this));
        contentPane.setMinimumSize(new Dimension(606, 485));
        contentPane.setPreferredSize(new Dimension(606, 485));
        jPanel1.setBackground(Color.pink);
        jPanel1.setLayout(xYLayout4);
        jPanel3.setBackground(Color.white);
        jPanel3.setLayout(xYLayout2);
        jPanel4.setLayout(xYLayout3);
        jPlayer1.setFont(new java.awt.Font("Dialog", Font.PLAIN, 18));
        jPlayer1.setIcon(jChessImageBlack);
        jPlayer1.setText("Player 1");
        jPlayer2.setFont(new java.awt.Font("Dialog", Font.PLAIN, 18));
        jPlayer2.setIcon(jChessImageWhite);
        jPlayer2.setText("Player 2");
        lBoard.setAlignmentY((float) 0.0);
        lBoard.setBorder(titledBorder1);
        lBoard.setDisabledIcon(null);
        lBoard.setDisplayedMnemonic('0');
        lBoard.setIcon(image1);
        lBoard.setText("");
        lBoard.addMouseListener(new GameFrame_lBoard_mouseAdapter(this));
        jPanel2.setBackground(Color.white);
        jPanel2.setLayout(xYLayout7);
        jPanel5.setLayout(xYLayout5);
        jLabel4.setText("Please Select a Player First");
        jPanelChess.setBackground(Color.cyan);
        jPanelChess.setEnabled(false);
        jPanelChess.setBorder(null);
        jPanelChess.setDoubleBuffered(false);
        jPanelChess.setOpaque(false);
        jPanelChess.setInputVerifier(null);
        jPanelChess.setLayout(xYLayout6);
        cmd_undo.setEnabled(false);
        cmd_undo.setFont(new java.awt.Font("宋體", Font.PLAIN, 12));
        cmd_undo.setToolTipText("");
        cmd_undo.setText("悔棋");
        cmd_undo.addActionListener(new GameFrame_cmd_undo_actionAdapter(this));
        jWaitPlayer1.setFont(new java.awt.Font("Arial", Font.PLAIN, 11));
        jWaitPlayer1.setToolTipText("");
        jWaitPlayer1.setHorizontalAlignment(SwingConstants.CENTER);
        jWaitPlayer1.setText("Stop");
        jWaitPlayer2.setFont(new java.awt.Font("Arial", Font.PLAIN, 11));
        jWaitPlayer2.setToolTipText("");
        jWaitPlayer2.setHorizontalAlignment(SwingConstants.CENTER);
        jWaitPlayer2.setText("Stop");
        jMenu1.setText("Select Player");
        jMenuItem2.setText("New Game");
        jMenuItem2.addActionListener(new GameFrame_jMenuItem2_actionAdapter(this));
        jCheckBoxMenuItem1.setText("Player vs Computer");
        jCheckBoxMenuItem1.addActionListener(new
                GameFrame_jCheckBoxMenuItem1_actionAdapter(this));
        jCheckBoxMenuItem2.setText("Player vs Player");
        jCheckBoxMenuItem2.addActionListener(new
                GameFrame_jCheckBoxMenuItem2_actionAdapter(this));
        jMenuItem1.setText("Network");
        jMenuItem1.addActionListener(new GameFrame_jMenuItem1_actionAdapter(this));
        jLabel1.setIcon(image_bj);
        jLabel1.setText("jLabel1");
        jLabel2.setIcon(image_bj);
        jLabel2.setText("jLabel2");
        jLabel3.setForeground(Color.black);
        jLabel3.setToolTipText("");
        jLabel3.setIcon(image_title);
        jLabel3.setText("jLabel3");
        jPanel5.setBackground(SystemColor.window);
        jPlayerA.setIcon(image_waiting);
        jPlayerA.setText("");
        jPlayerB.setIcon(image_waiting);
        jLabel5.setIcon(image_end);
        jLabel5.setText("");
        cmd_New.addActionListener(new GameFrame_cmd_New_actionAdapter(this));
        cmd_New.setText("New");
        jMenuBar1.add(jMenuFile);
        jMenuFile.add(jMenuItem2);
        jMenuFile.add(jMenu1);
        jMenuFile.addSeparator();
        jMenuFile.add(jMenuFileExit);
        jMenuBar1.add(jMenuHelp);
        jMenuHelp.add(jMenuHelpAbout);
        jPanel1.add(jPanelChess, new XYConstraints(0, 0, -1, -1));  //把棋子層加到j(luò)Panel1中
        jPanel1.add(lBoard, new XYConstraints(0, 0, -1, -1));
        jMenu1.add(jCheckBoxMenuItem1);
        jMenu1.add(jCheckBoxMenuItem2);
        jMenu1.add(jMenuItem1);
        jPanel3.add(jPlayer1, new XYConstraints(30, 116, 122, 26));
        jPanel4.add(jPlayer2, new XYConstraints(30, 115, 117, 28));
        contentPane.add(jPanel1, new XYConstraints(0, 0, -1, 431));
        jPanel3.add(jPlayerA, new XYConstraints(49, 18, 70, 67));
        jPanel3.add(jWaitPlayer1, new XYConstraints(52, 83, 58, 17));
        jPanel4.add(jPlayerB, new XYConstraints(49, 18, 70, 67));
        jPanel4.add(jWaitPlayer2, new XYConstraints(52, 83, 58, 17));
        jPanel4.add(jLabel2, new XYConstraints(0, 0, -1, -1));
        contentPane.add(jPanel2, new XYConstraints(435, 0, 166, 77));
        contentPane.add(jPanel3, new XYConstraints(435, 78, 166, 155));
        contentPane.add(jPanel4, new XYConstraints(435, 235, 166, 155));
        contentPane.add(jPanel5, new XYConstraints(435, 392, 166, 39));
        jPanel5.add(jLabel4, new XYConstraints(5, 11, 149, -1));
        jPanel5.add(jLabel5, new XYConstraints(0, 0, -1, -1));
        jPanel2.add(cmd_undo, new XYConstraints(90, 35, 61, 24));
        jPanel2.add(cmd_New, new XYConstraints(18, 35, 63, 24));
        jPanel3.add(jLabel1, new XYConstraints(0, 0, -1, -1));
        jPanel2.add(jLabel3, new XYConstraints(0, 0, -1, -1));
        setJMenuBar(jMenuBar1);
        m_undo=0;
        /*     測(cè)試棋子位置
        jImageChess=new ImageIcon(game.GameFrame.class.getResource("black.png"));
        jChess[m_step]=new JLabel();
        jChess[m_step].setIcon(jImageChess);
        jChess[m_step].setAlignmentY((float) 0.0);
        jChess[m_step].setDisabledIcon(null);
        jChess[m_step].setDisplayedMnemonic('0');
        jChess[m_step].setText("");
        jPanelChess.add(jChess[m_step], new XYConstraints(8, 8, 22, 22));
        jChess[m_step]=new JLabel();
     */
    }

    /**
     * File | Exit action performed.
     *
     * @param actionEvent ActionEvent
     */
    void jMenuFileExit_actionPerformed(ActionEvent actionEvent) {
        System.exit(0);
    }

    /**
     * Help | About action performed.
     *
     * @param actionEvent ActionEvent
     */
    void jMenuHelpAbout_actionPerformed(ActionEvent actionEvent) {
        GameFrame_AboutBox dlg = new GameFrame_AboutBox(this);
        Dimension dlgSize = dlg.getPreferredSize();
        Dimension frmSize = getSize();
        Point loc = getLocation();
        dlg.setLocation((frmSize.width - dlgSize.width) / 2 + loc.x,
                        (frmSize.height - dlgSize.height) / 2 + loc.y);
        dlg.setModal(true);
        dlg.pack();
        dlg.show();
    }

     //showAllStep is the funcation to show history of theStep[][]
    public void showAllStep(){
        for (int i=1;i<=m_step;i++){
            System.out.print("Step " + i);
            if (theStep[i][2]==0) System.out.print("黑: x=");
            if (theStep[i][2]==1) System.out.print("白: x=");
            System.out.println(theStep[i][0] + " , y=" + theStep[i][1]);
        }
    }

    // writeStep is the funcation to write every step in theStep[][],it can't work,beause 二維數(shù)組的操作不對(duì)
    private void writeStep(int x,int y,int turn){
        theStep[m_step] = new int[3];
        theStep[m_step][0]=x;
        theStep[m_step][1]=y;
        theStep[m_step][2]=turn;
    }

    private void changePlayer(){
        m_turn=( m_turn + 1 ) % 2;
        if (m_turn == 0 ) {
            jPlayerA.setIcon(image_playing);
            jWaitPlayer1.setText("Playing...");
            jPlayerB.setIcon(image_waiting);
            jWaitPlayer2.setText("Waiting...");
        }
        if (m_turn == 1) {
            jPlayerA.setIcon(image_waiting);
            jWaitPlayer1.setText("Waiting...");
            jPlayerB.setIcon(image_playing);
            jWaitPlayer2.setText("Playing...");
        }
    }

    public synchronized void draw(int i,int j,int turn)  {
        if (turn==0) jImageChess=jChessImageBlack;
        if (turn==1) jImageChess=jChessImageWhite;
        jChess[m_step]=new JLabel();
        jChess[m_step].setIcon(jImageChess);
        jChess[m_step].setAlignmentY((float) 0.0);
        jChess[m_step].setDisabledIcon(null);
        jChess[m_step].setDisplayedMnemonic('0');
        jChess[m_step].setText("");
        jPanelChess.add(jChess[m_step], new XYConstraints(28*j+8, 28*i+8, 22, 22)); //行列 與 XY相反
        jPanelChess.updateUI();
        jPanelChess.revalidate();
    }

    private void showMsg(String msg,String title){
        JOptionPane.showMessageDialog(this,msg,title,JOptionPane.INFORMATION_MESSAGE);
    }

    //解str 到 int[]
    public int[] analys(String str){
             String temp[]=new String[20];
             temp=str.split(":");
             int t[]=new int[20];
             for (int i=0;i<=2;i++)
                 t[i]=Integer.parseInt(temp[i]);
             return t;
  }

    public  void desktop(int x,int y){
        cmd_undo.setEnabled(true);
        if (func.isDrawNow(x, y)) {
            func.setXY(x, y, m_turn);
            m_step++;
            this.writeStep(x, y, m_turn);
            this.showAllStep();
            draw(x, y, m_turn);
            jLabel4.setText("Step: " + m_step + " : " + x + " " + y);
            System.out.println("Player:" + m_turn + " X=" + x + ",Y=" + y);
            changePlayer();
            if (func.isOK()) {
               //public static void showMessageDialog(Component parentComponent,Object message,String title,int messageType,Icon icon)
               String stemp = new String("");
               stemp="恭喜你贏了!";
               if (m_undo!=0) {
                   stemp += "您悔了" + m_undo + "步棋!我不服氣!再來一次!";
               }

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
天堂成人免费av电影一区| 日韩三级.com| 偷拍日韩校园综合在线| 久久这里只精品最新地址| 波多野结衣亚洲一区| 亚洲国产日韩综合久久精品| 欧美成人精品1314www| 91麻豆文化传媒在线观看| 免费人成精品欧美精品| 日本一区二区三区高清不卡| 91欧美一区二区| 91美女在线观看| 91国产成人在线| 国产精品66部| 日韩黄色片在线观看| 欧美性做爰猛烈叫床潮| 人人精品人人爱| 国产福利一区二区三区视频在线 | 美国十次了思思久久精品导航| 国产精品丝袜久久久久久app| 欧美乱妇15p| 成人性色生活片免费看爆迷你毛片| 丝袜国产日韩另类美女| 青青草伊人久久| 国产自产视频一区二区三区| 亚洲成a人片在线不卡一二三区| 国产精品天天摸av网| 日韩一区中文字幕| 精品国产免费视频| 91精品国产综合久久久久| 欧美在线色视频| 99精品一区二区三区| 成人视屏免费看| 日本乱人伦aⅴ精品| 6080亚洲精品一区二区| 26uuu欧美| 亚洲日本护士毛茸茸| 中文字幕一区免费在线观看| 亚洲综合一区二区精品导航| 亚洲女同一区二区| 中文字幕日本乱码精品影院| 亚洲一级二级三级| 国产一区二区精品久久99| 看电影不卡的网站| 国精品**一区二区三区在线蜜桃| 不卡的av在线播放| av一区二区三区| 91精品视频网| 中文字幕亚洲欧美在线不卡| 亚洲gay无套男同| 风间由美中文字幕在线看视频国产欧美| 激情文学综合网| 色综合久久综合网97色综合| 91电影在线观看| 欧美成人aa大片| 亚洲精品久久久蜜桃| 亚洲国产一区视频| 国产精品1024| 777色狠狠一区二区三区| 中文字幕不卡在线播放| 国产精品国产精品国产专区不蜜 | 欧美亚洲动漫制服丝袜| 亚洲精品一区二区精华| 亚洲一区二区精品视频| 成人性视频免费网站| 日韩一区二区三区四区 | 99久久久精品| 精品日韩一区二区三区| 亚洲在线视频一区| www.欧美色图| 久久丝袜美腿综合| 奇米影视一区二区三区小说| 色综合久久久网| 国产精品久久久久久久久免费丝袜| 免费一级欧美片在线观看| 在线一区二区三区四区| 亚洲国产精品成人久久综合一区| 蜜臀av一区二区| 欧美日韩国产综合一区二区三区 | 亚洲视频一区二区在线| 国产成人在线影院| 精品处破学生在线二十三| 日韩精品一区第一页| 91国内精品野花午夜精品| 国产精品久久久久久久久快鸭| 国产在线麻豆精品观看| 日韩西西人体444www| 香蕉久久夜色精品国产使用方法 | 国产精品午夜在线| 精一区二区三区| 91啪亚洲精品| 日韩伦理电影网| 成人听书哪个软件好| 中文字幕第一页久久| 精品亚洲免费视频| 精品久久久网站| 老司机精品视频在线| 欧美一级电影网站| 日本欧美在线看| 色综合久久久久综合体桃花网| 中文一区在线播放| 国产69精品一区二区亚洲孕妇| 久久久不卡影院| 午夜欧美视频在线观看| 欧美天天综合网| 亚洲午夜久久久久久久久电影网| 色婷婷久久久亚洲一区二区三区| 亚洲少妇最新在线视频| 91免费版pro下载短视频| 亚洲精品五月天| 欧美影片第一页| 图片区小说区国产精品视频| 欧美精品成人一区二区三区四区| 日本不卡的三区四区五区| 日韩一区二区免费在线观看| 老司机精品视频一区二区三区| 26uuu亚洲综合色欧美| 国产成人啪免费观看软件| 久久99精品国产.久久久久久| 精品国产一区二区三区久久影院| 狠狠色丁香九九婷婷综合五月| 精品av久久707| 高清国产一区二区| 一区二区在线观看视频| 6080午夜不卡| 国产一区二区看久久| 欧美经典一区二区| 色久优优欧美色久优优| 无吗不卡中文字幕| 久久人人超碰精品| 91在线观看美女| 日韩精品电影一区亚洲| 久久伊人中文字幕| 91农村精品一区二区在线| 午夜av区久久| 国产日韩欧美综合在线| 色综合天天综合色综合av | 国产精品美女久久久久aⅴ国产馆| av不卡在线观看| 香蕉久久夜色精品国产使用方法| 日韩手机在线导航| www.性欧美| 日韩和欧美一区二区| 国产欧美日韩综合精品一区二区| 色综合婷婷久久| 麻豆91精品91久久久的内涵| 国产日韩欧美电影| 欧美色男人天堂| 亚洲h精品动漫在线观看| www成人在线观看| 欧美在线视频全部完| 国产一区二区不卡| 亚洲在线中文字幕| 久久精品亚洲一区二区三区浴池| 国产麻豆午夜三级精品| 一区二区三区四区国产精品| 91在线免费看| 蜜桃一区二区三区在线| 国产精品短视频| 日韩一级二级三级精品视频| 99久久精品国产毛片| 麻豆视频观看网址久久| 亚洲精品福利视频网站| 久久久久久久综合日本| 欧美日韩高清不卡| 91一区二区三区在线观看| 久久疯狂做爰流白浆xx| 一区二区激情视频| 国产亚洲成av人在线观看导航| 欧美日韩三级视频| 91美女在线视频| 国产不卡视频在线播放| 蜜桃视频在线观看一区二区| 一区二区三区四区中文字幕| 欧美国产国产综合| 亚洲精品在线观看视频| 欧美日韩五月天| 色呦呦日韩精品| 成人av先锋影音| 国产精品一二三区在线| 琪琪久久久久日韩精品| 亚洲一二三四久久| 综合婷婷亚洲小说| 中文字幕高清不卡| 久久久久久久久久久久电影| 欧美一区午夜视频在线观看| 国产伦精品一区二区三区视频青涩 | 91久久奴性调教| a亚洲天堂av| 国产mv日韩mv欧美| 国产很黄免费观看久久| 免费av成人在线| 日韩精品91亚洲二区在线观看| 一区二区高清在线| 最新欧美精品一区二区三区| 国产精品蜜臀av| 欧美国产精品v| 国产精品人人做人人爽人人添 | 久久国产福利国产秒拍| 日韩av成人高清|