📄 balloons.java
字号:
/* * balloons.java * * Created on 2003年11月18日, 上午9:15 */package handenglish;import javax.microedition.lcdui.*;import javax.microedition.midlet.*;import java.util.Random;/** * * @author com * @version */public class Balloons { public final int MOVESTEP=3; public final int BLACK=00000000; public final int BALLOONNUM=8; public final int LETTERTOTAL=26; public final int dt=9; public final int dx=18; public final int dy=22; private Words words; private final KeyRepeator gc; private Random random; private Image airBalloon,blast; public char[] balloonLetter; private int[] color,tagx,tagy; public int hitNum; public Balloons(KeyRepeator ui){ gc=ui; hitNum=0; random = new Random(); balloonLetter=new char[BALLOONNUM]; color=new int[BALLOONNUM]; tagx=new int[BALLOONNUM]; tagy=new int[BALLOONNUM]; tagx[0]=10;tagy[0]=-10; tagx[1]=52;tagy[1]=-20; tagx[2]=95;tagy[2]=-4; tagx[3]=29;tagy[3]=28; tagx[4]=66;tagy[4]=40; tagx[5]=105;tagy[5]=64; tagx[6]=14;tagy[6]=73; tagx[7]=60;tagy[7]=90; for(int i=0;i<BALLOONNUM;i++){ color[i]=i; balloonLetter[i]=getLetter(); } try{ airBalloon=Image.createImage("/handenglish/images/balloons.png"); blast=Image.createImage("/handenglish/images/blast.png"); }catch( Exception e ){ } } /** *气球上的字母 */ public char getLetter(){ int ran = Math.abs( random.nextInt())%LETTERTOTAL + 97; return (char) ran; } /** *画气球 */ public void draw(Graphics g,int[] m){ for(int i=0;i<BALLOONNUM;i++){ if(m[i]==0){ g.setClip(tagx[i],tagy[i],18,45); g.drawImage(airBalloon,tagx[i]-18*color[i],tagy[i],g.TOP|g.LEFT); g.setColor(BLACK); g.drawChar(balloonLetter[i],tagx[i]+5,tagy[i],g.TOP|g.LEFT); } else if(m[i]>=1&&m[i]<=3){ g.setClip(tagx[i]-14,tagy[i]-10,46,43); g.drawImage(blast,tagx[i]-14-(m[i]-1)*46,tagy[i]-10,g.TOP|g.LEFT); } } } /** *是否打到气球 */ public char isHit(int locx,int locy){ char key=0; for(int i=0;i<BALLOONNUM;i++) if(isExit(locx,locy,tagx[i],tagy[i])&&!gc.isBlast(i)){ key=balloonLetter[i]; hitNum=i; break; } return key; } private boolean isExit(int locx,int locy,int tagx,int tagy){ // boolean a1=false,a2=false,a3=false,a4=false; if(locx>=tagx&&locx<=tagx+dx&&locy>=tagy&&locy<=tagy+dy) return true; if(locx+dt>=tagx&&locx+dt<=tagx+dx&&locy>=tagy&&locy<=tagy+dy) return true; if(locx>=tagx&&locx<=tagx+dx&&locy+dt>=tagy&&locy+dt<=tagy+dy) return true; if(locx+dt>=tagx&&locx+dt<=tagx+dx&&locy+dt>=tagy&&locy+dt<=tagy+dy) return true; //return (a1|a2|a3|a4); return false; } /** *判断气球是不是到终点了 */ public boolean move(int k){ if(tagy[k]+MOVESTEP<=128){ tagy[k]=tagy[k]+MOVESTEP; return true; } else{ tagy[k]=-27; return false; } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -