highscorescreen.java

来自「本代码为java编写的泡泡龙游戏」· Java 代码 · 共 92 行

JAVA
92
字号

import java.awt.*;

public class HighscoreScreen extends GameScreen
{
	private final static String[] comment = {"read the rules", "no comment", "time to wake up", 
											 "try pong", "too hard?", "tired?", "stop coffee!", 
											 "could do better", "not too bad", "well done", 
											 "hard gamer", "keybord master", "genius", "a.i.", 
											 "did you write this game?", "killer", "serial winner", 
											 "incredible", "unbelivable", "perfect"};
		
	private Image fullBackground;
	private Image splashBackground;
	private Image emptyBoard;
	
	private boolean initKeyboard;
	
	private String levelString;
	private String commentString;
	private String starString;
	
	public HighscoreScreen(GameApplet gameApplet)
	{
		super(gameApplet);
		
		GameMedia media = gameApplet.getGameMedia();
		
		fullBackground = media.loadImage("background.jpg");
		splashBackground = media.loadImage("splash.jpg");
		emptyBoard = media.loadImage("void_panel.jpg");
		
		GameFont font = (GameFont)gameApplet.getGameContext().getObject("bubbleFont");
				
		ScrollingTextSprite scrollingMessage = new ScrollingTextSprite(new Rectangle(168, 9, 300, 22), font, "| Frozen bubble { offline highscores |", 1);
		this.addSprite(scrollingMessage);
		
		LevelManager levelManager = (LevelManager)gameApplet.getGameContext().getObject("levelManager");
				
		levelString = "Level "+Integer.toString(levelManager.getLevelIndex()-1);
		commentString = comment[(levelManager.getLevelIndex()-2) / 4];
		starString = new String("]").substring(0, (levelManager.getLevelIndex()-2)%4+1);
		
		this.addSprite(new TextSprite(new Rectangle(190, 100, 280, 22), font, "Last level completed"));
		this.addSprite(new TextSprite(new Rectangle((640-getTextSize(levelString, font))>>1, 125, 280, 22), font, levelString));
		this.addSprite(new TextSprite(new Rectangle(190, 155, 280, 22), font, "Final Comment"));
		this.addSprite(new TextSprite(new Rectangle((640-getTextSize(commentString, font))>>1, 180, 280, 22), font, commentString));
		this.addSprite(new TextSprite(new Rectangle(190, 205, 280, 22), font, "Points"));
		this.addSprite(new TextSprite(new Rectangle((640-getTextSize(starString, font))>>1, 226, 280, 22), font, starString));
		
		initKeyboard = false;
	}
	
	public void initBackground()
	{
		addToBackground(fullBackground, new Point(0, 0));
		addToBackground(splashBackground, new Point(116, 0));	
		addToBackground(emptyBoard, new Point(180, 98));	
	}	
	
	public void play(int[] keyCodes, Point mouseCoord, boolean leftButton, boolean rightButton) 
	{
		if (keyCodes.length == 0 && !initKeyboard)
		{
			initKeyboard = true;
		}
		
		if (initKeyboard)
		{
			for (int i=0 ; i<keyCodes.length ; i++)
			{
				int current = keyCodes[i];
									
				if (current == FrozenGame.KEY_UP || current == FrozenGame.KEY_SHIFT)
				{
					getGameApplet().setCurrentScreen(new SplashScreen(getGameApplet()));
				}
			}
		}		
	}
	
	public int getTextSize(String text, GameFont font) {
		int size = 0;
		
		for (int i=0 ; i<text.length() ; i++) {
			size += font.charSize(text.charAt(i));
			size += font.SEPARATOR_WIDTH;
		}
		
		return size - font.SEPARATOR_WIDTH;
	}	
}

⌨️ 快捷键说明

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