1、 目录目录 1 绪论绪论 .1 1.1 课程设计意义 1 1.2 课设目的 1 1.3 课设要求 1 2 网络五子棋介绍网络五子棋介绍 .2 2.1 网络五子棋介绍 2 2.2 游戏玩法 2 3 系统整体设计系统整体设计 .3 3.1 整体设计 3 3.2 系统流程图 4 4 原理分析原理分析 .5 4.1 服务器和客户端通信机制 5 4.2 多线程机制 7 5 服务器的设计与实现服务器的设计与实现.8 5.1 服务器监听 8 5.2 传递信息 9 6 客户端设客户端设计与实现计与实现.10 6.1 客户端界面设计 11 6.1.1 GUI 图形界面设计. 12 6.1.2 注册监听者 . 1
2、3 6.2 连接服务器 14 6.3 传递信息 14 6.4 棋盘数据结构 15 6.5 判断输赢算法 16 6.6 背景音乐 17 7 设计实现设计实现 .18 8 总结总结 .20 谢辞谢辞 21 参考文献参考文献 21 1 1 绪绪论论 1.1 课程设计意义 五子棋是起源于中国古代的传统黑白棋种之一。五子棋不仅能增强思维 能力,提高智力,而且富含哲理,有助于修身养性。 经过一个学期的学习, 使我对 Java 有了一定的了解。 但要深入理解 Java 语言,单靠上课是不够的。必须通过课程设计,设计一个比较大的程序,才 能更深一步地理解 Java 语言。 在这次课程中, 我选择了网络五子棋作
3、为课题。 编写网络五子棋游戏要利用到 Socket 网络编程技术和多线程。 通过这次课程 设计,熟悉 Java 的 GUI 图形界面设计,网络 Socket 编程和多线程编程。 1.2 课设目的 通过课程设计,使学生理论联系实际,在程序设计实践中进一步了解 JAVA 程序设计方法掌握类和对象的基本编程方法,熟悉 GUI 图形界面编程 技术,初步了解 Socket 编程方法。 1.3 课设要求 通过课程设计完成一个网络五子棋游戏。由服务器和客户端组成。在 Internet 中不同用户使用客户端通过服务器与其它玩家连接。进行五子棋网 络对战或聊天。 程序中要实现 GUI 图形界面的棋盘、黑子、白子
4、功能,设计棋局存储数 据结构, 实现开始、重来、退出等基本功能, 实现输赢自动判别算法, 实现网 络对战功能, 背景音乐播放功能等。 网络五子棋游戏 1 2 2 网络五子棋网络五子棋介绍介绍 2.1 网络五子棋介绍 五子棋是起源于中国古代的传统黑白棋种之一。五子棋不仅能增强思维 能力,提高智力,而且富含哲理,有助于修身养性。五子棋既有现代休闲的 明显特征“短、平、快”,又有古典哲学的高深学问“阴阳易理”;它既有简单 易学的特性,为人民群众所喜闻乐见,又有深奥的技巧和高水平的国际性比 赛;它的棋文化源远流长,具有东方的神秘和西方的直观;既有“场”的概念, 亦有“点”的连接。它是中西文化的交流点,是古今哲理的结晶。 网络五子棋是一般五子棋的网络版,没有加入人机对战功能。本软件使 两个不同计算机的使用者通过一定的网络连接,达到两人对战的功能。首先 运行服务器监听客户端连接请求。运行客户端与服务器相连,若连接成功, 则进入游戏。选择房间,一个房间最多两个人,人满后,双方可以开始游戏。 2.2 游戏玩法 网络五子棋规则: 棋盘采用 15 条横线 15 条坚线组成交叉的每个点都可 以放棋。 本