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

📄 play.java

📁 深海大战手机游戏
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
                    for (int i = 0; i < level; i++) {
                        if (enemyshiparray[i].getvisible() == true) {
                            if (shipsprite.collidesWith(enemyshiparray[i], true)) {
                                enemyshiparray[i].setVisible(false);
                                enemyship_die.setPosition(enemyshiparray[i].
                                        getdrawX(), enemyshiparray[i].getdrawY());
                                enemyship_die.setVisible(true);
                                explosive.setPosition(shipX,shipY);
                                explosive.setFrame(3);
                                explosive.setVisible(true);
                                this.flushGraphics();
                                gameover = true;
                            }
                        }
                    }
                    for (int i = 0; i < 3; i++)
                        for (int j = 0; j < level; j++) {
                            if (shipmissile[i].getvisible() &&
                                enemyshiparray[j].getvisible()) {
                                if (shipmissile[i].collidesWith(enemyshiparray[
                                        j], true)) {
                                    enemyshiparray[j].setVisible(false);
                                    shipmissile[i].setVisible(false);
                                    shipmissile[i].setvisible(false);
                                    enemyship_die.setPosition(enemyshiparray[j].
                                            getdrawX(),
                                            enemyshiparray[j].getdrawY());
                                    enemyship_die.setVisible(true);
                                    score = score + 100;
                                }
                            }
                        }
                    for (int i = 0; i < level; i++) {
                        if (enemymissile[i].getvisible())
                            if (enemymissile[i].collidesWith(shipsprite, true)) {
                                explosive.setPosition(shipX,shipY);
                                explosive.setFrame(3);
                                explosive.setVisible(true);
                                explosive.paint(g);
                                this.flushGraphics();
                                gameover = true;
                            }
                    }
                    if (FIRE == true && firetime == 0) {
                        for (int i = 0; i < 3; i++) {
                            if (shipmissile[i].getvisible() == false) {
                                shipmissile[i].setvisible(true);
                                shipmissile[i].setVisible(true);
                                shipmissile[i].setdrawX(shipX + shipwidth);
                                shipmissile[i].setdrawY(shipY +
                                        shipheight/ 2);
                                firetime = 1;
                                break;
                            }
                        }
                    }
                    FIRE = false;
                    if (firetime != 0) {
                        firetime++;
                        if (firetime > 5)
                            firetime = 0;
                    }
                    for (int i = 0; i < 3; i++) {
                        if (shipmissile[i].getvisible()) {
                            shipmissile[i].moveshipMis();
                            shipmissile[i].setFrame(0);
                            shipmissile[i].setPosition(shipmissile[i].getdrawX(),
                                    shipmissile[i].getdrawY());
                            shipmissile[i].paint(g);
                        }
                    }
                    if (gameover) {
                        String string = "Game Over!";
                        int stringX = (this.getWidth() -deffont.stringWidth(string)) / 2;
                        int stringY = (this.getHeight() - deffont.getHeight()) /2;
                        g.setColor(0x00BBBBBB);
                        g.fillRoundRect(stringX - 2, stringY + 2,deffont.stringWidth(string) + 9,deffont.getHeight() + 2, 5, 5);
                        g.setColor(0x00000000);
                        g.fillRoundRect(stringX - 6, stringY - 2,deffont.stringWidth(string) + 11,deffont.getHeight() + 4, 5, 5);
                        g.setColor(0x00FFFFFF);
                        g.fillRoundRect(stringX - 4, stringY,deffont.stringWidth(string) + 7,deffont.getHeight(), 5, 5);
                        g.setColor(0x00000000);
                        g.drawString(string, stringX, stringY,Graphics.LEFT | Graphics.TOP);
                        this.flushGraphics();
                        try {
                            byte[] rec = null;
                            StringDeal stringdeal = new StringDeal();
                            rec = MainMenu.rs.getRecord(searchRecord());
                            stringdeal = StringDeal.deserialize(rec);
                            minrecord = Integer.parseInt(stringdeal.getcount());
                        } catch (Exception e) {
                            System.out.println("提取记录error");
                        }
                        if (searchRecord() == -2&&score!=0) {
                            try {
                                Thread.sleep(1500);
                            } catch (Exception e) {
                                System.out.println("thread pause error");
                            }
                            System.out.println("记录为空");
                            AddName addname = new AddName(score, upinstance,
                                    exist);
                            Display.getDisplay(shipwarMIDlet.shipwarmidlet).
                                    setCurrent(addname);
                        } else if (exist == false&&score!=0) {
                            try {
                                Thread.sleep(1500);
                            } catch (Exception e) {
                                System.out.println("thread pause error");
                            }
                            AddName addname = new AddName(score, upinstance,
                                    exist);
                            Display.getDisplay(shipwarMIDlet.shipwarmidlet).
                                    setCurrent(addname);
                        } else if (exist == true&&score!=0) {
                            if (minrecord < score) {
                                try {
                                Thread.sleep(1500);
                            } catch (Exception e) {
                                System.out.println("thread pause error");
                            }
                                AddName addname = new AddName(searchRecord(),score, upinstance, exist);
                                Display.getDisplay(shipwarMIDlet.shipwarmidlet).setCurrent(addname);
                            }else {
                                this.addCommand(replay);
                            }
                        }else if(score==0){
                            this.addCommand(replay);
                        }
                    }
                        enemyship_die.paint(g);
                        explosive.paint(g);
                        scorestring = "score:" + String.valueOf(score);
                        levelstring = "level:" + String.valueOf(level + speed);
                        g.drawString(scorestring, 0, 2,Graphics.TOP | Graphics.LEFT);
                        g.drawString(levelstring,this.getWidth()-deffont.stringWidth(levelstring), 2,Graphics.TOP | Graphics.LEFT);
                        this.flushGraphics();
                  }
              }
        }
	/* (non-Javadoc)
	 * @see javax.microedition.lcdui.CommandListener#commandAction(javax.microedition.lcdui.Command, javax.microedition.lcdui.Displayable)
	 */
	public void commandAction(Command arg0, Displayable arg1) {
		// TODO Auto-generated method stub
		if(arg0==exit){
                    gameover=true;
                    play=null;
                    Display.getDisplay(shipwarMIDlet.shipwarmidlet).setCurrent(upinstance);
		}
		if(arg0==replay){
                    System.gc();
                    play=null;
                    play=new Play(upinstance);
                    Display.getDisplay(shipwarMIDlet.shipwarmidlet).setCurrent(play);
		}
	}

	public void getkeypress(){
		int keystate=this.getKeyStates();
		if((keystate&UP_PRESSED)!=0){
			shipY=shipY-5;
		}
		else if((keystate&DOWN_PRESSED)!=0){
			shipY=shipY+5;
		}
		else if((keystate&RIGHT_PRESSED)!=0){
			shipX=shipX+5;
		}
                else if((keystate&LEFT_PRESSED)!=0){
                        shipX=shipX-5;
                }
                else if((keystate&FIRE_PRESSED)!=0){
                        FIRE=true;

                }
	}

        public int searchRecord(){
            int tmp=0;
            int[] countorder=new int[5];
            int[] idArray=new int[5];
            NameComparator namecom=new NameComparator();
            RecordEnumeration re=null;
            for(int i=0;i<5;i++){
                idArray[i]=-1;
                countorder[i]=-1;
            }
            try{
                re = MainMenu.rs.enumerateRecords(null, namecom, true);
                StringDeal stringdeal=new StringDeal();
                int id;
                byte[] rec=null;
                if(re.numRecords()>0){
                    int j=0;
                    while(re.hasNextElement()){
                        id=re.nextRecordId();
                        idArray[j]=id;
                        rec=MainMenu.rs.getRecord(id);
                        stringdeal=StringDeal.deserialize(rec);
                        countorder[j]=Integer.parseInt(stringdeal.getcount());
                        j++;
                    }
                    for(int x=0;x<4;x++){
                            for(int y=0;y<5-x-1;y++){
                                if(countorder[y]<countorder[y+1]){
                                    tmp=countorder[y];
                                    countorder[y]=countorder[y+1];
                                    countorder[y+1]=tmp;
                                    tmp=idArray[y];
                                    idArray[y]=idArray[y+1];
                                    idArray[y+1]=tmp;
                                }
                            }
                        }
                    for(int i=0;i<5;i++){
                        if(countorder[i]!=-1)
                            tmp=idArray[i];
                    }
                    if(countorder[4]!=-1)
                        exist=true;
                    else
                        exist=false;
                }else{
                    return -2;
                }
            }catch(Exception e){
                System.out.println("read rs error");
            }
            return tmp;
        }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -