|
@@ -13,6 +13,7 @@ import java.awt.image.VolatileImage;
|
|
|
|
|
|
|
|
import model.SongHandler;
|
|
import model.SongHandler;
|
|
|
import model.objects.InfoPanel;
|
|
import model.objects.InfoPanel;
|
|
|
|
|
+import model.objects.highscore.HighscoreName;
|
|
|
import control.GameStateManager;
|
|
import control.GameStateManager;
|
|
|
import control.GameStateManager.State;
|
|
import control.GameStateManager.State;
|
|
|
import control.button.ButtonEvent;
|
|
import control.button.ButtonEvent;
|
|
@@ -24,15 +25,15 @@ public class GameOverState extends GameState {
|
|
|
BufferedImage gameOver = Images.getImage(ImageType.gameover);
|
|
BufferedImage gameOver = Images.getImage(ImageType.gameover);
|
|
|
VolatileImage background;
|
|
VolatileImage background;
|
|
|
Font textFont = new Font("OCR A Extended", Font.BOLD, 70);
|
|
Font textFont = new Font("OCR A Extended", Font.BOLD, 70);
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
- private String endScore = "";
|
|
|
|
|
|
|
+ HighscoreName hsn;
|
|
|
|
|
+ int image_x = 0;
|
|
|
|
|
|
|
|
int frame;
|
|
int frame;
|
|
|
|
|
|
|
|
public GameOverState(GameStateManager gsm, SongHandler sh, SQLConnector sql) {
|
|
public GameOverState(GameStateManager gsm, SongHandler sh, SQLConnector sql) {
|
|
|
super(gsm, sh, sql);
|
|
super(gsm, sh, sql);
|
|
|
createBackground();
|
|
createBackground();
|
|
|
|
|
+ hsn = new HighscoreName(640,717,5,textFont);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -41,44 +42,20 @@ public class GameOverState extends GameState {
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
public void update(float factor) {
|
|
public void update(float factor) {
|
|
|
-
|
|
|
|
|
|
|
+ image_x = ((frame / 5) % 5) * 40;
|
|
|
frame++;
|
|
frame++;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
public void draw(Graphics2D g2) {
|
|
public void draw(Graphics2D g2) {
|
|
|
- g2.drawImage(background, 0, 0, 1280, 1024, null);
|
|
|
|
|
- int image_x = ((frame / 5) % 5) * 40;
|
|
|
|
|
- g2.drawImage(gameOver.getSubimage(image_x, 0, 40, 26), 640-122, 512, 245, 130, null);
|
|
|
|
|
-
|
|
|
|
|
- RenderingHints rh = new RenderingHints(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
|
|
|
|
|
- g2.setRenderingHints(rh);
|
|
|
|
|
- g2.setColor(new Color(1,1,1, 0.3f));
|
|
|
|
|
- g2.fillRect(0,0,1280,1024);
|
|
|
|
|
-
|
|
|
|
|
- g2.setColor(new Color(0,1,0, 0.7f));
|
|
|
|
|
- g2.fillRect(0,0,100,1024);
|
|
|
|
|
- g2.fillRect(1180,0,100,1024);
|
|
|
|
|
-
|
|
|
|
|
- g2.setColor(new Color(1,1,0, 0.7f));
|
|
|
|
|
- g2.fillRect(100,0,100,1024);
|
|
|
|
|
- g2.fillRect(1080,0,100,1024);
|
|
|
|
|
-
|
|
|
|
|
- g2.setColor(new Color(1,0,0, 0.7f));
|
|
|
|
|
- g2.fillRect(200,0,100,1024);
|
|
|
|
|
- g2.fillRect(980,0,100,1024);
|
|
|
|
|
-
|
|
|
|
|
- g2.setColor(Color.BLACK);
|
|
|
|
|
- g2.setFont(textFont);
|
|
|
|
|
- g2.drawString("High Score", 385, 212);
|
|
|
|
|
- g2.drawString(InfoPanel.getTotalHighscore(), 390, 342);
|
|
|
|
|
- g2.dispose();
|
|
|
|
|
- background.createGraphics();
|
|
|
|
|
|
|
+ g2.drawImage(background, 0, 0, 1280, 1024, null);
|
|
|
|
|
+ g2.drawImage(gameOver.getSubimage(image_x, 0, 40, 26), 640-122, 400, 245, 130, null);
|
|
|
|
|
+ hsn.drawName(g2);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
public void buttonPressed(ButtonEvent e) {
|
|
public void buttonPressed(ButtonEvent e) {
|
|
|
-
|
|
|
|
|
|
|
+ System.out.println("Name: "+hsn.getName());
|
|
|
switch(e.getButton().getButtonID()){
|
|
switch(e.getButton().getButtonID()){
|
|
|
case 0:
|
|
case 0:
|
|
|
gsm.setState(State.MENU_STATE);
|
|
gsm.setState(State.MENU_STATE);
|
|
@@ -93,10 +70,49 @@ public class GameOverState extends GameState {
|
|
|
}
|
|
}
|
|
|
@Override
|
|
@Override
|
|
|
public void onJoystickMoved(JoystickEvent e) {
|
|
public void onJoystickMoved(JoystickEvent e) {
|
|
|
|
|
+ switch(e.getJoystick().getPos()){
|
|
|
|
|
+ case DOWN:
|
|
|
|
|
+ hsn.down();
|
|
|
|
|
+ break;
|
|
|
|
|
+ case LEFT:
|
|
|
|
|
+ hsn.left();
|
|
|
|
|
+ break;
|
|
|
|
|
+ case RIGHT:
|
|
|
|
|
+ hsn.right();
|
|
|
|
|
+ break;
|
|
|
|
|
+ case UP:
|
|
|
|
|
+ hsn.up();
|
|
|
|
|
+ break;
|
|
|
|
|
+ default:
|
|
|
|
|
+ break;
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
public void createBackground(){
|
|
public void createBackground(){
|
|
|
background = Images.initVolatileImage(1280, 1024, Transparency.OPAQUE);
|
|
background = Images.initVolatileImage(1280, 1024, Transparency.OPAQUE);
|
|
|
Graphics2D g2 = background.createGraphics();
|
|
Graphics2D g2 = background.createGraphics();
|
|
|
|
|
+
|
|
|
|
|
+ RenderingHints rh = new RenderingHints(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
|
|
|
|
|
+ g2.setRenderingHints(rh);
|
|
|
|
|
+ g2.setColor(new Color(1,1,1, 0.3f));
|
|
|
|
|
+ g2.fillRect(0,0,1280,1024);
|
|
|
|
|
+
|
|
|
|
|
+ g2.setColor(new Color(0,1,0, 0.7f));
|
|
|
|
|
+ g2.fillRect(0,0,100,1024);
|
|
|
|
|
+ g2.fillRect(1180,0,100,1024);
|
|
|
|
|
+
|
|
|
|
|
+ g2.setColor(new Color(1,1,0, 0.7f));
|
|
|
|
|
+ g2.fillRect(100,0,100,1024);
|
|
|
|
|
+ g2.fillRect(1080,0,100,1024);
|
|
|
|
|
+
|
|
|
|
|
+ g2.setColor(new Color(1,0,0, 0.7f));
|
|
|
|
|
+ g2.fillRect(200,0,100,1024);
|
|
|
|
|
+ g2.fillRect(980,0,100,1024);
|
|
|
|
|
+
|
|
|
|
|
+ g2.setColor(Color.BLACK);
|
|
|
|
|
+ g2.setFont(textFont);
|
|
|
|
|
+ g2.drawString("High Score", 385, 212);
|
|
|
|
|
+ g2.drawString(InfoPanel.getTotalHighscore(), 390, 342);
|
|
|
|
|
+ g2.dispose();
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|