资源描述:
《面向对象程序设计---五子棋-java课程设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、《面向对象程序设计》小组成员(姓名、学号):**(组长)**********一、实验分工姓名职责**编写程序、修改程序、设计流程图、设计实验报告**修改程序、分析运行结果、搜索相关资料**修改程序、分析运行结果、整理实验报告二、开发环境(实验编译以及测试环境)硬件环境:CPU:Intel奔腾双核E5200主频2.5GHz内存:2G软件环境:操作系统:Windows7编程环境JDK7.0开发工具:EclipseSDK三、使用环境(用户运行环境)硬件环境:CPU主频在500MHZ以上,内存在128M以上软件环
2、境:JAVA运行环境+WindowsXP或Windows2000以上操作系统目录第一章总体设计11.1设计的目的11.2本系统的主要功能11.3系统包含的类及类之间的关系。11.4Java源文件及其功能21.5项目构建思路2第二章模块功能介绍112.1主类Chess112.2类Autoplay122.3类Scan12第三章功能测试及运行效果143.1系统主界面143.2参考文献153.3工作总结15第一章总体设计1.1设计的目的《面向对象程序设计》课程设计是计算机科学与技术专业集中实践性环节之一,是学习完
3、《面向对象程序设计》课程后进行的一次全面的综合练习。本课程设计主要目的在于加深学生对面向对象基础理论和基本知识的理解,掌握面向对象程序设计的基本方法,进一步使学生综合运用所学知识和增强实际动手能力。通过课程设计,学生在下述各方面的能力应该得到锻炼:1.通过本次设计,实现对本学期内容的回顾与综合运用,包括类的建立,用类创建对象,方法的调用,图形组件的使用方法,图形界面的布局形式,事件处理机制,文件对话框的使用,文件操作的基本方法,数据读写的基本用法等。2.对于给定的设计题目,如何进行分析,理清思路,并给出相
4、应的数学模型。3.掌握自顶而下的设计方法,将大问题进行模块化、对象化,领会面向对象程序设计的方法。4.熟练掌握JAVA语言(C#)的基本语法,灵活运用各种预定义类、线程和事件处理。1.2本系统的主要功能本系统可以实现电脑可以自动下棋,扫描整个棋盘记录连在一起的黑白棋子数,实现人与电脑有次序的下棋,判断人与电脑的胜负,为电脑下棋提供帮助1.3系统包含的类及类之间的关系。本系统共包6个Java源文件。类之间的关系如图1-1所示。ChessAutoplayScanSortJudgeEvaluate图1-1类之间
5、的关系图161.4Java源文件及其功能表1-1java源文件及其功能序号文件名主要功能备注1Chess本程序的主函数初始化棋盘2Autoplay实现电脑可以自动下棋分为8种情况3Scan扫描整个棋盘记录连在一起的黑白棋子数为判断胜负服务4Sort实现人与电脑有次序的下棋黑棋白棋有序的下5Judge判断人与电脑的胜负可以在文本框中显示胜负结果6Evaluate电脑估计为电脑下棋提供帮助1.5项目构建思路此程序旨在打造一个小型五子棋娱乐游戏,经过认真分析和探索。终于,在大家的共同努力之下,完成了这个小型五子
6、棋游戏。游戏编辑思路,五子棋是一种互动性的益智游戏。需要棋盘、棋子、棋手、裁判。首先,我们绘制一个五子棋棋盘,关键代码如下://绘制棋盘函数publicvoidpaint(Graphicsg){for(inti=40;i<=400;i=i+20){g.drawLine(40,i,400,i);}//绘制棋盘行for(intj=40;j<=400;j=j+20){g.drawLine(j,40,j,400);}//绘制棋盘列16g.fillOval(97,97,6,6);//使用当前颜色填充外接指定矩形框的
7、椭圆g.fillOval(337,97,6,6);g.fillOval(97,337,6,6);g.fillOval(337,337,6,6);g.fillOval(217,217,6,6);}其次,我们生成两种颜色不一样的棋子,关键代码如下:黑色棋子代码如下://ChessPoint_black类继承Canvas类classChessPoint_blackextendsCanvasimplementsMouseListener{ChessPadchesspad=null;ChessPoint_black
8、(ChessPadp){setSize(20,20);//设置棋盘每一小格的长宽addMouseListener(this);chesspad=p;}publicvoidpaint(Graphicsg){g.setColor(Color.black);//设置黑色棋子的颜色g.fillOval(0,0,18,18);//使用黑色填充椭圆棋子}白色棋子代码如下:classChessPoint_whiteextendsCanvas