admin管理员组

文章数量:1621657

1.项目简介

       java编写的五子棋小游戏,具有基本的重新开始游戏、游戏说明、认输功能,同时新增了时间设置、保存战绩、查询战绩功能。时间设置为黑白双方设置倒计时,当一方超时且游戏未结束时,该方判输。战绩为双方胜场,可选择保存,查询战绩。

2.功能架构图

3.采用技术

 JavaSwing 构建棋盘;

 Graphics 类绘制棋盘与棋子;

 MouseListener 鼠标监听器监听鼠标点击位置进行相应功能;

 多线程技术构建计时器;

 连接Mysql数据库存储读取数据。

4.功能需求分析

基本功能:生成界面,绘制棋盘,绘制棋子,实现轮流点击下棋并判断输赢。

 public FiveChessFrame(){
        this.setTitle("五子棋");//窗体名称
        this.setSize(600,500);//窗体大小
        this.setLocation((w-500)/2, (h-500)/2);//窗体位置
        this.setResizable(false);//窗体大小不可变
        this.setVisible(true);//窗体显示
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//窗体关闭
        this.addMouseListener(this);//加入鼠标监听。
        t.start();
        t.suspend();
        try {
            bgImage = ImageIO.read(new File("E:\\java\\chengxu\\kechengsheji\\img\\tu.jpg"));
            bgIImage = ImageIO.read(new File("E:\\java\\chengxu\\kechengsheji\\img\\background.jpg"));
        }catch (IOException e){
            e.printStackTrace();
        }//导入图片
    }

    public void paint(Graphics g){
        //图片绘制
        g.drawImage(bgImage,0,20,this);
        g.drawImage(bgIImage,10,55,this);
        //调用方法,创建对象,绘制棋盘内容
        DrawBoard drawboard=new DrawBoard();
        drawboard.drawBoard(g,message,a,b,blackMessage,whiteMessage);
       //调用方法,创建对象,绘制棋子
        DrawPiece drawpiece=new DrawPiece();
        drawpiece.drawPiece(allChess,g);


    }
package user;

import java.awt.*;
import java.awt.image.BufferedImage;

public class DrawBoard {
    void drawBoard(Graphics g, String message, int a, int b, String blackMessage, String whiteMessage){
        g.setFont(new Font("宋体",Font.BOLD,15));
        g.drawString("游戏信息:"+message,20,50);
        g.setFont(new Font("黑体", Font.BOLD, 14));
        //g.drawString("游戏信息",20,50);
        g.drawString("开始游戏",450,100);
        g.drawString("设置时间",450,150);
        g.drawString("游戏说明",450,200);
        // g.drawString("悔棋",450,250);
        g.drawString("认输",450,300);
        g.drawString("保存战绩",450,350);
        g.drawString("查看战绩",450,400);//右侧按钮内文本
        // g.drawString("黑方时间:", 30, 470);
        //g.drawString("白方时间:", 260, 470);//下侧计时器文本
        g.drawString("黑方胜场:"+a,435,450);
        g.drawString("白方胜场:"+b,435,470);
        g.drawRect(440,75,75,35);
        g.drawRect(440,125,75,35);
        g.drawR

本文标签: 小游戏课程设计五子Java