• 大小: 28KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-16
  • 语言: Java
  • 标签: 五子棋  

资源简介

JAVA做的一个简单的五子棋游戏!涉及一些简单的人工智能算法!

资源截图

代码片段和文件信息

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class BoardPanel extends JPanel{
  
    private static int xp;           //放置棋子的位置的x坐标 
    private static int yp;           //放置棋子的位置的y坐标 
    private Cursor handCursor;
    private Cursor defaultCursor;
    protected static int board[][];    // 记录每一个黑棋或者白棋棋子的位置
    private int color=1;             // 记录选手的棋子的颜色1=black 2=white    
    
    int STEPCOUNTER=0;
    int base=5;
    int DEEPTH=3;
    int MINDEEPTH=3;
    int MAX1=5;
    long INVALID=9000000;
    int chessBoard[][];    

     public BoardPanel(){

        try {
            handCursor=new Cursor(12);
            defaultCursor = new Cursor(0);
            board = new int[15][15];
            jbInit();
        }
        catch(Exception e) {
            e.printStackTrace();
        }
    }
    //绘制整个棋盘界面
    public void paint(Graphics gc){
        super.paint(gc);
        gc.setColor(Color.blue);
        // 绘制棋盘
        for (int i = 0; i < 15; i++) {
            gc.drawLine(30 30 + i * 30 450 30 + i * 30); //绘制棋盘的行线
            gc.drawLine(30 + i * 30 30 30 + i * 30 450); //绘制棋盘的列线
        }
        gc.drawLine(25 25 455 25);
        gc.drawLine(25 25 25 455);
        gc.drawLine(25 455 455 455);
        gc.drawLine(455 25 455 455);

        //当窗体被重画时,将绘制出棋盘重画之前的状态
        for(int i=0;i<15;i++){
            for (int j = 0; j < 15; j++) {
             System.out.println(“chonghua“);
                xp=16+i*30;
                yp=16+j*30;
                if (board[i][j] == 1){
                    gc.setColor(Color.black);
                    gc.fillOval(xpyp2828);
                    
                }
                if (board[i][j] == 2){
                    gc.setColor(Color.gray);
                    gc.fillOval(xpyp2828);
                   
                }
            }
        }
    }

    private void jbInit() throws Exception {
        this.addMouseMotionListener(new ChessWZQ_this_mouseMotionAdapter(this));
        this.addMouseListener(new ChessWZQ_this_mouseAdapter(this));
    }
    public int getColor(){
        return color;
    }
    public void setColor(int cr){
        color=cr;
    }
    /**
     * 当窗体更新时,清空棋盘
     */
    public void clearBoard(){
        for(int i=0;i<15;i++){
            for(int j=0;j<15;j++)
                board[i][j]=0;
        }
        repaint();
    }
    //鼠标点击事件处理方法
    void this_mouseClicked(MouseEvent e) {
        int x=0y=0;
        if(color==0){
            return;
        }
        x=e.getX();
        y=e.getY();
//判断单击的位置是否在合法的范围内
        if(x>20&&x<460&&y>20&&y<460&&(x%30<10||x%30>20)&&(y%30<10||y%30>20)){
            if(ChessWZQ.beginFlag==false){
                ChessWZQ.label6.setText(“You may not do that“);
                return;
            }
            xp = x / 30 * 30 - 14;
            yp = y / 30 * 30 - 14;
            if (x % 3

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        232  2010-12-15 10:07  wuziqi\.classpath

     文件        382  2010-12-15 10:07  wuziqi\.project

     文件       6218  2010-12-15 10:07  wuziqi\bin\BoardPanel$Analyse.class

     文件        429  2010-12-15 10:07  wuziqi\bin\BoardPanel$Queue.class

     文件       5586  2010-12-15 10:07  wuziqi\bin\BoardPanel.class

     文件        980  2010-12-15 10:07  wuziqi\bin\ChessWZQ$1.class

     文件        980  2010-12-15 10:07  wuziqi\bin\ChessWZQ$2.class

     文件        792  2010-12-15 10:07  wuziqi\bin\ChessWZQ$3.class

     文件        878  2010-12-15 10:07  wuziqi\bin\ChessWZQ$4.class

     文件       1027  2010-12-15 10:07  wuziqi\bin\ChessWZQ$5.class

     文件        837  2010-12-15 10:07  wuziqi\bin\ChessWZQ$6.class

     文件       2003  2010-12-15 10:07  wuziqi\bin\ChessWZQ$7.class

     文件       1198  2010-12-15 10:07  wuziqi\bin\ChessWZQ$8.class

     文件      11686  2010-12-15 10:07  wuziqi\bin\ChessWZQ.class

     文件        589  2010-12-15 10:07  wuziqi\bin\ChessWZQ_this_mouseAdapter.class

     文件        603  2010-12-15 10:07  wuziqi\bin\ChessWZQ_this_mouseMotionAdapter.class

     文件      21532  2010-12-15 10:07  wuziqi\src\BoardPanel.java

     文件      20868  2010-12-15 10:07  wuziqi\src\ChessWZQ.java

     目录          0  2010-12-15 10:07  wuziqi\bin

     目录          0  2010-12-15 10:07  wuziqi\src

     目录          0  2010-12-15 10:07  wuziqi

----------- ---------  ---------- -----  ----

                76820                    21


评论

共有 条评论