外链论坛

 找回密码
 立即注册
搜索
查看: 76|回复: 2

java五子棋程序的实现(人人对战)

[复制链接]

2795

主题

1万

回帖

9997万

积分

论坛元老

Rank: 8Rank: 8

积分
99979978
发表于 2024-7-11 06:57:26 | 显示全部楼层 |阅读模式

一,界面的实现

首要咱们还是来实现一个基本的界面,由于咱们必须一起棋盘的区域还有一起功能区域,因此咱们除了JFrame还必须用到JPanel和BorderLayout边框布局方式。代码如下:

public class Gobong extends JPanel implements Gobonginte{ public static void main(String[] args){ Gobong gb=new Gobong(); gb.initUI(); } public void initUI(){ JFrame frame=new JFrame("五子棋"); frame.setSize(800, 680); frame.setDefaultCloseoperation(3); frame.setLocationRelativeTo(null); JPanel jp=new JPanel(); BorderLayout bl=new BorderLayout();//设置JFrame的布局方式 frame.setLayout(bl); GobongListener gl=new GobongListener(this,jb);//实例化事件处理类对象 frame.add(this,BorderLayout.CENTER);//添加中间面板 jp.setBac公斤round(Color.DARK_GRAY); jp.setPreferredSize(new Dimension(150,0)); frame.add(jp,BorderLayout.EAST);//添加东边面板 frame.setVisible(true); gl.setG(getGraphics()); }

而后咱们必须画出一个棋盘,由于后面咱们其他类必须,初始坐标,棋子体积有些数据,为了便于修改和赋值,咱们定义一个接口:

public interface Gobonginte { public static final int x0=30,y0=30,SIZE=30,row=20,column=20; public static final int[][] chesses=new int[row][column]; }

为了方便咱们后面进行重绘,咱们这儿在继承JPanel类之后重写paint办法

public void paint(Graphics g){ super.paint(g); this.draw(g); if(chesses!=null){ this.drawqizi(g); } }

画棋盘的办法

public void draw(Graphics g){ //画棋盘 for(int i=0;i<row;i++){ g.setColor(Color.black); g.drawLine(x0,y0+i*SIZE,x0+SIZE*(row-1),y0+i*SIZE);//画横线 g.drawLine(x0+i*SIZE,y0 ,x0+i*SIZE,y0+SIZE*(column-1));//画横线 } }

二,棋盘落子

咱们此刻基本的界面有了,此刻必须的是将在棋盘上画棋子,并且是画在交叉点上。

此时为了得到点时的坐标点,咱们必须添加监听器(MouseListener,ActionListener)这儿我为了方便,选取继承了MouseAdapter类:

public class GobongListener extends MouseAdapter implements ActionListener,Gobonginte{ public GobongListener(JPanel j,JComboBox<String> jb){ this.jpanel=j; this.jb=jb; } public void mouseReleased(Mouse
回复

使用道具 举报

11

主题

801

回帖

7

积分

新手上路

Rank: 1

积分
7
发表于 2024-9-8 19:08:01 | 显示全部楼层
你的言辞如同繁星闪烁,点亮了我心中的夜空。
回复

使用道具 举报

2879

主题

1万

回帖

9910万

积分

论坛元老

Rank: 8Rank: 8

积分
99109667
发表于 2024-9-29 15:42:28 | 显示全部楼层
你说得对,我们一起加油,未来可期。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

站点统计|Archiver|手机版|小黑屋|外链论坛 ( 非经营性网站 )|网站地图

GMT+8, 2024-10-19 07:29 , Processed in 0.068446 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.