您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 薪酬管理 > JAVA小游戏吃豆豆源代码
1.4源程序1.4.1BigMouthFish.javapackagecn.ycit.xinxi.eatbean.fish;importjava.awt.Color;importjava.awt.Graphics;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjavax.swing.Timer;publicclassBigMouseFishimplementsActionListener{publicstaticintup=0;publicstaticintright=1;publicstaticintdown=2;publicstaticintleft=3;publicintsize=50;publicintdirection=right;publicColorcolor=Color.CYAN;publicintposx=80;publicintposy=80;publicintspeed=4;publicinteyesize=size/5;publicinteyeposx=posx+size/2;publicinteyeposy=posy+size/5;privateColoreyecolor=Color.BLACK;privateintmaxMouse=30;privateintmousesize=30;privatebooleanisOpen=true;privateTimertime=null;/***创建一个位置为(200,200)大小为50,方向右,颜色蓝色,速度为10**/publicBigMouseFish(){this(200,200,50,right,Color.CYAN,10);}publicBigMouseFish(intposx,intposy,intsize,intdirection,Colorcolor,intspeed){this.posx=posx;this.posy=posy;this.size=size;this.speed=speed;if(direction==0||direction==1||direction==2||direction==3){this.direction=direction;}eyesize=size/7;initEye();time=newTimer(Fishpool.reTime,this);time.start();}publicvoidmove(){switch(direction){case0:posy--;break;case1:posx++;break;case2:posy++;break;case3:posx--;break;default:break;}}publicvoidchangeColor(Colorcolor){this.color=color;}publicvoidchangeDir(intdirection){this.direction=direction;}publicvoidpaint(Graphicsg){//保存画笔的颜色Colorc=g.getColor();//绘制鱼脸g.setColor(color);//从(posx,posy)点开始,绘制宽为size,高为size,开始角度为(direction%2==0?(direction+1):(direction-1))*90+monthsize,弧度为360-2*maxMonth的弧形g.fillArc(posx,posy,size,size,(direction%2==0?(direction+1):(direction-1))*90+mousesize,360-2*mousesize);//绘制鱼眼initEye();g.setColor(eyecolor);g.fillOval(eyeposx,eyeposy,eyesize,eyesize);//恢复画笔颜色g.setColor(c);}privatevoidinitEye(){switch(direction){case0:eyeposx=posx+size/7;eyeposy=posy+size/2;break;case1:eyeposx=posx+size/2;eyeposy=posy+size/7;break;case2:eyeposx=posx+size*5/7;eyeposy=posy+size/2;break;case3:eyeposx=posx+size/2-eyesize;eyeposy=posy+size/7;break;default:break;}}publicvoidactionPerformed(ActionEvente){if(isOpen){mousesize-=2;if(mousesize=0)isOpen=false;}else{mousesize+=2;if(mousesize=maxMouse)isOpen=true;}}}1.4.2FishBean.javaackagecn.ycit.xinxi.eatbean.fish;importjava.awt.Color;importjava.awt.Graphics;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjavax.swing.Timer;publicclassFishBeanimplementsActionListener{publicintposx=190;publicintposy=190;publicintsize=10;privateColorcolor=Color.MAGENTA;privateColornewcolor=Color.MAGENTA;privateColoroldcolor=Color.GRAY;publicstaticintflickerTime=350;publicstaticintflickerNum=8;privateinthasFileckedNum=0;privateTimertimer=null;publicFishBean(){this(40,15,10,Color.MAGENTA,Color.gray);}publicFishBean(intposx,intposy,intsize,Colornewcolor,Coloroldcolor){this.posx=posx;this.posy=posy;this.size=size;this.newcolor=newcolor;this.oldcolor=newcolor;timer=newTimer(flickerTime,this);}publicvoidpaint(Graphicsg){Colorc=g.getColor();g.setColor(color);g.fillOval(posx,posy,size,size);g.setColor(c);}publicvoidnewPos(intposx,intposy){this.posx=posx;this.posy=posy;}publicvoidstopTimer(){color=newcolor;timer.stop();hasFileckedNum=0;}publicvoidrunTimer(){timer.start();}publicvoidactionPerformed(ActionEvente){hasFileckedNum++;if(color.equals(newcolor)||color==newcolor){color=oldcolor;}else{color=newcolor;}if(hasFileckedNum==flickerNum&&timer.isRunning()){stopTimer();}}publicbooleantimerIsRunning(){returntimer.isRunning();}}1.4.3Fishpool.javapackagecn.ycit.xinxi.eatbean.fish;importcn.ycit.xinxi.eatbean.main.BigMouseFishFrame;importcn.ycit.xinxi.eatbean.tools.FishUtilities;importcn.ycit.xinxi.eatbean.tools.RandomUtil;importjava.awt.Color;importjava.awt.Graphics;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjava.awt.event.KeyEvent;importjava.awt.image.ImageObserver;importjavax.swing.AbstractAction;importjavax.swing.JLabel;importjavax.swing.JPanel;importjavax.swing.KeyStroke;importjavax.swing.Timer;publicclassFishpoolextendsJLabel{privatestaticfinallongserialVersionUID=1L;privateBigMouseFishfish=null;privateFishBeanbean=null;privateinttimeLength=15*1000;publicstaticintreTime=100;privateTimertimer=null;privateTimertime=null;privateintsizeAdd=1;privateintspeedAdd=2;privateintscoreAdd=1;privateintscore=0;privateintupgradeNum=10;privateinteatNum=0;privateintmin_x=0;privateintmax_x=0;privateintmin_y=0;privateintmax_y=0;publicFishpool(){setSize(BigMouseFishFrame.width,BigMouseFishFrame.height);setLocation(10,10);fish=newBigMouseFish();initFishBean();min_x=3;max_x=BigMouseFishFrame.width-fish.size-3;min_y=3;max_y=BigMouseFishFrame.height-fish.size-3;getInputMap().put(KeyStroke.getKeyStroke(KeyEvent.VK_UP,0),UPPRESS);getActionMap().put(UPPRESS,newUpListenerImpl());getInputMap().put(KeyStroke.getKeyStroke(KeyEvent.VK_RIGHT,0),RIGHTPRESS);getActionMap().put(RIGHTPRESS,newRightListenerImpl());getInputMap().put(KeyStroke.getKeyStroke(KeyEvent.VK_DOWN,0),DOWNPRESS);getActionMap().put(DOWNPRESS,newDownListenerImpl());getInputMap().put(KeyStroke.getKeyStroke(KeyEven
本文标题:JAVA小游戏吃豆豆源代码
链接地址:https://www.777doc.com/doc-2542322 .html