mirror of
https://github.com/jokerx3/HeatUp
synced 2026-07-27 08:59:44 +02:00
Merge branch 'master' of github.com:jokerx3/prp
This commit is contained in:
+2
-1
@@ -12,4 +12,5 @@ local.properties
|
||||
.loadpath
|
||||
.classpath
|
||||
.project
|
||||
.recommenders
|
||||
.recommenders
|
||||
HeatUp/highscore.dat
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
package de.heatup.testing;
|
||||
|
||||
import java.awt.BorderLayout;
|
||||
import javax.swing.JFrame;
|
||||
|
||||
import de.heatup.ui.menu.HighscorePanel;
|
||||
|
||||
public class Main extends JFrame {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
private static HighscorePanel p = new HighscorePanel();
|
||||
|
||||
public Main() {
|
||||
|
||||
this.setTitle("HeatUp! - Testing");
|
||||
this.setSize(800, 600);
|
||||
this.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
|
||||
|
||||
this.add(HighscorePanel.getHighscorePanel(), BorderLayout.CENTER);
|
||||
this.setVisible(true);
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
new Main();
|
||||
}
|
||||
|
||||
}
|
||||
@@ -31,6 +31,8 @@ public class PanelBuilder {
|
||||
|
||||
private static Player player01;
|
||||
|
||||
private static MapEngine me;
|
||||
|
||||
private static InstancedObjects instancedObjects;
|
||||
private static ImageLoader imageLoader;
|
||||
|
||||
@@ -149,7 +151,7 @@ public class PanelBuilder {
|
||||
kb = new KeyBindings(player01);
|
||||
outerPanel.addKeyListener(kb);
|
||||
|
||||
MapEngine me;
|
||||
//MapEngine me;
|
||||
if (map > 0) {
|
||||
me = new MapEngine(map);
|
||||
} else {
|
||||
@@ -161,11 +163,13 @@ public class PanelBuilder {
|
||||
* Highscore tests
|
||||
*/
|
||||
|
||||
// for (ScoreEntry score : me.getHighscoreHandler().getHighscores(me.getMapHash())) {
|
||||
// Logger.write(score.getName()+" "+score.getScore());
|
||||
// }
|
||||
// me.getHighscoreHandler().setHighscore(me.getMapHash(), "Daniel", 3134);
|
||||
// me.getHighscoreHandler().saveHighscores();
|
||||
/**
|
||||
* for (ScoreEntry score : me.getHighscoreHandler().getHighscores(me.getMapHash())) {
|
||||
* Logger.write(score.getName()+" "+score.getScore());
|
||||
* }
|
||||
* me.getHighscoreHandler().setHighscore(me.getMapHash(), "Daniel", 3134);
|
||||
* me.getHighscoreHandler().saveHighscores();
|
||||
*/
|
||||
|
||||
/**
|
||||
* Ende Highscore tests
|
||||
@@ -180,7 +184,11 @@ public class PanelBuilder {
|
||||
gameLoaded = true;
|
||||
|
||||
}
|
||||
|
||||
|
||||
public static MapEngine getMapEngine() {
|
||||
return me;
|
||||
}
|
||||
|
||||
public static ImageLoader getImageLoader() {
|
||||
return imageLoader;
|
||||
}
|
||||
|
||||
@@ -128,6 +128,9 @@ public class StatusPanelAdder{
|
||||
} else {
|
||||
tempBar.setValue(tempBar.getValue()+temping);
|
||||
}
|
||||
if (tempBar.getValue()==110){
|
||||
Logger.write(Score.endScore()+"");
|
||||
}
|
||||
/*
|
||||
* Änderung der Farbe der TempBar
|
||||
*/
|
||||
|
||||
@@ -1,5 +1,152 @@
|
||||
package de.heatup.ui.menu;
|
||||
|
||||
public class HighscorePanel {
|
||||
import java.awt.Color;
|
||||
import java.awt.Dimension;
|
||||
import java.awt.Font;
|
||||
import java.awt.GridLayout;
|
||||
|
||||
import javax.swing.JLabel;
|
||||
import javax.swing.JPanel;
|
||||
|
||||
import de.heatup.highscore.ScoreEntry;
|
||||
import de.heatup.logging.Logger;
|
||||
import de.heatup.mapengine.MapEngine;
|
||||
import de.heatup.ui.FontLoader;
|
||||
import de.heatup.ui.PanelBuilder;
|
||||
|
||||
public class HighscorePanel {
|
||||
|
||||
// dynamic panels
|
||||
private static JPanel highscorePanel = new JPanel();
|
||||
private static JPanel headingPanel;
|
||||
private static JPanel contentPanel;
|
||||
|
||||
// default text panels and labels
|
||||
private static JLabel headingLabel, dividerLabel;
|
||||
private static GridLayout grid = new GridLayout(2, 1);
|
||||
|
||||
|
||||
// Font Loader and font Settings
|
||||
private static FontLoader fl = new FontLoader();
|
||||
private static Font ttfbase, emulogicHeading, emulogicDivider, emulogicSmall;
|
||||
|
||||
// MapEngine used to get and set the Highscore
|
||||
private static MapEngine me;
|
||||
private static int scoreEntries = 0;
|
||||
|
||||
public HighscorePanel() {
|
||||
|
||||
initHighscorePanel();
|
||||
getHighscores();
|
||||
}
|
||||
|
||||
private static void getHighscores() {
|
||||
|
||||
// TODO : Init the MapEngine before a new game is started for getting highscores
|
||||
me = PanelBuilder.getMapEngine();
|
||||
|
||||
// only for testing purposes
|
||||
// me.getHighscoreHandler().setHighscore(me.getMapHash(), "Daniel", 3134);
|
||||
// me.getHighscoreHandler().setHighscore(me.getMapHash(), "Tim", 2010);
|
||||
// me.getHighscoreHandler().saveHighscores();
|
||||
|
||||
// count Score entries for building the GridLayout
|
||||
for(ScoreEntry score : me.getHighscoreHandler().getHighscores(me.getMapHash())) {
|
||||
scoreEntries++;
|
||||
Logger.write(score.getName()+" "+score.getScore());
|
||||
}
|
||||
}
|
||||
|
||||
private static void initHighscorePanel() {
|
||||
highscorePanel.setSize(new Dimension(800, 600));
|
||||
highscorePanel.setBackground(Color.BLACK);
|
||||
highscorePanel.setFocusable(false);
|
||||
|
||||
// build full highscorePanel
|
||||
initHeadingPanel();
|
||||
initContentPanel();
|
||||
highscorePanel.add(headingPanel);
|
||||
highscorePanel.add(contentPanel);
|
||||
highscorePanel.setVisible(true);
|
||||
}
|
||||
|
||||
private static void initHeadingPanel() {
|
||||
headingPanel = new JPanel();
|
||||
|
||||
headingPanel.setSize(new Dimension(800, 50));
|
||||
headingPanel.setBackground(Color.BLACK);
|
||||
headingPanel.setFocusable(false);
|
||||
headingPanel.setLayout(grid);
|
||||
headingPanel.setVisible(true);
|
||||
|
||||
ttfbase = FontLoader.getFont();
|
||||
emulogicHeading = ttfbase.deriveFont(Font.PLAIN, 20);
|
||||
emulogicDivider = ttfbase.deriveFont(Font.PLAIN, 10);
|
||||
emulogicSmall = ttfbase.deriveFont(Font.PLAIN, 12);
|
||||
|
||||
headingLabel = new JLabel();
|
||||
headingLabel.setText("HeatUP! - Highscores");
|
||||
headingLabel.setForeground(Color.YELLOW);
|
||||
headingLabel.setFont(emulogicHeading);
|
||||
|
||||
dividerLabel = new JLabel();
|
||||
dividerLabel.setText("----------------------------------------");
|
||||
dividerLabel.setForeground(Color.YELLOW);
|
||||
dividerLabel.setFont(emulogicDivider);
|
||||
|
||||
headingPanel.add(headingLabel);
|
||||
headingPanel.add(dividerLabel);
|
||||
}
|
||||
|
||||
private static void initContentPanel() {
|
||||
contentPanel = new JPanel();
|
||||
|
||||
contentPanel.setSize(new Dimension(800, 550));
|
||||
contentPanel.setBackground(Color.BLACK);
|
||||
contentPanel.setFocusable(false);
|
||||
|
||||
contentPanel.setVisible(true);
|
||||
|
||||
// GridLayout for Scores
|
||||
JPanel scores = new JPanel();
|
||||
scores.setBackground(Color.BLACK);
|
||||
scores.setFocusable(false);
|
||||
scores.setVisible(true);
|
||||
|
||||
getHighscores();
|
||||
|
||||
scores.setLayout(new GridLayout(0, scoreEntries));
|
||||
for(ScoreEntry score : me.getHighscoreHandler().getHighscores(me.getMapHash())) {
|
||||
JLabel l = new JLabel();
|
||||
l.setBackground(Color.BLACK);
|
||||
l.setForeground(Color.YELLOW);
|
||||
l.setFont(emulogicSmall);
|
||||
l.setVisible(true);
|
||||
|
||||
l.setText(score.getName() + " ---> " + score.getScore());
|
||||
scores.add(l);
|
||||
}
|
||||
|
||||
contentPanel.add(scores);
|
||||
}
|
||||
|
||||
|
||||
public static JPanel getHighscorePanel() {
|
||||
return highscorePanel;
|
||||
}
|
||||
|
||||
|
||||
public static void setHighscorePanel(JPanel highscorePanel) {
|
||||
HighscorePanel.highscorePanel = highscorePanel;
|
||||
}
|
||||
|
||||
|
||||
public static JPanel getContentPanel() {
|
||||
return contentPanel;
|
||||
}
|
||||
|
||||
|
||||
public static void setContentPanel(JPanel contentPanel) {
|
||||
HighscorePanel.contentPanel = contentPanel;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -165,8 +165,17 @@ public class MenuPanel {
|
||||
|
||||
showHighscore.addMouseListener(new MouseAdapter() {
|
||||
public void mouseClicked(MouseEvent e) {
|
||||
// @TODO: implement show highscore
|
||||
Logger.write("show highscore");
|
||||
|
||||
if(gameExists == 1) {
|
||||
|
||||
menuPanel.setVisible(false);
|
||||
|
||||
HighscorePanel p = new HighscorePanel();
|
||||
PanelBuilder.getOuterPanel().add(HighscorePanel.getHighscorePanel(), BorderLayout.CENTER);
|
||||
Logger.write("show highscore");
|
||||
} else if (gameExists == 2) {
|
||||
Logger.write("cant show scores while game is running");
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user