java课设 五子棋_java课设 五子棋代码编写(团队)

这篇博客介绍了作者在java课程设计中实现五子棋游戏的过程。作者负责编写主函数,创建图形界面,设置功能按钮,并利用CheckboxGroup控制下棋顺序。尽管遇到图形界面设计的挑战,但通过学习和实践,成功实现了游戏的基本功能,如开始、重置等。然而,由于时间限制,网络对战和悔棋功能未能完成,作者认识到需要进一步深入学习Java。
摘要由CSDN通过智能技术生成

1. 团队课程设计博客链接

2.个人责模块或任务说明

1.主函数编写,设置图形界面

2,设置功能按钮

3.使用CheckboxGroup对下棋顺序设置

4.对功能按钮的使用进行限制

3.自己的代码提交记录截图

a41d284c77eaa7179830186cf4d1f277.png

4.自己负责模块或任务详细说明

public class FivChese extends JFrame{

CheseGame CG;

FivChese ()

{

this.CG= new CheseGame();

addMouseListener(CG);

add(CG);

}

public static void main(String[] args) {

FivChese fivechese= new FivChese ();

fivechese.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

fivechese.setSize(900, 700);

fivechese.setTitle("五子棋");

fivechese.setVisible(true);//可以画图

fivechese.setResizable(true);//可以改变大小

}

}

class CheseGame extends JPanel implements MouseListener,ItemListener

{

int [][]map = new int[20][20];

Color []color = {Color.BLACK,Color.WHITE,Color.LIGHT_GRAY};

//棋子坐标

int x = -1;

int y = -1;

//判定是白棋还是黑棋

int flag = 1;

//判定胜负

int winner = 3;

JButton btn1 = new JButton("开始"); //游戏开始

JButton btn2 = new JButton("再来一局");//游戏重置

//确定白棋先还是黑棋先

CheckboxGroup cbg = new CheckboxGroup();//复选框

Checkbox chb1 = new Checkbox("黑棋先开始",cbg,true);

Checkbox chb2 = new Checkbox("白棋先开始",cbg,false);

@Override

public void itemStateChanged(ItemEvent ie) {

// throw new UnsupportedOperationException("Not supported yet.");

if(chb1.getState())

{

flag = 1;

}

else

{

flag = 2;

}

}

class GameStart implements ActionListener

{

public void actionPerformed(ActionEvent ae)

{

if(ae.getSource() == btn1)//str.equals("Start")

{

start();

repaint();

btn1.setEnabled(false);

btn2.setEnabled(true);

chb1.setEnabled(false);

chb2.setEnabled(false);

}

if(ae.getSource() == btn2)

{

start();

repaint();

chb1.setEnabled(true);

chb2.setEnabled(true);

}

}

}

CheseGame()

{

this.setLayout(null);

chb1.setBounds(650, 50, 100, 30);

chb2.setBounds(650, 100, 100, 30);

chb1.addItemListener(this);

chb2.addItemListener(this);

btn1.setBounds(650,150,100,30);

btn1.addActionListener(new GameStart());

btn2.setBounds(650, 200, 100, 30);

btn2.addActionListener(new GameStart());

btn2.setEnabled(false);

this.add(btn1);

this.add(btn2);

this.add(chb1);

this.add(chb2);

}

void start()

{

for(int i = 0;i < 20;i++)

for(int j = 0;j < 20;j++)

map[i][j] = 0;

winner = 0;

}

5.课程设计感想

选择了这个以后,发现对自己难度太大,几乎对图形界面一无所知,所以就只能临时学习。因为时间有限,所以程序的功能实现的不全面, 但是还是有收获的。对于网络对战和悔棋的要求并没有达成,所以还是要对java进一步学习。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值