五子棋深入

    


        今天把五子棋每个按钮的操作功能基本上实现了,比如点击开始按钮后进入选择游戏模式界面,选择完
成后根据不同的模式进入不同的界面下棋,又如悔棋操作,完成了点击悔棋按钮后的下一个棋子的颜色
和位置设置。还有一些功能需要后续完善。通过几天的实践,对于事件操作熟练了不少。


监听“开始”按钮部分代码:

if (buttonflag.equals("开始")) {
// 执行开始的操作
beginFlag = true;
chessFrame.setVisible(false);
select();

// 选择游戏模式的方法
public void select() {

final JFrame selectFrame = new JFrame("模式选择界面");
selectFrame.setSize(240, 280);
selectFrame.setLocationRelativeTo(null);
JLabel jl = new JLabel("请选择游戏模式:");
JButton renren = new JButton("人人模式");
JButton renji = new JButton("人机模式");
selectFrame.setLayout(new FlowLayout(1, 30, 40));
selectFrame.add(jl);
selectFrame.add(renren);
selectFrame.add(renji);
ActionListener action_listener2 = new ActionListener() {

public void actionPerformed(ActionEvent e) {
String buttonFlag2 = e.getActionCommand();
if (buttonFlag2.equals("人人模式")) {
// 点击人人模式后的操作
moshiFlag = 1;
selectFrame.setVisible(false);
mainUI();


} else if (buttonFlag2.equals("人机模式")) {
// 点击人机模式后的操作
moshiFlag = 2;
}
}


监听“悔棋”按钮部分代码:

if (buttonflag.equals("悔棋")) {
// 执行悔棋的操作
//获取被删除棋子的颜色
Chess lastChess = (Chess)list.remove(list.size() - 1);
chessFrame.repaint();
Color lastColor = lastChess.color;
if (lastColor == Color.white) {
flagColor = true;
} else if (lastColor == Color.black) {
flagColor = false;
}

//获取被删除棋子座标,并根据座标判断棋子位置ArrayChess[i][j];
   double x = lastChess.x;
   double y = lastChess.y;
   int i =(int)(y+10)/40-1;
   int j =(int)(x+10)/40-1;

                                    //重置数组中被删除对象对应的数据值为0
   ArrayChess[i][j]=0;
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章