基于Java雷电游戏项目报告毕业论文.doc_第1页
基于Java雷电游戏项目报告毕业论文.doc_第2页
基于Java雷电游戏项目报告毕业论文.doc_第3页
基于Java雷电游戏项目报告毕业论文.doc_第4页
基于Java雷电游戏项目报告毕业论文.doc_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

java 程序设计实验报告年级、专业、班级2011级网络1班2011级网络1班2011级网络1班姓名实验题目编程实现雷电游戏实验时间2013.10.22-2013.11.6实验地点主教0410实验成绩 实验性质验证性 设计性 综合性教师评价:算法/实验过程正确; 源程序/实验内容提交 程序结构/实验步骤合理;实验结果正确; 语法、语义正确; 报告规范; 其他: 评价教师签名:一、实验目的利用java gui、java graphics和多线程技术,编写实现飞行射击游戏雷电。二、实验项目内容1、根据项目任务书,形成完整的需求分析。2、根据需求,完成详细的设计。3、基于java编程实现。3、 实验过程或算法(源程序)关键代码:boss.javapackage cqu;public class boss extends flyingobjectpublic boss(int x) super(x, 0, 250, 100, resources.bosspng);/ todo auto-generated constructor stuboverridepublic void move(long time) / todo 自动生成的方法存根public bullet fire()int x=(int) (math.random()*350);int y=100;bullet b=new bullet(x,y,true);return b;bullet.javapackage cqu;public class bullet extends flyingobject public int xspeed;public bullet(int x, int y,boolean enemy) super(x, y, 10, 10, resources.bulletpng);this.enemy=enemy;xspeed=0;private boolean enemy;public boolean isenemy() return enemy;overridepublic void move(long time) if(time%40=0)if(enemy)y+=30;elsey-=30;x+=xspeed;cbullet.javapackage cqu;public class cbullet extends flyingobject public cbullet(int x) super(x, 0, 30, 30, resources.addpng);overridepublic void move(long time) if(time%160=0)y+=math.random()*4+10; / x+=4-math.random()*6;enemy.javapublic class enemy extends flyingobject public enemy(int x, int y) super(x, y, 40, 40, resources.enemypng);public bullet fire()int x=this.x+12;int y=this.y+this.height;bullet b=new bullet(x,y,true);return b;overridepublic void move(long time) if(time%160=0)y+=math.random()*4+10; / x+=4-math.random()*6;flyobject.javapackage cqu;import java.awt.graphics;import java.awt.image.bufferedimage;abstract public class flyingobject protected int x;protected int y;protected int width;protected int height;private bufferedimage image;public flyingobject(int x, int y, int width, int height, bufferedimage image) super();this.x = x;this.y = y;this.width = width;this.height = height;this.image = image;abstract public void move(long time);public void draw(graphics g)g.drawimage(image, x, y, width, height, null);public int getwidth() return width;public void setwidth(int width) this.width = width;public int getheight() return height;public void setheight(int height) this.height = height;/*public boolean collision(flyingobject other)return false;*/public int getx() return x;public void setx(int x) this.x = x;public int gety() return y;public void sety(int y) this.y = y;gamecanvas.javapackage cqu;import java.awt.graphics;import java.awt.event.keyevent;import java.awt.event.keylistener;import java.awt.event.mouseevent;import java.awt.event.mouselistener;import java.util.arraylist;import java.util.list;import javax.swing.jpanel;public class gamecanvas extends jpanel implements keylistenerprivate boolean start1=false;private boolean start2=true;thread animate;cbullet cbullet=new cbullet(int)(math.random()*350);int cflag=0;int isdeath=1;int end=0;int sflag=0;int y=0;int count=0;boolean click=false;private list enemies=new arraylist();private list ebullets=new arraylist();private list hbullets=new arraylist();private list blast =new arraylist();private hero hero;private boss boss;public gamecanvas()this.addkeylistener(this);hero=new hero(200,500);boss=new boss(int)(math.random()*150);enemy e=new enemy(int)(math.random()*350),0);enemies.add(e);animate=new thread()/int isdeath=1;int scale=1;/int cflag=0;public void run()long time=0;while(true)try if(isdeath=1)time=0;click=false;ebullets.clear();hbullets.clear();enemies.clear();else if(isdeath=2)time=0;click=true;ebullets.clear();hbullets.clear();enemies.clear();else /if(isdeath=0)enemymove(time);for(bullet e:ebullets)e.move(time);for(bullet h:hbullets) h.move(time);if(scale=1)if(time%1000=0)for(enemy e:enemies)bullet b=e.fire();ebullets.add(b);else if(time%800=0)for(enemy e:enemies)bullet b=e.fire();ebullets.add(b);if(end=1)for(int i=0;i=600)y=0;time+=40;thread.sleep(50); catch (interruptedexception e) e.printstacktrace();repaint();blast.clear();private void getaway()for(int i=0;i600)enemies.remove(i);for(int i=0;i600)ebullets.remove(i);for(int i=0;ihbullets.size();i+)if(hbullets.get(i).gety()600)cflag=0;private void keymove()if(hero.up)hero.moveup(8);if(hero.down)hero.movedown(8);if(hero.left)hero.moveleft(8);if(hero.right)hero.moveright(8);private void collision() int esize=enemies.size();/int hsize=hbullets.size();for(int i=0;i=1)for(int j=0;jhbullets.size();j+)int flag=0;if(enemies.get(i).getx()hbullets.get(j).getx()if(hbullets.get(j).getx()enemies.get(i).getx()+30)if(enemies.get(i).gety()hbullets.get(j).gety()if(hbullets.get(j).gety()enemies.get(i).gety()+30) blast a=new blast(); a.set(hbullets.get(j).getx(),hbullets.get(j).gety(); blast.add(a);hbullets.remove(j);enemies.remove(i);flag=1; if(flag=1)break;if(end=1)for(int i=0;iboss.getx()&hbullets.get(i).getx()0&hbullets.get(i).gety()=300)isdeath=2;/*for(int i=0;ienemies.size();i+)if(enemies.get(i).getx()hero.getx()if(hero.getx()enemies.get(i).getx()+30)if(enemies.get(i).gety()hero.gety()if(hero.gety()enemies.get(i).gety()+30)if(sflag=0) isdeath=1;elsesflag=0;blast a=new blast(); a.set(hero.getx(),hero.gety(); blast.add(a); enemies.remove(i); break;if(enemies.get(i).getx()hero.getx()+35)if(hero.getx()+35enemies.get(i).getx()+30)if(enemies.get(i).gety()hero.gety()if(hero.gety()enemies.get(i).gety()+30)if(sflag=0) isdeath=1;elsesflag=0;blast a=new blast(); a.set(hero.getx(),hero.gety(); blast.add(a); enemies.remove(i); break;for(int i=0;ihero.getx()if(hero.getx()+25ebullets.get(i).getx()if(ebullets.get(i).gety()hero.gety()if(hero.gety()+25ebullets.get(i).gety()if(sflag=0) isdeath=1;elsesflag=0;blast a=new blast(); a.set(hero.getx(),hero.gety(); blast.add(a);ebullets.remove(i); break;*/if(cbullet.getx()hero.getx()if(cbullet.gety()hero.gety()&hero.gety()cbullet.gety()+20)cflag=0;sflag=1;if(cbullet.getx()hero.getx()+25)if(cbullet.gety()hero.gety()&hero.gety()cbullet.gety()+20)cflag=0;sflag=1;/hero bulletprivate void addnewenemy(long time) if(time=50000&time150000)scale=2;if(time%100000=0)cflag=1;cbullet=new cbullet(int)(math.random()*350);if(time%5000=0)for(int i=0;i=150000)if(end=0)if(time%100000=0)cflag=1;cbullet=new cbullet(int)(math.random()*350);if(time%5000=0)for(int i=0;i200000)if(time%10000=0)cflag=1;cbullet=new cbullet(int)(math.random()*350);end=1;private void enemymove(long time) for(enemy e:enemies)e.move(time);if(cflag=1)cbullet.move(time);this.addmouselistener(new mouselistener() overridepublic void mousereleased(mouseevent e) / todo 自动生成的方法存根overridepublic void mousepressed(mouseevent e) / todo 自动生成的方法存根overridepublic void mouseexited(mouseevent e) / todo 自动生成的方法存根overridepublic void mouseentered(mouseevent e) / todo 自动生成的方法存根overridepublic void mouseclicked(mouseevent e) / todo 自动生成的方法存根 /system.out.println(e.getx()+ +e.gety();if(!click)if(e.getx()47&e.getx()237&e.gety()0)y-=d;elsey=0;public void movedown(int d)if(y0)x-=d;elsex=0;public void moveright(int d)if(x+d360)x+=d;resources.javapackage cqu;import java.awt.image.bufferedimage;import java.io.ioexception;import javax.imageio.imageio;public class resources static try enemypng=imageio.read(resources.class.getresourceasstream(/enemy .png);bulletpng=imageio.read(resources.class.getresourceasstream(/bullet.png);heropng=imageio.read(resources.class.getresourceasstream(/hero.png);blastpng=imageio.read(resources.class.getresourceasstream(/blast.png);startpng=imageio.read(resources.class.getresourceasstream(/start.png);backpng=imageio.read(resources.class.getresourceasstream(/back.png);addpng=imageio.read(resources.class.getresourceasstream(/add.png);endpng=imageio.read(resources.class.getresourceasstream(/end.png);bosspng=imageio.read(resources.class.getreso

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论