您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > C/C++资料 > 五子棋-Java课程设计
《面向对象程序设计》课程设计报告实验时间:2010年10月26日实验班级:**********************实验报告总份(片)数:1份(片)实验指导老师:************设计小组湖南省吉首市吉首大学课程设计报告简单的游戏——五子棋小组成员(姓名、学号):**(组长)**********一、实验分工姓名职责**编写程序、修改程序、设计流程图、设计实验报告**修改程序、分析运行结果、搜索相关资料**修改程序、分析运行结果、整理实验报告二、开发环境(实验编译以及测试环境)硬件环境:CPU:Intel奔腾双核E5200主频2.5GHz内存:2G软件环境:操作系统:Windows7编程环境JDK7.0开发工具:EclipseSDK三、使用环境(用户运行环境)硬件环境:CPU主频在500MHZ以上,内存在128M以上软件环境:JAVA运行环境+WindowsXP或Windows2000以上操作系统目录第一章总体设计.......................................................................................................11.1设计的目的...............................................................................................................................................11.2本系统的主要功能...................................................................................................................................11.3系统包含的类及类之间的关系。...........................................................................................................11.4Java源文件及其功能..............................................................................................................................21.5项目构建思路..........................................................................................................................................2第二章模块功能介绍...........................................................................................112.1主类Chess...........................................................................................................................................112.2类Autoplay........................................................................................................................................122.3类Scan.................................................................................................................................................12第三章功能测试及运行效果...............................................................................143.1系统主界面...........................................................................................................................................143.2参考文献...............................................................................................................................................153.3工作总结...............................................................................................................................................15吉首大学数学与计算机科学学院Java课程设计报告1第一章总体设计1.1设计的目的《面向对象程序设计》课程设计是计算机科学与技术专业集中实践性环节之一,是学习完《面向对象程序设计》课程后进行的一次全面的综合练习。本课程设计主要目的在于加深学生对面向对象基础理论和基本知识的理解,掌握面向对象程序设计的基本方法,进一步使学生综合运用所学知识和增强实际动手能力。通过课程设计,学生在下述各方面的能力应该得到锻炼:1.通过本次设计,实现对本学期内容的回顾与综合运用,包括类的建立,用类创建对象,方法的调用,图形组件的使用方法,图形界面的布局形式,事件处理机制,文件对话框的使用,文件操作的基本方法,数据读写的基本用法等。2.对于给定的设计题目,如何进行分析,理清思路,并给出相应的数学模型。3.掌握自顶而下的设计方法,将大问题进行模块化、对象化,领会面向对象程序设计的方法。4.熟练掌握JAVA语言(C#)的基本语法,灵活运用各种预定义类、线程和事件处理。1.2本系统的主要功能本系统可以实现电脑可以自动下棋,扫描整个棋盘记录连在一起的黑白棋子数,实现人与电脑有次序的下棋,判断人与电脑的胜负,为电脑下棋提供帮助1.3系统包含的类及类之间的关系。本系统共包6个Java源文件。类之间的关系如图1-1所示。吉首大学数学与计算机科学学院Java课程设计报告2ChessAutoplayScanSortJudgeEvaluate图1-1类之间的关系图1.4Java源文件及其功能表1-1java源文件及其功能序号文件名主要功能备注1Chess本程序的主函数初始化棋盘2Autoplay实现电脑可以自动下棋分为8种情况3Scan扫描整个棋盘记录连在一起的黑白棋子数为判断胜负服务4Sort实现人与电脑有次序的下棋黑棋白棋有序的下5Judge判断人与电脑的胜负可以在文本框中显示胜负结果6Evaluate电脑估计为电脑下棋提供帮助1.5项目构建思路此程序旨在打造一个小型五子棋娱乐游戏,经过认真分析和探索。终于,在大家的共同努力之下,完成了这个小型五子棋游戏。游戏编辑思路,五子棋是一种互动性的益智游戏。需要棋盘、棋子、棋手、裁判。首先,我们绘制一个五子棋棋盘,关键代码如下://绘制棋盘函数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);吉首大学数学与计算机科学学院Java课程设计报告3}//绘制棋盘列g.fillOval(97,97,6,6);//使用当前颜色填充外接指定矩形框的椭圆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(ChessPadp){setSize(20,20);//设置棋盘每一小格的长宽addMouseListener(this);chesspad=p;}publicvoidpaint(Graphicsg){g.setColor(Color.black);//设置黑色棋子的颜色g.fillOval(0,0,18,18);//使用黑色填充椭圆棋子}白色棋子代码如下:classChessPoint_whiteextendsCanvasimplementsMouseListener{ChessPadchesspad=null;ChessPoint_white(ChessPadp){setSize(20,20);addMouseListener(this);chesspad=p;}publicvoidpaint(Graphicsg){//绘制棋子的颜色g.setColor(Color.white);//设置为白色g.fillOval(0,0,18,18);//填充白子}吉首大学数学与计算机科学学院Java课程设计报告4再次,为实现双方行棋,我们实现了电脑自动下棋的函数,一共分为8种情况,关键代码如下:classAutoPlay{//AutoPlay类实现电脑可以自动下棋intx,y;//X统计玩家的连起来的棋子数//Y电脑玩家的连起来的棋子数voidautoPlay(intchesspad[][],inta,intb){intrandomNumber=(int)(Math.random()*8)+1;//获取一个随机数switch(randomNumber){//分情况实现电脑自动下棋case(1)://通过a,b的值执行不同的运算,最后返回不同的//值。达到执行不同的操作。if(chesspad[a-1][b-1]==0){x=a-1;y=b-1;}if(chesspad[a-1][b+1]==0){x=a-1;y=b+1;}elseif(chesspad[a-2][b-2]==0){x=a-2;y=b-2;}else{x=a-3;y=b-3;}break;case(2):if(chesspad[a-1][b]==0){x=a-1;y=b;}elseif(chesspad[a-2][b]==0){x=a-2;y=b;}else{x=a-3;y=b;}break;case(3):if(chesspad[a-1][b+1]==0){x=a-1;y=b+1;}elseif(chesspad[a-2][b+2]==0){x=a-2;y=b+2;}else{x=a-3;y=b+3;}break;case(4):if(chesspad[a][b+1]==0){x=a;y=b+1;}elseif(chesspad[a][b+2]==0){x=a;y=b+2;}else{x=a;y=b+3;}break;case(5):if(chesspad[a+1][b+1]==0){x=a+1;y=b+1;}elseif(ch
三七文档所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
本文标题:五子棋-Java课程设计
链接地址:https://www.777doc.com/doc-1887245 .html