课程设计-围棋对弈游戏的开发
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计围棋对弈游戏的开发
一、主要任务与目标
创建一个围棋对弈平台。
基于Panel类定义一个面板子类,在其中利用Graphics类的drawLine()方法绘制棋盘格线,利用fillOval()方法绘制棋盘四角的星位。为面板注册MouseEvent监听器,为一个按钮注册ActionEvent事件监听器,实现单击鼠标布子、单机一个重新开局等操作。
黑白棋子基于Canvas类的子类,其中,paint()方法用来绘制棋子,通过为棋子注册MouseEvent事件监听器实现双击棋子吃子、右击棋子悔棋操作。Canvas组件表示屏幕上一个空白矩形区域,应用程序可以在该区域内绘图,或者从该区域捕获用户的输入事件。必须重写paint方法,以便在Canvas上执行自定义图形。
主类为Frame的子类,前面创建的棋盘被置入其中。
二、主要内容与基本要求
系统的功能要求:
1. 要求有黑白两色棋子,保存所有已下的棋子,包括在棋盘上的所有棋子和被踢掉的,若某一次落子没有造成踢子,包括所有被这个棋子提掉的棋子及这个棋子本身。如果踢子,则保存所有被踢掉的棋子。保证实现下棋的基本操作如:可以允许悔棋,落子,提示信息,重新开始游戏等功能。
2.熟悉JAVA中swing的组件运用,基本工具的熟练掌握。
学习并掌握以下技术:Java;熟练使用以下开发工具:JCreator 等
三、计划进度
1.12月28日--12月29日:搜集资料、查阅文献,确定选题
2.12月29日--01月02日:需求分析,系统设计,系统功能模块完善3.01月02日-- 01月06 日:编程实现系统、系统测试与修改
4.01月05日-- 01月07日:课程设计报告撰写
5.01月07日--01月07日:课程设计报告答辩
四、主要参考文献:
[1].陈轶.姚晓昆编著.Java程序设计实验指导.北京:清华大学出版社,2006
[2].
[3].赵文靖编著.Java程序设计基础与上机指导.北京:清华大学出版社,2006
[4].
[5].吴其庆编著.Java程序设计实例教程.北京:冶金工业出版社,2006
[6].
[7].陈国君等编著.Java2程序设计基础.北京:清华大学出版社,2006
[8].
[5].Java网络编程实例教程,清华大学出版社,冯博等,2005.1
摘要
围棋作为一个棋类竞技运动,在民间十分流行,为了熟悉五子棋规则及技巧,以及研究简单的人工智能,决定用Java开发五子棋游戏。主要完成了人机对战和玩家之间联网对战2个功能。网络连接部分为Socket编程应用,客户端和服务器端的交互用Class Message定义,有很好的可扩展性,客户端负责界面维护和收集用户输入的信息,及错误处理。服务器维护在线用户的基本信息和任意两个对战用户的棋盘信息,动态维护用户列表。在人机对弈中通过深度搜索和估值模块,来提高电脑棋手的智能。分析估值模块中的影响精准性的几个要素,以及提出若干提高精准性的办法,以及对它们搜索的节点数进行比较,在这些算法的基础上分析一些提高电脑AI方案,如递归算法、电脑学习等。算法的研究有助于理解程序结构,增强逻辑思维能力,在其他人工智能方面也有很大的参考作用。
关键词:围棋,信息自动化,游戏,java
ABSTRACT
As a chess athletic sports, the folk very popular, to familiar with renju rules and skills, and research simple artificial intelligence, decided to use Java development renju game. Main completed the man-machine against and between players networking against two functions. Network connection parts for Socket programming application, the client and the server interaction with scale-up macro definition, have very good scalability, the client is responsible for maintenance and collect user interface input, and error handling. Server maintenance, online users of the basic information and any two against the user board information, dynamic maintenance user list. In the man-machine right through the depth search and valuations module, to improve the intelligent computer player. Analyses the influence of valuation module precision of several
elements, and puts forward some measures of improving precision, and they search number of nodes in the comparison, in these algorithm is analyzed on the basis of some improve computer AI scheme, such as recursion algorithm, computer learning, etc. The algorithm for help to understand the program structure, strengthen the logical thinking ability, in other artificial intelligence also have very great reference role.
Keywords: information automation , games , Java
目录
JAVA程序课程设计任务书 ................................................... 错误!未定义书签。摘要............................................................................................................... I II ABSTRACT ................................................................................................... I V 目录 .............................................................................................................. V 第1章引言. (1)