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

📄 gameoverscreen.java

📁 是男人就撑20秒
💻 JAVA
字号:
/*
 * GameOverScreen.java
 *
 * Created on 2006年11月25日, 上午10:27
 *
 * 游戏结束屏 -- 显示玩家得分、游戏时间、玩家能力评价、最高得分
 */
import javax.microedition.lcdui.*;

/**
 *
 * @author TOM
 */
public class GameOverScreen extends Canvas implements CommandListener{    
    private final ManMidlet midlet;     //主类
    private boolean isBestRecord;       //是否最佳成绩标志位
    private long time;                  //游戏持续时间
    private int record;                 //当前成绩
    private int bestRecord;             //最佳成绩
    
    /** Creates a new instance of GameOverScreen */
    public GameOverScreen(ManMidlet midlet,long time,int record) {
        super();
        this.midlet = midlet;
        this.time = time;
        this.record = record;
        addCommand(new Command("确定",Command.OK,1));     //确认分数按钮
        setCommandListener(this);        
        if(midlet.checkBestRecord(record)){
            isBestRecord = true;
            bestRecord = record;            
        }else{
            isBestRecord = false;
            bestRecord = midlet.getBestRecord();            
        }        
    }    
    
    public void paint(Graphics g){
        int CanvasWidth = getWidth();
        int CanvasHeight = getHeight();
        g.setFont(Font.getFont(Font.FACE_PROPORTIONAL,Font.STYLE_BOLD,Font.SIZE_LARGE));
        int centerX = CanvasWidth / 2;
        int centerY = CanvasHeight / 2;
        g.setColor(0x00FFFFFF);
        drawText(g,centerX,centerY-1);          //粗体显示内容
        drawText(g,centerX,centerY+1);
        drawText(g,centerX-1,centerY);
        drawText(g,centerX+1,centerY);
        g.setColor(0x000000);
        drawText(g, centerX,centerY);        
    }  
    
    private void drawText(Graphics g, int centerX, int centerY){
        int fontHeight = g.getFont().getHeight();
        int textHeight = 5 * fontHeight;
        int topY = centerY - textHeight/2;
        String level;                           //玩家评价
        if(time < 5000){
            level = "胎儿";
        }else if(time < 10000){
            level = "婴儿";
        }else if(time < 15000){
            level = "儿童";
        }else if(time < 20000){
            level = "青少年";            
        }else if(time < 30000){
            level = "成年";
        }else{
            level = "您已经不需要再玩这个游戏了";
        }
        g.drawString("GAME OVER", centerX, topY, Graphics.HCENTER|Graphics.TOP);        
        g.drawString("时间:"+time/1000+"."+time%1000 + "s",centerX, topY+fontHeight,
                Graphics.HCENTER|Graphics.TOP);
        g.drawString("等级:"+level, centerX, topY+2*fontHeight, 
                Graphics.HCENTER|Graphics.TOP);
        g.drawString("分数:"+record, centerX, topY+3*fontHeight, 
                Graphics.HCENTER|Graphics.TOP);
        g.drawString(isBestRecord ? "这是目前最好纪录!" : ("最高分"+bestRecord+"分"),
                centerX, topY+4*fontHeight, Graphics.HCENTER|Graphics.TOP); 
    }
    
    public void commandAction(Command command, Displayable displayable){
        if (command.getCommandType() == Command.OK) {
            midlet.gameOverDone();
        }
    }
}

⌨️ 快捷键说明

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