⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 balloons.java

📁 英语背单词联网版本
💻 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 + -