在九宫格里面轮流画圈或叉,哪一方先在水平、竖直、或对角线上有三个子则胜出。
可在窗体中安排9个按钮对应每个格子
计算机和人轮流下子。
代码如下:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.lang.*;
class ChessDemo extends Panel implements ActionListener{
char whoTurn = 'O'; //人—O,计算机--X
Button b[] = new Button[9]; //9个按钮
StringBuffer chess = new StringBuffer("KKKKKKKKK");
//将九宫格用一位数组来表示,用K字符表示空位置
public ChessDemo(){
setLayout(new GridLayout(3,3,3,3));
for (int i=0;i<9;i++) {
b[i] = new Button("");
add(b[i]);
b[i].setActionCommand(String.valueOf(i));
b[i].addActionListener(this);
}
}
public void actionPerformed(ActionEvent e) {
Button me = (Button)(e.getSource());//自己
if (!me.getLabel().equals("")) //不允许在已有棋子位置下棋
return;
me.setLabel("" + whoTurn); //标记下棋
int row = Integer.parseInt(me.getActionCommand()); //求位置
chess.setCharAt(row,whoTurn