五子棋java课程设计
目目 录录 一、课程设计任务及要求 1 二、需求分析. 1 2.1 棋盘板块 .1 2.2 聊天板块 .1 2.3 ChatSever .1 2.4 编译环境 .1 2.5 参考资料 .1 三、设计思路. 1 3.1 板块的显示 .1 3.2 注册监听 .2 3.3 ChatServer . 2 3.4 下棋 .2 四、详细设计. 3 4.1 WuZiQi 类 3 4.2 ChatSever 类 4 4.3 多用户聊天 5 4.4 流程图 .6 五、运行调试与分析讨论 7 六、设计体会与小结 . 9 七、参考文献. 10 第 1 页 一、课程设计任务一、课程设计任务及要求及要求 1、五子棋游戏室界面用户可以选择对弈桌及角色(执黑、执白、旁观) ; 2、游戏界面有开始、退出、悔棋、判断胜负;发言及显示区;用户列表 区;棋盘绘制区; 3、使用 Socket 来完成服务端和客户端的通信; 4、使用多线程技术支持多用户操作; 5、增强功能支持用户注册、添加和删除好友、战绩显示、发送消息、接 受消息、多人聊天等功能;使用数据库保存用户信息。 二、需求分析二、需求分析 2.1 棋盘板块 画一个 1515 的棋盘版面,及两个按钮组。初始化开始、重置、 退出;角色选择黑方、白方、旁观。 2.2 聊天板块 聊天信息显示区,聊天信息输入区。 2.3 ChatSever 模拟服务器用于桥接不同用户,实现接收用户发出的信息,然后 将信息传递到每个用户的聊天窗口。 2.4 编译环境 Eclipse 实验室上机 在宿舍编写 2.5 参考资料 Java 语言使用教程,百度文库资料(五子棋判断胜负算法) 。 三、设计思路三、设计思路 3.1 板块的显示 画棋盘 调用public void paintGraphics gQiPang;方法 画一个1515的棋盘面版。 初始化 定义两个 Panel P1、P2,在初始化板块将 JButton 开始、 重置,退出加入到 P1,将黑方、白方、旁观加入到 P2。 第 2 页 聊天板块 在初始化时定义一个JTextArea 和一个JTextField 实现聊 天功能 3.2 注册监听 对角色选择按钮注册ActionListener监听,设置用户的角色。定义黑子 int类型 0,白子1。 对按钮开始、重置注册ActionListener监听,如果点击开始,用户进 入 下棋状态,有一方赢了,棋盘上则不能再点击棋子。点击重置,则开始新 的一轮。 对鼠标注册mouseClicked监听,鼠标点击棋盘时获取下棋的位置。 对JTextField注册ActionListener,用户输入聊天信息后,通过Server 传递给其他用户,在对话框JTextArea内显示。 3.3 ChatServer class ServerThread implements Runnable 类监听线程,监听是否有客 户端法过信息来。 属性 Vector threads 向量存储线程 Socket socket 服务端口 DataStream in 输入流 DataOutputStream out 输出流 int nid 用户ID 方法 构造器public ServerThreadSoc