资源简介

Java 五子棋 网络版 聊天 源代码 悔棋 认输 Swing

资源截图

代码片段和文件信息

package five.control;

import javax.swing.JOptionPane;
import five.model.ChessModel;
import five.network.NetWork;
import five.viewer.ChessPanel;
import five.viewer.Viewerframe;

public class Controller {

/**
 * 类Chess Model的对象
 */
ChessModel model = null;

/**
 * 类Chess Panel的对象
 */
ChessPanel viewer = null;

/**
 * 类Viewer frame的对象
 */
Viewerframe frame = null;

/**
 * net- 类NetWork的对象
 */
NetWork net = null;

/**
 * 作为何时停止程序的判断依据
 */
private boolean close = false;

/**
 * 用来记录当前的颜色
 */
int localcolor = 0;

/**
 * 记录当前的端口值
 */
int port = 9999;

/**
 * 本类的构造函数,在建立对象的同时就构造出包括棋盘, 按钮,提示的界面,网络的通道等。
 */

public Controller() {
model = new ChessModel();
viewer = new ChessPanel();
viewer.setChessModel(model);
viewer.setController(this);
frame = new Viewerframe();
frame.setParent(this);
frame.setChessPanel(viewer);
frame.getJframe().setVisible(true);
net = new NetWork(this);
}

/**
 * 将本地的颜色,和从网络上读来的颜色送到界面里; 作为颜色的传递中介,分别调用了3个类中对颜色设置的方法。
 */
public void setcolor(int color) {
localcolor = frame.getCurrentColor();
viewer.setColor(color);
}

/**
 * 将本地的颜色返回,用于在其他类中使用controller中的私有变量localcolor
 * 
 * @return 本地的颜色
 */
public int getcolor() {
return localcolor;
}

/**
 * 下子的函数,实现下子和判断输赢以及输赢后的提示。 作为模型model中下子模型的调用,用于在其他类中使用下子的方法。
 * 
 * @param row
 *            下子的行值
 * @param col
 *            下子的列值
 * @param netcolor
 *            下子的颜色
 */
public void putChess(int row int col int netcolor) {
if (!close) {
if (model.set(row col netcolor)) {
viewer.repaint();
// 单机下子时交换颜色的语句.
// if (color == ChessModel.BLACK) {
// color = ChessModel.WHITE;
// } else if (color == ChessModel.WHITE) {
// color = ChessModel.BLACK;
// }
}
int result = model.whoWin();
if (result == ChessModel.BLACK) {
JOptionPane
.showMessageDialog(null “黑棋赢!!“ ““ 1);
setClose(true);
} else if (result == ChessModel.WHITE) {
JOptionPane
.showMessageDialog(null “白棋赢!!“ ““ 1);
setClose(true);
}
if (localcolor == netcolor) {
viewer.setStop(true);
net.send(row col);
} else {
viewer.setStop(false);
}
}
}

/**
 * 调用界面中显示行列坐标的函数
 * 
 * @param x
 *            鼠标当前的x坐标
 * @param y
 *            鼠标当前的y坐标
 */

public void mouseMove(int x int y) {
frame.showXY(x y);
}

/**
 * 调用net中的makeserver()方法建立服务器, 将得到的端口和颜色信息交付给网络包,并对网络和本地的颜色赋值
 * 
 * @param port
 *            服务器使用的端口
 * @param color
 *            客户机应有的颜色
 */
public void makeServer(int port int color) {
localcolor = frame.getCurrentColor();
viewer.setColor(localcolor);
net.makeserver(port color);
}

/**
 * 调用net中的link()方法建立客户机, 将得到的ip地址和端口信息交付给网络包, 并给网络包中建立客户机的函数传递必要参数
 * 
 * @param ip
 *            客户机要连接的服务器的IP地址
 * @param port
 *            客户机使用的端口
 */
public void netlink(

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        226  2012-05-20 16:18  Java五子棋程序\.classpath

     文件        505  2012-05-20 16:18  Java五子棋程序\.project

     文件        629  2012-05-20 16:18  Java五子棋程序\.settings\org.eclipse.jdt.core.prefs

     文件         99  2012-05-20 16:18  Java五子棋程序\.settings\org.eclipse.jdt.ui.prefs

     文件      18974  2012-05-20 16:18  Java五子棋程序\1.png

     文件      96303  2012-05-20 16:48  Java五子棋程序\11.jpg

     文件      25940  2012-05-20 16:18  Java五子棋程序\2.png

     文件     476981  2012-05-20 16:18  Java五子棋程序\CD102.JPG

     文件     598226  2012-05-20 16:18  Java五子棋程序\CD131.JPG

     文件     460196  2012-05-20 16:18  Java五子棋程序\CD141.JPG

     文件       2853  2013-05-31 21:20  Java五子棋程序\five\control\Controller.class

     文件       4029  2012-05-20 16:29  Java五子棋程序\five\control\Controller.java

     文件       2427  2013-05-31 21:20  Java五子棋程序\five\model\ChessModel.class

     文件       4161  2012-05-20 16:18  Java五子棋程序\five\model\ChessModel.java

     文件       1841  2013-05-31 21:20  Java五子棋程序\five\network\NetWork$1.class

     文件       1721  2013-05-31 21:20  Java五子棋程序\five\network\NetWork$2.class

     文件       1271  2013-05-31 21:20  Java五子棋程序\five\network\NetWork$3.class

     文件       1270  2013-05-31 21:20  Java五子棋程序\five\network\NetWork$4.class

     文件       3468  2013-05-31 21:20  Java五子棋程序\five\network\NetWork.class

     文件       4410  2012-05-20 16:18  Java五子棋程序\five\network\NetWork.java

     文件       1278  2013-05-31 21:20  Java五子棋程序\five\viewer\ChessPanel$1.class

     文件        872  2013-05-31 21:20  Java五子棋程序\five\viewer\ChessPanel$2.class

     文件       5973  2013-05-31 21:20  Java五子棋程序\five\viewer\ChessPanel.class

     文件       7061  2012-05-20 16:27  Java五子棋程序\five\viewer\ChessPanel.java

     文件       1266  2013-05-31 21:20  Java五子棋程序\five\viewer\StatusPane.class

     文件        862  2012-05-20 16:27  Java五子棋程序\five\viewer\StatusPane.java

     文件        947  2013-05-31 21:20  Java五子棋程序\five\viewer\Viewerframe$1.class

     文件        948  2013-05-31 21:20  Java五子棋程序\five\viewer\Viewerframe$2.class

     文件       1846  2013-05-31 21:20  Java五子棋程序\five\viewer\Viewerframe$3.class

     文件       1775  2013-05-31 21:20  Java五子棋程序\five\viewer\Viewerframe$4.class

............此处省略19个文件信息

评论

共有 条评论