您好,欢迎访问三七文档
兰州商学院陇桥学院工学系课程设计报告设计题目:画随机圆系别:工学系专业(方向):信息管理与信息系统年级、班:2011级信息管理与信息系统班学生姓名:学生学号:20110651103指导教师:2011年7月2日1目录一、系统开发的背景.......................................................................................................................2二、系统分析与设计.......................................................................................................................2(一)系统功能要求...............................................................................................................21.题目及使用环境...................................................................................................................22.具体需要实现以下一些基本功能:...................................................................................2(二)系统流程图...................................................................................................................3三、系统的设计与实现...................................................................................................................4四、系统测试...................................................................................................................................7五、总结...........................................................................................................................................9六、附件(代码、部分图表).....................................................................................................112画随机圆一、系统开发的背景Java是当前最流行的程序设计语言之一,它的出现大大地促进了软件产业和互联网的发展。Java之所以如此地流行的原因之一就是它是一种动态的语言,可以实现动画效果,而实现动画效果的总体目标是为了使一般的画面更美观,使画面更令人喜欢,看上去不那么单调。画随机圆就是为了使画面动态化,利用循环控制由小到大的变化,实现动画画圆,将整个画圆的过程写在一个无限的循环中,从而实现不停的画圆。二、系统分析与设计(一)系统功能要求1.题目及使用环境课程设计题目:画随机圆开发环境:JCreatorproJdk1.6工具包编程语言:JavaHtml界面要求:用JavaApplet实现运行环境:Windows操作系统2.具体需要实现以下一些基本功能:31)产生一个由小变大的圆。2)使圆的大小可以由小到大变换,并到150直径时消失,重新再出现圆3)使圆的位置和颜色随机出现。4)圆变换速度通过HTML文件传入的参数控制,实现简单的动画。(二)系统流程图画随机圆程序运行时会自动出现由小到大变换的圆,圆的位置与颜色随机,大小变到150直径时擦除,重新再出现圆,直到关闭窗口,系统流程如上图:直径达到150圆的直径由小变大颜色随机变换位置随机变化重画程序运行擦除退出4三、系统的设计与实现1.此程序中,必须用到的包如下:importjava.applet.Applet;importjava.awt.Color;importjava.awt.Font;importjava.awt.Graphics;importjava.util.Random;publicclassCircextendsApplet2.按系统要求,圆的初始大小为0,当启动程序后,圆的大小开始设置速度从小变大,颜色随机变化,直到150时擦除,然后重画,部分代码如下:1)对圆的位置、大小颜色、速度的定义:intx,y;//圆的位置intW_H;//圆的大小intR,G,B;//圆的颜色inti;publicintspeed=10;//速度2)圆大小增加,到150时擦除,重画:i=0;//初始化半径while(i=150){W_H=i;g.setColor(Color.white);g.fillRect(0,0,this.getWidth(),this.getHeight());Colorcolor=newColor(R,G,B);g.setColor(color);g.fillArc(x,y,W_H,W_H,0,360);i++;//擦出重新画if(i==150){i=0;x=rd.nextInt(this.getWidth()-50);y=rd.nextInt(this.getHeight()-50);R=rd.nextInt(255);//红色随机码G=rd.nextInt(255);//绿色随机码B=rd.nextInt(255);//蓝色随机码}53..需用到的类和方法init()方法当运行程序时,创建其中的Graphics对象,执行init()方法,完成Graphics对象的初始化任务。paint()方法Applet容器绘图的方法是paint()方法,当程序开始运行时会自动执行paint()方法画圆,当圆的大小达到150时,调用repaint()方法,将再次执行paint()方法重新画圆。paint(Graphicsg)方法和Java.lang.Math.rendom()方法来实现在窗口中绘制画圆和产生随机数,根据产生数的大小生成颜色和控制圆的位置随机的变化。代码如下:Randomrd=newRandom();publicvoidpaint(Graphicsg){i=0;//初始化半径while(i=150){W_H=i;g.setColor(Color.white);g.fillRect(0,0,this.getWidth(),this.getHeight());Colorcolor=newColor(R,G,B);g.setColor(color);g.fillArc(x,y,W_H,W_H,0,360);try{Thread.sleep(speed);}catch(InterruptedExceptione){e.printStackTrace();}i++;//擦出重新画if(i==150){6i=0;x=rd.nextInt(this.getWidth()-50);y=rd.nextInt(this.getHeight()-50);R=rd.nextInt(255);//红色随机码G=rd.nextInt(255);//绿色随机码B=rd.nextInt(255);//蓝色随机码}}}4.建立Circle.html,把程序嵌入在Html文件中并依赖浏览器来运行,html文件和程序的字节码文件需放在同一目录下。Html代码如下:Circ.htmlHtmlappletCode=Circ.classheight=700width=700paramname=sizevalue=1000//sleep参数值的传递/applet/Html图2建立Circ.html7图3Circ.html和Circ.class在同一目录下。四、系统测试在小应用程序查看器上启动程序后显示图4、图5:图4随机产生的圆位置,随机颜色,初始大小8图5随机产生的圆位置,颜色随机将Circ.class嵌入到Circ.html文档并通过浏览器运行结果如图6、图7、图8:图6随机产生的圆位置,颜色随机9图7随机产生的圆位置,颜色随机图8随机产生的圆位置,颜色随机五、总结此次课程设计采用applet和线程的处理机制,画一个随机圆,产生一个简单的动画,设计的过程中不可避免地遇到一些代码运行错10误的问题,深深感到代码的严谨是多么的重要,在开发这个小程序的过程中,我是一边学习一边开发的,学习在实战中成长,不但巩固了自己的Java语言基础知识,也进一步加深了对Java语言的理解和掌握,也进一步培养我利用Java语言进行编程和调试程序的能力,同时使我们能够学会将C语言与Java语言结合起来编写较复杂具有实际意义和算法复杂度较小的程序。与此同时熟练掌握Java语言的编辑,编译,调试程序,并将算法转变为程序实现。正确理解各种数据结构的逻辑特性和存储表示和基本操作的算法实现。掌握算法的时间分析和空间分析的技术。针对问题的特点选择合适的数据结构,设计实用高效的算法,提高算法设计的能力和动手实验的技能。通过这次课程设计,使我灵活应用所学知识,独立完成问题分析,初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;提高综合运用所学的理论知识和方法独立分析和解决问题的能力;并用系统的观点和软件开发一般规范进行软件开发,巩固、深化学生的理论知识,提高编程水平,并在此过程中培养我们严谨的科学态度和良好的工作作风。熟练掌握数据的存储表示和基本操作的实现。同时在这学期的实验中,培养了独立思考、动手操作的能力,在各种其它能力上也都有了提高。在实验课上,我学会了很多学习的方法。而这是日后最实用的。要面对社会的挑战,只有不断的学习、实践,再学习、再实践。这对于我的将来也有很大的帮助。以后,不管有多苦,我想我都能变苦为乐,找寻有趣的事情,发现其中珍贵的事情。就像中国提倡的艰苦奋11斗一样,我都可以在实验结束之后变的更加成熟,会面对需要面对的事情,以及学会遇到问题,不急不慌,慢慢解决它这次课程设计历时三个星期终于顺利完成了。虽然过程辛苦是不可避免,但收获还是令人感到尤其的欣慰。在这次的课程设计中不仅检验了我所学习的知识,也培养了我的实践能力,让我知道遇到一个问题,如何去寻找思路,如何去解决问题,最终完成整个事情。在设计过程中,和同学们相互探讨,相互学习。课程设计是我们专业课程知识综合应用的实践训练,是我们迈向社会,从事职业工作前一个必不少的过程。这次课程设计不仅是对这学期所学知识的一种综合检验,而且也是对自己动手能力的一种提高,增强了自己实践能力。通过这次课程设计使我明白了自己知识还比较欠缺,只是学习书本知识还是远远不够的,自己不会的东西还有太多,学习需要自己长期的积累,在以后的学习、工作中都应该不断的学习,将课本的理论知识与生活中的实践知识相结合,不断提高自己文化知识和实践能力。六、附件(代码、部分图表)//Circ.java//自动出现由小变大的圆,颜色随机,最大直径150后重画,位置随机。importjava.applet.Applet;importjava.awt.Color;importjava.awt.Font;importjava.awt.Graphics;importjava.util.Random;p
本文标题:JAVA画随机圆
链接地址:https://www.777doc.com/doc-3400588 .html