From 535a1bfa15eeb20b63f6dd9cd5cf04dcfe12a02c Mon Sep 17 00:00:00 2001 From: feschi55 Date: Tue, 13 Jan 2015 15:09:39 +0100 Subject: [PATCH 1/7] =?UTF-8?q?Logger=20f=C3=BCr=20110Grad=20eingef=C3=BCg?= =?UTF-8?q?t=20-->=20EndScore?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- HeatUp/src/de/heatup/ui/StatusPanelAdder.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/HeatUp/src/de/heatup/ui/StatusPanelAdder.java b/HeatUp/src/de/heatup/ui/StatusPanelAdder.java index decdbf3..7b29690 100644 --- a/HeatUp/src/de/heatup/ui/StatusPanelAdder.java +++ b/HeatUp/src/de/heatup/ui/StatusPanelAdder.java @@ -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 */ From dc755f72c71271cb96237e468347782acdad0ecc Mon Sep 17 00:00:00 2001 From: shebang Date: Wed, 14 Jan 2015 06:58:01 +0100 Subject: [PATCH 2/7] added a new Main in package de.heatup.testing should be used for testing purposes only --- HeatUp/src/de/heatup/testing/Main.java | 28 ++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 HeatUp/src/de/heatup/testing/Main.java diff --git a/HeatUp/src/de/heatup/testing/Main.java b/HeatUp/src/de/heatup/testing/Main.java new file mode 100644 index 0000000..ddaa030 --- /dev/null +++ b/HeatUp/src/de/heatup/testing/Main.java @@ -0,0 +1,28 @@ +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(); + } + +} From a6faa62d3d0fce391871e7fc1f30e44368e34b00 Mon Sep 17 00:00:00 2001 From: shebang Date: Wed, 14 Jan 2015 06:58:54 +0100 Subject: [PATCH 3/7] major changes in HighscoreMenu, implemented graphics and beginn for showing scores --- .../src/de/heatup/ui/menu/HighscorePanel.java | 122 +++++++++++++++++- 1 file changed, 121 insertions(+), 1 deletion(-) diff --git a/HeatUp/src/de/heatup/ui/menu/HighscorePanel.java b/HeatUp/src/de/heatup/ui/menu/HighscorePanel.java index caa29c6..050fa5c 100644 --- a/HeatUp/src/de/heatup/ui/menu/HighscorePanel.java +++ b/HeatUp/src/de/heatup/ui/menu/HighscorePanel.java @@ -1,5 +1,125 @@ 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; + +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; + + public HighscorePanel() { + + initHighscorePanel(); + getHighscores(); + } + + private static void getHighscores() { + // default map + me = new MapEngine(1); + + // set some default values + me.getHighscoreHandler().setHighscore(me.getMapHash(), "Daniel", 3134); + me.getHighscoreHandler().setHighscore(me.getMapHash(), "Tim", 2010); + me.getHighscoreHandler().saveHighscores(); + + for (ScoreEntry score : me.getHighscoreHandler().getHighscores(me.getMapHash())) { + 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); + + 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 + } + + + 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; + } } From a528aea320279528dad866229a08a9c26ba51a70 Mon Sep 17 00:00:00 2001 From: shebang Date: Wed, 14 Jan 2015 07:58:43 +0100 Subject: [PATCH 4/7] HeatUp/src/de/heatup/ui/PanelBuilder.java --- HeatUp/src/de/heatup/ui/PanelBuilder.java | 28 +++++++++++++++++------ 1 file changed, 21 insertions(+), 7 deletions(-) diff --git a/HeatUp/src/de/heatup/ui/PanelBuilder.java b/HeatUp/src/de/heatup/ui/PanelBuilder.java index 487b37a..1310917 100644 --- a/HeatUp/src/de/heatup/ui/PanelBuilder.java +++ b/HeatUp/src/de/heatup/ui/PanelBuilder.java @@ -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,17 @@ public class PanelBuilder { gameLoaded = true; } - + + public static MapEngine getMapEngine() { + MapEngine m; + + if(gameState == 1) { + m = new MapEngine(1); + return m; + } + return me; + } + public static ImageLoader getImageLoader() { return imageLoader; } From fc845ea8f4ae86bdeeac150628a668a781885e02 Mon Sep 17 00:00:00 2001 From: shebang Date: Wed, 14 Jan 2015 08:00:53 +0100 Subject: [PATCH 5/7] added new state of highscore implementation. problems are some NULLP. Exceptions of the MapEngine while getting the Scores --- HeatUp/src/de/heatup/testing/Main.java | 3 +- .../src/de/heatup/ui/menu/HighscorePanel.java | 41 +++++++++++++++---- HeatUp/src/de/heatup/ui/menu/MenuPanel.java | 13 +++++- 3 files changed, 46 insertions(+), 11 deletions(-) diff --git a/HeatUp/src/de/heatup/testing/Main.java b/HeatUp/src/de/heatup/testing/Main.java index ddaa030..429b7a0 100644 --- a/HeatUp/src/de/heatup/testing/Main.java +++ b/HeatUp/src/de/heatup/testing/Main.java @@ -16,8 +16,7 @@ public class Main extends JFrame { this.setSize(800, 600); this.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE ); - this.add(HighscorePanel.getHighscorePanel(), BorderLayout.CENTER); - + this.add(HighscorePanel.getHighscorePanel(), BorderLayout.CENTER); this.setVisible(true); } diff --git a/HeatUp/src/de/heatup/ui/menu/HighscorePanel.java b/HeatUp/src/de/heatup/ui/menu/HighscorePanel.java index 050fa5c..825b751 100644 --- a/HeatUp/src/de/heatup/ui/menu/HighscorePanel.java +++ b/HeatUp/src/de/heatup/ui/menu/HighscorePanel.java @@ -12,6 +12,7 @@ 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 { @@ -31,6 +32,7 @@ public class HighscorePanel { // MapEngine used to get and set the Highscore private static MapEngine me; + private static int scoreEntries = 0; public HighscorePanel() { @@ -39,15 +41,18 @@ public class HighscorePanel { } private static void getHighscores() { - // default map - me = new MapEngine(1); - // set some default values - me.getHighscoreHandler().setHighscore(me.getMapHash(), "Daniel", 3134); - me.getHighscoreHandler().setHighscore(me.getMapHash(), "Tim", 2010); - me.getHighscoreHandler().saveHighscores(); + // TODO : Init the MapEngine before a new game is started for getting highscores + me = PanelBuilder.getMapEngine(); - for (ScoreEntry score : me.getHighscoreHandler().getHighscores(me.getMapHash())) { + // 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()); } } @@ -77,6 +82,7 @@ public class HighscorePanel { 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"); @@ -98,9 +104,30 @@ public class HighscorePanel { 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); } diff --git a/HeatUp/src/de/heatup/ui/menu/MenuPanel.java b/HeatUp/src/de/heatup/ui/menu/MenuPanel.java index 156d57b..f22402d 100644 --- a/HeatUp/src/de/heatup/ui/menu/MenuPanel.java +++ b/HeatUp/src/de/heatup/ui/menu/MenuPanel.java @@ -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"); + } } }); From 67620469862cd5a0e40a39a8811ad01905df4a06 Mon Sep 17 00:00:00 2001 From: shebang Date: Wed, 14 Jan 2015 08:06:30 +0100 Subject: [PATCH 6/7] added highscores.dat to .gitignore --- .gitignore | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index fd379b3..044b33b 100644 --- a/.gitignore +++ b/.gitignore @@ -12,4 +12,5 @@ local.properties .loadpath .classpath .project -.recommenders \ No newline at end of file +.recommenders +HeatUp/highscore.dat From 66a0258c50d8abc2603a1ae75c38065a4cbcf1e7 Mon Sep 17 00:00:00 2001 From: shebang Date: Wed, 14 Jan 2015 10:10:45 +0100 Subject: [PATCH 7/7] fixed getter for ME --- HeatUp/src/de/heatup/ui/PanelBuilder.java | 6 ------ 1 file changed, 6 deletions(-) diff --git a/HeatUp/src/de/heatup/ui/PanelBuilder.java b/HeatUp/src/de/heatup/ui/PanelBuilder.java index 1310917..749dde4 100644 --- a/HeatUp/src/de/heatup/ui/PanelBuilder.java +++ b/HeatUp/src/de/heatup/ui/PanelBuilder.java @@ -186,12 +186,6 @@ public class PanelBuilder { } public static MapEngine getMapEngine() { - MapEngine m; - - if(gameState == 1) { - m = new MapEngine(1); - return m; - } return me; }