《java飞机游戏源代码.pdf》由会员分享,可在线阅读,更多相关《java飞机游戏源代码.pdf(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 java 飞机游戏源代码 Prepared on 21 November 2021 import 借用工具 import 引用随机数 public class planegames /*param args */public static void main(String args)Frame window=new Frame();tart();(mp);etResource();etResource();etResource();/飞机相关数据 int px=113;/飞机的x坐标 int py=160;/y坐标 booleanmoveFlag=new boolean4;/移动方向标志默认
2、都为False double cos=new doublenums;double sin=new doublenums;public void paint(Graphics g)update(g);public void update(Graphics g)Image tmp=createImage(240,320);/创建一个透明图片 Graphics _g=();/取得这个图片 (bg,0,0,this);/最后一个this表示在哪个画布上 if(alive)(planeImg,px,py,px+15,py+15,0,0,15,15,this);else (planeImg,px,py,p
3、x+15,py+15,15,0,30,15,this);for(int i=0;inums;i+)(bulletImg,bxi,byi,this);(tmp,0,0,this);public void run()for(int i=0;inums;i+)int direct=(4);/0出现在上方1左2下3右 if(direct=0)bxi=(240);byi=0;if(direct=1)bxi=0;byi=(320);if(direct=2)bxi=(240);byi=320;if(direct=3)bxi=240;byi=(320);int dx=px-bxi;/子弹与飞机x轴距离 int
4、 dy=py-byi;/子弹与飞机y轴距离 double dLine=(dx*dx+dy*dy);cosi=dx/dLine;sini=dy/dLine;while(alive)/死循环一直去重新绘制图片实现动画效果 if(moveFlag0)/说明up为按下状态 py-=5;if(moveFlag1)/说明left为按下状态 px-=5;if(moveFlag2)/说明down为按下状态 py+=5;if(moveFlag3)/说明right为按下状态 px+=5;if(py0)/如果飞机从上方出界 py=0;if(px265)/如果飞机从下方出界 py=265;if(px210)/如果飞机
5、从右方出界 px=210;for(int i=0;ipx&px+15bxi/子弹和飞机碰撞&byi+3py&py+15byi)alive=false;if(bxi0|byi240|byi320)int direct=(4);/0出现在上方1左2下3右 if(direct=0)bxi=(240);byi=0;if(direct=1)bxi=0;byi=(320);if(direct=2)bxi=(240);byi=320;if(direct=3)bxi=240;byi=(320);int dx=px-bxi;/子弹与飞机x轴距离 int dy=py-byi;/子弹与飞机y轴距离 double d
6、Line=(dx*dx+dy*dy);cosi=dx/dLine;sini=dy/dLine;repaint();/重新绘制 try (40L);/每秒25帧 catch(InterruptedException e)public void keyPressed(KeyEvent e)if()=moveFlag0=true;/按下上的时候0元素为true if()=moveFlag1=true;/按下左的时候1元素为true if()=moveFlag2=true;/按下下的时候2元素为true if()=moveFlag3=true;/按下右的时候3元素为true public void keyReleased(KeyEvent e)if()=moveFlag0=false;/按下上的时候0元素为true if()=moveFlag1=false;/按下左的时候1元素为true if()=moveFlag2=false;/按下下的时候2元素为true if()=moveFlag3=false;/按下右的时候3元素为true public void keyTyped(KeyEvent e)