/** Initializes the screen. */ public void initScreen() { gameScreen.setCurrentLevelNumber(1); // reset level gameScreen.setBackground("start_screen.png"); startGameButton = new Button("Start Game", 130, 30, GameScreen.FONT_M); startGameButton.setBorderColor(Color.RED); startGameButton.setIcon(GameScreen.ICON_START); startGameButton.setBackgroundColor(new Color(255, 205, 205)); gameScreen.addObject(startGameButton, GameScreen.WIDTH_IN_CELLS / 2, 10); if (MyKara.HIGHSCORE_ENABLED) { highscoreButton = new Button("Highscore", 130, 30, GameScreen.FONT_M); highscoreButton.setBorderColor(Color.RED); highscoreButton.setIcon(GameScreen.ICON_HIGHSCORE); highscoreButton.setBackgroundColor(new Color(255, 205, 205)); gameScreen.addObject(highscoreButton, GameScreen.WIDTH_IN_CELLS / 2, 12); } Label enterPasswordLabel = new Label("Enter Level Password With Keyboard:", 230, 21, GameScreen.FONT_S); enterPasswordLabel.setBackgroundColor(Color.BLACK); enterPasswordLabel.setTextColor(new Color(255, 205, 205)); gameScreen.addObject(enterPasswordLabel, GameScreen.WIDTH_IN_CELLS / 2, 14); passwordInputLabel = new InputLabel("", 180, 21, GameScreen.FONT_M); passwordInputLabel.setBorderColor(null); passwordInputLabel.setBackgroundColor(new Color(255, 205, 205)); // passwordInputLabel.setMaxLength(10); gameScreen.addObject(passwordInputLabel, GameScreen.WIDTH_IN_CELLS / 2, 15); passwordOkLabel = new Label(95, 24, GameScreen.ICON_LOCKED); passwordOkLabel.setBackgroundTransparency(0); passwordOkLabel.setTextColor(new Color(255, 205, 205)); passwordOkLabel.setFont(GameScreen.FONT_S); passwordOkLabel.setIconVisible(true); passwordOkLabel.setAlign(Label.ALIGN_LEFT); gameScreen.addObject(passwordOkLabel, GameScreen.WIDTH_IN_CELLS / 2 + 5, 15); }
/** Initializes the screen. */ public void initScreen() { gameScreen.createBlackBackground(); Label highscoreTitleLabel = new Label( gameScreen, "Highscore Level " + currentHighscoreLevel, 500, 70, GameScreen.FONT_XL); highscoreTitleLabel.setTextColor(new Color(255, 205, 205)); highscoreTitleLabel.setBackgroundColor(Color.BLACK); gameScreen.addObject(highscoreTitleLabel, GameScreen.WIDTH_IN_CELLS / 2, 1); arrowRightButton = new Button(gameScreen, 26, 27, WorldImages.ICON_ARROW_RIGHT); arrowRightButton.setBackgroundColor(Color.BLACK); arrowRightButton.setBorderColor(Color.RED); arrowRightButton.setInset(0); arrowRightButton.setAlign(Label.ALIGN_LEFT); arrowRightButton.setBackgroundColor(new Color(255, 205, 205)); gameScreen.addObject(arrowRightButton, GameScreen.WIDTH_IN_CELLS / 2 + 6, 1); arrowLeftButton = new Button(gameScreen, 26, 27, WorldImages.ICON_ARROW_LEFT); arrowLeftButton.setBackgroundColor(Color.BLACK); arrowLeftButton.setBorderColor(Color.RED); arrowLeftButton.setInset(0); arrowLeftButton.setAlign(Label.ALIGN_LEFT); arrowLeftButton.setBackgroundColor(new Color(255, 205, 205)); gameScreen.addObject(arrowLeftButton, GameScreen.WIDTH_IN_CELLS / 2 - 6, 1); backToMenuButton = new Button(gameScreen, "Main Menu", 130, 30, GameScreen.FONT_M); backToMenuButton.setBorderColor(Color.RED); backToMenuButton.setIcon(WorldImages.ICON_HOME); backToMenuButton.setBackgroundColor(new Color(255, 205, 205)); gameScreen.addObject(backToMenuButton, GameScreen.WIDTH_IN_CELLS / 2, 16); BufferedImage levelImg = gameScreen.getLevel(currentHighscoreLevel).toImage(KaraWorld.CELL_SIZE); int width = 420; int height = 360; levelImg = GGImage.scale(levelImg, width, height); Label highscoreLevelLabel = new Label(gameScreen, width, height, levelImg); highscoreLevelLabel.setBorderColor(null); highscoreLevelLabel.setBackgroundColor(Color.BLACK); gameScreen.addObject( highscoreLevelLabel, GameScreen.WIDTH_IN_CELLS / 2, GameScreen.HEIGHT_IN_CELLS / 2); if (gameScreen.isHighscoreAvailable()) { // Get the highscore entries Highscore highscore = gameScreen.getHighscoreForLevel(currentHighscoreLevel); String first = highscore.getFirstEntry().toString(); String second = highscore.getSecondEntry().toString(); String third = highscore.getThirdEntry().toString(); Label highscoreGoldLabel = new Label(gameScreen, first, 400, 40, GameScreen.FONT_L); highscoreGoldLabel.setTextColor(new Color(255, 205, 205)); highscoreGoldLabel.setBackgroundColor(Color.BLACK); highscoreGoldLabel.setBackgroundTransparency(150); highscoreGoldLabel.setBorderColor(null); highscoreGoldLabel.setIcon(WorldImages.ICON_GOLD); gameScreen.addObject(highscoreGoldLabel, GameScreen.WIDTH_IN_CELLS / 2, 10); Label highscoreSilverLabel = new Label(gameScreen, second, 400, 40, GameScreen.FONT_L); highscoreSilverLabel.setTextColor(new Color(255, 205, 205)); highscoreSilverLabel.setBackgroundColor(Color.BLACK); highscoreSilverLabel.setBackgroundTransparency(150); highscoreSilverLabel.setBorderColor(null); highscoreSilverLabel.setIcon(WorldImages.ICON_SILVER); gameScreen.addObject(highscoreSilverLabel, GameScreen.WIDTH_IN_CELLS / 2, 12); Label highscoreBronzeLabel = new Label(gameScreen, third, 400, 40, GameScreen.FONT_L); highscoreBronzeLabel.setTextColor(new Color(255, 205, 205)); highscoreBronzeLabel.setBackgroundColor(Color.BLACK); highscoreBronzeLabel.setBackgroundTransparency(150); highscoreBronzeLabel.setBorderColor(null); highscoreBronzeLabel.setIcon(WorldImages.ICON_BRONZE); gameScreen.addObject(highscoreBronzeLabel, GameScreen.WIDTH_IN_CELLS / 2, 14); } else { // Highscore is not available --> give a hint to the user Label highscoreNa1 = new Label(gameScreen, "Highscore is not available!", 400, 40, GameScreen.FONT_XL); highscoreNa1.setTextColor(new Color(255, 205, 205)); highscoreNa1.setBackgroundColor(Color.BLACK); highscoreNa1.setBackgroundTransparency(150); highscoreNa1.setBorderColor(null); gameScreen.addObject(highscoreNa1, GameScreen.WIDTH_IN_CELLS / 2, 13); } }