From 54d9a91f6a0c1346c9ca64f90136850861300ba2 Mon Sep 17 00:00:00 2001 From: Kenneth van Ewijk Date: Mon, 6 Jul 2015 16:59:40 +0200 Subject: [PATCH 1/7] Load highest score on startup --- data/io/SQLConnector.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/data/io/SQLConnector.java b/data/io/SQLConnector.java index 1170ade..1d1a639 100644 --- a/data/io/SQLConnector.java +++ b/data/io/SQLConnector.java @@ -169,6 +169,18 @@ public class SQLConnector } catch (SQLException e) { e.printStackTrace(); } + + Statement st4 = executeResultQuery("SELECT MAX(`score`) as score FROM `highscore` WHERE `songinstance`=(SELECT id FROM songinstance WHERE song=" + id + " AND difficulty='" + si.getDifficulty() + "')"); + try { + ResultSet rs4 = st4.getResultSet(); + if(rs4.next()) + { + int i = rs4.getInt(1); + si.setHighestScore(i); + } + } catch (SQLException e) { + e.printStackTrace(); + } } } else From 2fa9c3afe82cf52f676c3e55bce72e8bcc561002 Mon Sep 17 00:00:00 2001 From: Kenneth van Ewijk Date: Mon, 6 Jul 2015 16:59:52 +0200 Subject: [PATCH 2/7] Added two new sorting methods --- model/gameState/MenuState.java | 62 +++++++++++++++++++++++----------- 1 file changed, 42 insertions(+), 20 deletions(-) diff --git a/model/gameState/MenuState.java b/model/gameState/MenuState.java index 42ef389..ac53c35 100644 --- a/model/gameState/MenuState.java +++ b/model/gameState/MenuState.java @@ -24,7 +24,9 @@ import model.objects.highscore.Highscore; import audio.Song; import audio.SongInstance; import audio.sorting.SortALPHA; +import audio.sorting.SortAUTHOR; import audio.sorting.SortPLAYED; +import audio.sorting.SortSCORE; import control.GameStateManager; import control.GameStateManager.State; import control.button.ButtonEvent; @@ -102,9 +104,12 @@ public class MenuState extends GameState { else { ButtonHandler.getButton(1).setColor(GameModel.colors[0]); + ButtonHandler.getButton(2).setColor(GameModel.colors[3]); - ButtonHandler.getButton(5).setColor(GameModel.colors[1]); - ButtonHandler.getButton(6).setColor(GameModel.colors[4]); + ButtonHandler.getButton(3).setColor(GameModel.colors[1]); + ButtonHandler.getButton(4).setColor(GameModel.colors[2]); + ButtonHandler.getButton(5).setColor(GameModel.colors[4]); + ButtonHandler.getButton(6).setColor(GameModel.colors[5]); JoystickHandler.REPEAT = true; } @@ -187,19 +192,25 @@ public class MenuState extends GameState { subscreen = true; gsm.init(); generateSubScreenForeground(); - }else if(e.getButton().getButtonID() == 5){ - sh.sort(new SortALPHA()); - selected = 0; - sh.set(songs.indexOf(selectedToSong(selected))); - sh.play(); - }else if(e.getButton().getButtonID() == 6){ - sh.sort(new SortPLAYED()); - selected = 0; - sh.set(songs.indexOf(selectedToSong(selected))); - sh.play(); - }else if(e.getButton().getButtonID() == 3){ + }else if(e.getButton().getButtonID() == 2){ gsm.setState(control.GameStateManager.State.HELP_STATE); } + else + { + if(e.getButton().getButtonID() == 3){ + sh.sort(new SortALPHA()); + }else if(e.getButton().getButtonID() == 4){ + sh.sort(new SortAUTHOR()); + }else if(e.getButton().getButtonID() == 5){ + sh.sort(new SortPLAYED()); + }else if(e.getButton().getButtonID() == 6){ + sh.sort(new SortSCORE()); + } + + selected = 0; + sh.set(songs.indexOf(selectedToSong(selected))); + sh.play(); + } } if(e.getButton().getButtonID() == 0) @@ -334,23 +345,34 @@ public class MenuState extends GameState { //select g2.setColor(GameModel.colors[0]); - g2.fillOval(20, 860, 30, 30); - g2.drawString("Play", 55, 880); + g2.fillOval(20, 780, 30, 30); + g2.drawString("Play", 55, 800); //help g2.setColor(GameModel.colors[3]); - g2.fillOval(20, 900, 30, 30); - g2.drawString("Help", 55, 920); + g2.fillOval(20, 820, 30, 30); + g2.drawString("Help", 55, 840); //letters g2.setColor(GameModel.colors[1]); - g2.fillOval(20, 940, 30, 30); - g2.drawString("A-Z", 55, 960); + g2.fillOval(20, 860, 30, 30); + g2.drawString("A-Z", 55, 880); + + //most played + g2.setColor(GameModel.colors[2]); + g2.fillOval(20, 900, 30, 30); + g2.drawString("Author", 55, 920); //most played g2.setColor(GameModel.colors[4]); + g2.fillOval(20, 940, 30, 30); + g2.drawString("Most Played", 55, 960); + + //most played + g2.setColor(GameModel.colors[5]); g2.fillOval(20, 980, 30, 30); - g2.drawString("Most Played", 55, 1000); + g2.drawString("Highest Score", 55, 1000); + g2.dispose(); mainScreenBackground.createGraphics(); From fc86051f04447b4c8002206af2b530fb3bb5a702 Mon Sep 17 00:00:00 2001 From: Kenneth van Ewijk Date: Mon, 6 Jul 2015 17:00:02 +0200 Subject: [PATCH 3/7] Bugfixes --- model/gameState/PlayState.java | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/model/gameState/PlayState.java b/model/gameState/PlayState.java index bba92d1..bf9c29b 100644 --- a/model/gameState/PlayState.java +++ b/model/gameState/PlayState.java @@ -74,11 +74,6 @@ public class PlayState extends GameState { { p.getEnemysInPath().clear(); } - - for (int i = 1; i < ButtonHandler.getButtons().size(); i++) { - Button b = ButtonHandler.getButton(i); - b.setColor(Color.BLACK); - } ButtonHandler.getButton(1).setColor(sh.getCurrentSongInstance().getButtons().get(0).getColor()); @@ -158,7 +153,7 @@ public class PlayState extends GameState { } private void endGame() { - if(sh.getProgress()/1000 < 5000) + if(sh.getProgress()/1000 > 5000) { sql.addPlaydata(sh.getCurrentSong(), sh.getCurrentSongInstance(), sh.getProgress()/1000, enemies_missed, enemies_hit, buttons_pressed, joystick_moved); sh.getCurrentSongInstance().played(); From 803c0e170783cf32b4662bd0cc2f7de19171216a Mon Sep 17 00:00:00 2001 From: Kenneth van Ewijk Date: Mon, 6 Jul 2015 17:00:14 +0200 Subject: [PATCH 4/7] Added highest score --- audio/Song.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/audio/Song.java b/audio/Song.java index 6ec5a2c..c31fd34 100644 --- a/audio/Song.java +++ b/audio/Song.java @@ -165,4 +165,15 @@ public class Song implements Comparable{ } return timesPlayed; } + + public int getHighestScore() + { + int highest = 0; + for(SongInstance s : songs) + { + if(s.getHighestScore() > highest) + highest = s.getHighestScore(); + } + return highest; + } } From e64fc291fe8e4bddfbf35d92cb717845ee644170 Mon Sep 17 00:00:00 2001 From: Kenneth van Ewijk Date: Mon, 6 Jul 2015 17:00:17 +0200 Subject: [PATCH 5/7] Added highest score --- audio/SongInstance.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/audio/SongInstance.java b/audio/SongInstance.java index 472b29b..0be1dd6 100644 --- a/audio/SongInstance.java +++ b/audio/SongInstance.java @@ -7,6 +7,7 @@ public class SongInstance { private String difficulty; private int timesPlayed; + private int highestScore; private List objects; private List buttons; @@ -15,6 +16,7 @@ public class SongInstance { { this.difficulty = difficulty; this.timesPlayed = 0; + this.highestScore = 0; objects = new ArrayList(); buttons = new ArrayList(); @@ -94,6 +96,14 @@ public class SongInstance { this.timesPlayed = timesPlayed; } + public int getHighestScore() { + return highestScore; + } + + public void setHighestScore(int highestScore) { + this.highestScore = highestScore; + } + public void played() { timesPlayed++; From c111a52f5228e2ef2394a86fac1d51ac4124022b Mon Sep 17 00:00:00 2001 From: Kenneth van Ewijk Date: Mon, 6 Jul 2015 17:01:39 +0200 Subject: [PATCH 6/7] Sort on Author name A-Z --- audio/sorting/SortAUTHOR.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 audio/sorting/SortAUTHOR.java diff --git a/audio/sorting/SortAUTHOR.java b/audio/sorting/SortAUTHOR.java new file mode 100644 index 0000000..381e2dd --- /dev/null +++ b/audio/sorting/SortAUTHOR.java @@ -0,0 +1,14 @@ +package audio.sorting; + +import java.util.Comparator; + +import audio.Song; + +public class SortAUTHOR implements Comparator { + + @Override + public int compare(Song s1, Song s2) { + return s1.getAuthor().compareTo(s2.getAuthor()); + } + +} From 18d6a9dcbdbce89f1400d840b7ea13640e0173ee Mon Sep 17 00:00:00 2001 From: Kenneth van Ewijk Date: Mon, 6 Jul 2015 17:01:45 +0200 Subject: [PATCH 7/7] Sort on highest score --- audio/sorting/SortSCORE.java | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 audio/sorting/SortSCORE.java diff --git a/audio/sorting/SortSCORE.java b/audio/sorting/SortSCORE.java new file mode 100644 index 0000000..478eadd --- /dev/null +++ b/audio/sorting/SortSCORE.java @@ -0,0 +1,18 @@ +package audio.sorting; + +import java.util.Comparator; + +import audio.Song; + +public class SortSCORE implements Comparator { + + public int compare(Song s1, Song s2) { + if(s1.getHighestScore() < s2.getHighestScore()) + return 1; + else if(s1.getHighestScore() > s2.getHighestScore()) + return -1; + else + return s1.getTitle().compareTo(s2.getTitle()); + } + +}