目录
一、系统设计
1.1 程序结构说明
既然是JavaApplication,要实现网络对战,故采用C/S模式编写,程序包含7个独立的类文件-ChessWZQ.java、Group.java、Message.java、Player.java、ServerOneClient.java、Server.java、BoardPanel.java。
其中BoardPanel.java主要负责棋盘的初始化,鼠标事件的处理,以及判断胜负条件。ChessWZQ.java定义了面板上的其他元素,包括玩家列表,标题栏等。也包括了事件处理和人工智能。ServerOneClient.java则负责网络对战的处理。其他的类都是又这3个主类延伸出去的。在具体实现的时候再介绍其作用。见图13。
二、系统实现
4.2 棋盘及棋子的类
4.2.1 棋盘
棋盘如图1,具体代码如下:
String line = "a b c d e f g h i j k l m n o";
char [] rowNum1 = {
'1','2','3','4','5','6','7','8','9'};
char [] rowNum2={
'1','0','1','1','1','2','1','3','1','4','1','5'};
这部分为棋盘的边界标识符,是必须要有的。用字符数组存储,最后确定位置放上去即可。
棋盘的绘制:
private static int xp; // 棋子 X坐标
private static int yp; // 棋子Y坐标
public void paint(Graphics gc){
super.paint(gc);
//this.setBackground(Color.gray);
//this.invalidate();
gc.setColor(Color.blue);
//gc.setColor(new Color(255, 255, 240));
//画横向标识符
gc.drawString(line,25,15);
// 画竖向标识符
for(int i=0;i<9;i++)</