1、I Java 程序课程设计任务书程序课程设计任务书 一、主要任务与目标 创建一个围棋对弈平台。 基于 Panel 类定义一个面板子类,在其中利用 Graphics 类的 drawLine() 方法绘制棋盘格线,利用 fillOval()方法绘制棋盘四角的星位。为面板注册 MouseEvent 监听器,为一个按钮注册 ActionEvent 事件监听器,实现单击鼠标布 子、单机一个重新开局等操作。 黑白棋子基于 Canvas 类的子类,其中,paint()方法用来绘制棋子,通过 为棋子注册 MouseEvent 事件监听器实现双击棋子吃子、右击棋子悔棋操作。 Canvas 组件表示屏幕上一个空白
2、矩形区域,应用程序可以在该区域内绘图,或者 从该区域捕获用户的输入事件。必须重写 paint 方法,以便在 Canvas 上执行自 定义图形。 主类为 Frame 的子类,前面创建的棋盘被置入其中。 二、主要内容与基本要求 系统的功能要求:系统的功能要求: 1. 要求有黑白两色棋子, 保存所有已下的棋子,包括在棋盘上的所有棋子和被 踢掉的, 若某一次 落子没有造成踢子, 包括所有被这个棋子提掉的棋子及这个棋 子本身。如果踢子,则保存所有被踢掉的棋子。保证实现下棋的基本操作如:可 以允许悔棋,落子,提示信息,重新开始游戏等功能。 2.熟悉 JAVA 中 swing 的组件运用,基本工具的熟练掌握
3、。 学习并掌握以下技术:学习并掌握以下技术:Java;Java;熟练使用以下开发工具:熟练使用以下开发工具:JCreator JCreator 等 三、计划进度 112 月 28 日-12 月 29 日:搜集资料、查阅文献,确定选题 212 月 29 日-01 月 02 日:需求分析,系统设计,系统功能模块完善 301 月 02 日- 01 月 06 日:编程实现系统、系统测试与修改 401 月 05 日- 01 月 07 日:课程设计报告撰写 II 501 月 07 日-01 月 07 日:课程设计报告答辩 四、主要参考文献: 1. 陈轶.姚晓昆编著.Java 程序设计实验指导.北京:清华大
4、学出版社,2006 2. 赵文靖编著.Java 程序设计基础与上机指导.北京:清华大学出版社,2006 3. 吴其庆编著.Java 程序设计实例教程.北京:冶金工业出版社,2006 4. 陈国君等编著.Java2 程序设计基础.北京:清华大学出版社,2006 5.Java 网络编程实例教程,清华大学出版社,冯博等,2005.1 III 摘要摘要 围棋作为一个棋类竞技运动,在民间十分流行,为了熟悉五子棋规则及技 巧,以及研究简单的人工智能,决定用 Java 开发五子棋游戏。主要完成了人机对 战和玩家之间联网对战 2 个功能。 网络连接部分为 Socket 编程应用, 客户端和服 务器端的交互用 Class Message 定义,有很好的可扩展性,客户端负责界面维护 和收集用户输入的信息,及错误处理。服务器维护在线用户的基本信息和任意两 个对战用户的棋盘信息,动态维护用户列表。在人机对弈中通过深度搜索和估值 模块,来提高电脑棋手的智能。分析估值模块中的影响精准性的几个要素,以及 提出若干提高精准性的办法,以及对它们搜索的节点数进行比较,在这些算