Merge branch 'master' of github.com:jokerx3/prp

This commit is contained in:
andreas
2015-01-17 13:01:14 +01:00
6 changed files with 206 additions and 11 deletions
+1
View File
@@ -13,3 +13,4 @@ local.properties
.classpath .classpath
.project .project
.recommenders .recommenders
HeatUp/highscore.dat
+27
View File
@@ -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();
}
}
+14 -6
View File
@@ -31,6 +31,8 @@ public class PanelBuilder {
private static Player player01; private static Player player01;
private static MapEngine me;
private static InstancedObjects instancedObjects; private static InstancedObjects instancedObjects;
private static ImageLoader imageLoader; private static ImageLoader imageLoader;
@@ -149,7 +151,7 @@ public class PanelBuilder {
kb = new KeyBindings(player01); kb = new KeyBindings(player01);
outerPanel.addKeyListener(kb); outerPanel.addKeyListener(kb);
MapEngine me; //MapEngine me;
if (map > 0) { if (map > 0) {
me = new MapEngine(map); me = new MapEngine(map);
} else { } else {
@@ -161,11 +163,13 @@ public class PanelBuilder {
* Highscore tests * Highscore tests
*/ */
// for (ScoreEntry score : me.getHighscoreHandler().getHighscores(me.getMapHash())) { /**
// Logger.write(score.getName()+" "+score.getScore()); * for (ScoreEntry score : me.getHighscoreHandler().getHighscores(me.getMapHash())) {
// } * Logger.write(score.getName()+" "+score.getScore());
// me.getHighscoreHandler().setHighscore(me.getMapHash(), "Daniel", 3134); * }
// me.getHighscoreHandler().saveHighscores(); * me.getHighscoreHandler().setHighscore(me.getMapHash(), "Daniel", 3134);
* me.getHighscoreHandler().saveHighscores();
*/
/** /**
* Ende Highscore tests * Ende Highscore tests
@@ -181,6 +185,10 @@ public class PanelBuilder {
} }
public static MapEngine getMapEngine() {
return me;
}
public static ImageLoader getImageLoader() { public static ImageLoader getImageLoader() {
return imageLoader; return imageLoader;
} }
@@ -128,6 +128,9 @@ public class StatusPanelAdder{
} else { } else {
tempBar.setValue(tempBar.getValue()+temping); tempBar.setValue(tempBar.getValue()+temping);
} }
if (tempBar.getValue()==110){
Logger.write(Score.endScore()+"");
}
/* /*
* Änderung der Farbe der TempBar * Änderung der Farbe der TempBar
*/ */
@@ -1,5 +1,152 @@
package de.heatup.ui.menu; package de.heatup.ui.menu;
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 { 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;
}
} }
+10 -1
View File
@@ -165,8 +165,17 @@ public class MenuPanel {
showHighscore.addMouseListener(new MouseAdapter() { showHighscore.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) { public void mouseClicked(MouseEvent e) {
// @TODO: implement show highscore
if(gameExists == 1) {
menuPanel.setVisible(false);
HighscorePanel p = new HighscorePanel();
PanelBuilder.getOuterPanel().add(HighscorePanel.getHighscorePanel(), BorderLayout.CENTER);
Logger.write("show highscore"); Logger.write("show highscore");
} else if (gameExists == 2) {
Logger.write("cant show scores while game is running");
}
} }
}); });