团队成员及任务
小组成员
队长:
卿松林 软工20-1 202086010046
负责模块:
整个程序结构的构思,输赢判断实现,悔棋功能实现
队员
张坤宁 计科20-1 202086010012
负责模块:JFrame容器的设置,界面绘制,鼠标监视器与功能之间的连接
项目简介与要求
本项目意在创建一个五子棋小程序
有五子棋判断输赢的条件
有五子棋的悔棋功能
重新开始游戏
直接认输等功能
项目功能架构图、主要功能流程图
项目运行截图
核心代码
package wzq;
import javax.imageio.ImageIO;
import javax.swing.*;
import java.awt.*;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
public class game extends JFrame implements MouseListener,imformation {
public static void main(String[] args) {
game mj=new game();
mj.myJFrame();
}
public static final Color Light_Brown = new Color(153,102,0);
int x = 0, y = 0 ;//保存棋子坐标
int jl = 0;//步数
int[][] SaveGame = new int[16][16];//保存每个棋子
int [] bsx = new int[260];
int [] bsy = new int[260];
int qc = 1;//记录白棋=2,黑棋=1
int qn = 0;//判断棋子是否重复
boolean canplay = true;//判断游戏是否开始和结束
String go = "黑子先行";
//---------------------------------------------------------------------------------------------------------------------
//窗体
public void myJFrame() {
setTitle("五子棋"); //标题
setSize(cw, cy); //窗口大小
setResizable(false); //窗口是否可以改变大小=否
setDefaultCloseOperation(game.EXIT_ON_CLOSE);//窗口关闭方式为关闭窗口同时结束程序
int width = Toolkit.getDefaultToolkit().getScreenSize().width;//获取屏幕宽度
int height = Toolkit.getDefaultToolkit().getScreenSize().height;//获取屏幕高度
// System.out.println("宽度:"+width);//测试
// System.out.println("高度:"+height);//测试
this.setLocation((width - 800) / 2, (height - 600) / 2); //设置窗口默认位置以屏幕居中
this.addMouseListener(this);
this.setVisible(true); //窗口是否显示=是
}
//---------------------------------------------------------------------------------------------------------------------
//覆写paint方法,绘制界面
public void paint(Graphics g) {
//双缓冲技术防止屏幕闪烁
BufferedImage bi = new BufferedImage(800, 600, BufferedImage.TYPE_INT_ARGB);
Graphics g2 = bi.createGraphics();
//获取图片路径
BufferedImage image = null;
try {
image = ImageIO.read(new File("src/wzq/1.png"));
} catch (IOException e) {
e.printStackTrace();
}
g2.drawImage(image, 70, 50, this);//显示图片
g2.setColor(Color.BLACK);//设置画笔颜色
g2.setFont(new Font("华文行楷", 10, 50));//设置字体
g2.drawString(" 五子棋", 530, 100)