资源描述:
《java课程设计-太空大战游戏》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、Java程序设计课程设计报告院别: 计算机学院 班级: 计科-1303BJ 学号: 姓名: 指导教师: 日期: 2015/6/21 太空大战游戏1.课程设计的目的Java语言是当今流行的网络编程语言,它具有面向对象、跨平台、分布应用等特点。面向对象的开发方法是当今世界最流行的开发方法,它不仅具有更贴近自然的语义,而且有利于软件的维护和继承。为了进一步
2、巩固课堂上所学到的知识,深刻把握Java语言的重要概念及其面向对象的特性,锻炼学生熟练的应用面向对象的思想和设计方法解决实际问题的能力,开设了Java程序设计课程设计。通过此次课程设计,巩固所学Java语言基本知识,增进Java语言编辑基本功,掌握JCreator开发工具的运用,拓宽常用类库的应用。通过该教学环节与手段,把所学课程及相关知识加以融会贯通,全面掌握Java语言的编程思想及面向对象程序设计的方法,为今后从事实际工作打下坚实的基础。怀着这样目的,通过在课本上学到的方法、网络上搜集的资料以及和同学的交流,慢慢做完及完善这个小游戏。2.主要程
3、序类1).Bullet(子弹类)packageplane;importjava.awt.Color;importjava.awt.Graphics;importjava.awt.Rectangle;importutil.Constant;/***子弹类*@authorlyp*15/6/18*/publicclassBulletextendsGameObject{doubledegree;publicBullet(){degree=Math.random()*Math.PI*2;x=Constant.GAME_WIDTH/2;y=Constant.G
4、AME_HIGHT/2;width=10;height=10;speed=3;}publicvoiddraw(Graphicsg){Colorc=g.getColor();g.setColor(Color.yellow);g.fillOval((int)x,(int)y,width,height);x+=speed*Math.cos(degree);y+=speed*Math.sin(degree);if(y<30
5、
6、y>Constant.GAME_HIGHT-height){degree=-degree;}if(x>Constant.GAME_W
7、IDTH-width
8、
9、x<0){degree=Math.PI-degree;}g.setColor(c);}}2).Explode(爆炸类)packageplane;importjava.awt.Graphics;importjava.awt.Image;importutil.GameUtil;/***爆炸类*@authorlyp*15/6/18*/publicclassExplode{doublex,y;staticImage[]imgs=newImage[16];static{for(inti=0;i<16;i++){imgs[i]=Game
10、Util.getImage("images/copy/e"+(i+1)+".gif");imgs[i].getWidth(null);}}intcount;publicvoiddraw(Graphicsg){if(count<=15){g.drawImage(imgs[count],(int)x,(int)y,null);count++;}}publicExplode(doublex,doubley){this.x=x;this.y=y;}}3).游戏环境(GameObject)packageplane;importjava.awt.Image;i
11、mportjava.awt.Rectangle;publicclassGameObject{Imageimg;doublex,y;doublespeed=11;intwidth,height;//判断矩形publicRectanglegrtRect(){returnnewRectangle((int)x,(int)y,width,height);}publicGameObject(Imageimg,doublex,doubley,doublespeed,intwidth,intheight){super();this.img=img;this.x=
12、x;this.y=y;this.speed=speed;this.width=width;this.height=heig