add Highscore Screen

This commit is contained in:
Sosch 2014-12-02 13:34:59 +01:00
parent 2ccc3ab483
commit 6be6a97306
3 changed files with 107 additions and 0 deletions

20
save Normal file
View File

@ -0,0 +1,20 @@
200 Name
190 Name
180 Name
170 Name
160 Name
150 Name
140 Name
130 Name
120 Name
110 Name
100 Name
90 Name
80 Name
70 Name
60 Name
50 Name
40 Name
30 Name
20 Name
10 Name

View File

@ -0,0 +1,86 @@
package de.teamteamteam.spacescooter.screen;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics2D;
import java.awt.event.KeyEvent;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Scanner;
import de.teamteamteam.spacescooter.brain.GameConfig;
import de.teamteamteam.spacescooter.control.Keyboard;
import de.teamteamteam.spacescooter.entity.Player;
import de.teamteamteam.spacescooter.gui.Button;
import de.teamteamteam.spacescooter.utility.Loader;
public class HighscoreScreen extends Screen{
private BufferedImage img;
private float playerMoveSpeed = 0;
private Player player;
private int animationStatus = 0; //0 = Animation noch nicht gestartet, 1 = Animation laeuft, 2 = Animation beendet
private ArrayList<String> eintraege = new ArrayList<String>();
public HighscoreScreen(Screen parent) {
super(parent);
this.img = Loader.getBufferedImageByFilename("images/earthbackground.png");
new Button(GameConfig.windowWidth/2-125, GameConfig.windowHeight-75);
player = new Player(GameConfig.windowWidth/2-170, GameConfig.windowHeight-63);
player.setCanMove(false);
player.setCanShoot(false);
readHighscore();
}
@Override
protected void paint(Graphics2D g) {
g.drawImage(this.img, 0, 0, null);
this.entityPaintIterator.reset();
while (this.entityPaintIterator.hasNext()) {
this.entityPaintIterator.next().paint(g);
}
g.setFont(new Font("Monospace", 0, 20));
g.setColor(new Color(255, 255, 255));
for(int i = 0; i<eintraege.size(); i++){
g.drawString(eintraege.get(i), 50, 27*(i+1));
}
g.setColor(new Color(0, 0, 0));
g.drawString("Hauptmen\u00fc", GameConfig.windowWidth/2-55, GameConfig.windowHeight-40);
}
@Override
protected void update() {
if ((Keyboard.isKeyDown(KeyEvent.VK_ENTER) || Keyboard.isKeyDown(KeyEvent.VK_SPACE)) && this.animationStatus == 0) {
this.animationStatus = 1;
}
if(this.animationStatus == 1) {
if(this.player.getX() <= GameConfig.windowWidth) {
this.player.setPosition(this.player.getX() + (int) playerMoveSpeed, this.player.getY());
this.playerMoveSpeed += 0.1;
} else this.animationStatus = 2;
} else if(this.animationStatus == 2) {
this.parent.setOverlay(new MainMenuScreen(this.parent));
}
}
private void readHighscore(){
try {
File f = new File("save");
if(!f.exists()){
f.createNewFile();
}
Scanner scan = new Scanner(f);
while(scan.hasNextLine()){
this.eintraege.add(scan.nextLine());
}
scan.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}

View File

@ -105,6 +105,7 @@ public class MainMenuScreen extends Screen {
this.parent.setOverlay(new ShopScreen(this.parent));
break;
case 2:
this.parent.setOverlay(new HighscoreScreen(this.parent));
break;
case 3:
break;