五子棋游戏的功能:
1.在点击鼠标时,可以在相应的位置显示棋子
2.可以自动判断游戏是否结束,是否黑方或白方已经胜利
3.对游戏时间进行设置,判断是否超出规定时间
首先,开发出游戏界面;(通过swing类的所有操作)
计算棋盘中每一条线的间距,这里用的是19*19的围棋棋盘(分成18*18块)
设置棋盘时可以通过getX()getY()函数获得坐标以方便绘制
建立FiveFrame类 扩展JFrame 监听鼠标监听器
public class FuveChessFrame extends JFrame implements MouseListener{
public FiveChessFrame(){
int width = Toolkit.getdefaultToolkit.getScreenSize().width;
int height = Toolkit.getdefaultToolkit.getScreenSize().height;
BufferdImage bpImage = null;
this.setTitle("Fivechess");
this.setSize(500,500);//大小根据图片确定
this.setLocation((width-500)/2,(height-500)/2);
this.setResizable(false);
this.setDefaultCoperation(JFrame.EXIT_ON_CLOSE);
//加入监听器
this.addMouseListener(this);
this.setVisible(true);
try{
bpImage = ImageIO.read(new File("...jpg"));
}catch(IOException e)
}
public void paint(Graphics g){
g.drawImage(bpImage,1,20,this);//窗体大小是包含标题栏的
g.setFont(newFont("黑体",Font.BOLD,20));
g.drawString("游戏信息:",120,60);
g.setFont(new Font("宋体",0,14))
g.drawString("黑方时间:无限制",30,470);
g.drawString("白方时间:无限制",240,470);
//绘制棋盘
for(int i=0;i<19;i++){
g.drawLine(10,70+20*i,370,70+20*i);//20是每个格子的像素
g.drawLine(10+20*i,70,10+20*i,430);
}
//标注一些点位
g.fillOval(68,128,4,4);
g.fillOval(308,12,4,4);//(重复设置圆点)
}