1、面向对象程序设计(Java)课程设计报告 -I- 课程设计说明书 设计题目: 单机版五子棋 设计时间: 2011.12.15 至 2012.1.5 指导教师: 评 语:_ _ _ _ _ 评阅成绩: 评阅教师: 面向对象程序设计(Java)课程设计报告 -II- 目目 录录 1 引 言 2 1.1 课程设计选题. 2 1.2 课程设计的目的. 2 1.3 本选题的设计背景. 2 2 需求分析 2 2.1 功能需求 2 2.2 系统的开发运行环境 2 3 总体设计 3 3.1 系统体系结构设计 3 3.2 系统功能模块及主要类设计. 3 4 详细设计与实现 4 4.1 主窗体模块 4 4.2 棋
2、子索引模块 10 4.3 棋盘构造模块 12 4.4 画棋盘模块 13 4.5 鼠标按下模块 14 4.6 判断胜利算法模块 16 4.7 重新开始和悔棋算法模块 16 5 小结和展望 18 参 考 文 献 19 附 录 19 使用说明书. 19 源程序清单. 19 面向对象程序设计(Java)课程设计报告 -2- 1 引引 言言 1.1课程设计选题 单机版五子棋 1.2课程设计的目的 使学生巩固和加深以 Java 语言为基础的面向对象编程技术理论知识的理解,提高实际动手 编程能力的培养,掌握以 Java 为核心的应用软件开发方案,达到能独立阅读、编制和调试 一定规模的 Java 程序的水平。
3、 1.3本选题的设计背景 描述为什么选择本题目? 五子棋是大家喜闻乐见的小游戏,规则简单,变化多端,非常有趣味性, 本选题的设计意义? 通过编写五子棋小游戏的程序,进一步锻炼 java 图形编程技巧和编写程序的能力。 2 需求分析需求分析 2.1 功能需求 用户角度考察系统应具有哪些功能及非功能性需求。 这里实现了双人对下的五子程序,程序提供重新开局、悔棋功能,附加播放棋子落下的声音 和胜利声音。 2.2 系统的开发运行环境 本系统开发平台: Java 本系统集成开发环境:Eclipse 本系统运行环境: windows xp 或以上版本 面向对象程序设计(Java)课程设计报告 -3- 3
4、总体设计总体设计 3.1 系统体系结构设计 a 系统的功能描述 程序是一个双人对战五子棋程序,提供下五子棋必须的悔棋、重新开始、退出等功能,兼播 放声音。 b 相关类设计 ChessBoard.java 包含 ChessBoard 的公共类,主要功能是绘制棋盘、棋子、判断输赢。 Point.java 包含名为 Point 的公共类,主要功能定义棋子颜色,获取索引。 StartChessJFrame.Java 包含 StartChessJFrame 的公共类,主要功能,显示主窗体界面,包括工具条面板, “重新开 始” 、 “悔棋” 、 “退出”按钮。菜单栏, “系统”菜单, “重新开始” 、 “
5、悔棋” 、 “退出”菜单项; “帮助”菜单, “关于五子棋” 、 “关于作者”菜单项。以上菜单项和按钮,均加监听器,实 现对棋盘和窗口的控制。令外,鼠标点击“退出”按钮或菜单项时弹出提示。 3.2系统功能模块及主要类设计 StartChessJFrame.java 包含名为 StartChessJFrame 的 pubilc 类,主要用来显示主窗体界面, 包括工具条面板, “重新开始” 、 “悔棋” 、 “退出”按钮。菜单栏, “系统”菜单, “重新开始” 、 “悔棋” 、 “退出”菜单项; “帮助”菜单, “关于五子棋” 、 “关于作者”菜单项。以上菜单项 和按钮,均加监听器,实现对棋盘和窗口的控制。令外,鼠标点击“退出”按钮或菜单项时 弹出提示。编写一个内部类 MyItemListenerl 来很监听按钮及菜单项单击事件。 编写 Point 类,包括棋子 x/y 索引及其颜色,定义相应的构造方法和 get()函数。 编写 ChessBoard 类,设置棋盘背景颜色为橘黄色,然后在主框架中创建 ChessBoard 的对 象,添加到主框架中。编写 paintComponent 方法绘制棋盘。 在 ChessBoard 中创建 Point,然后在 paintCompone