From 1a3f2cbc178fcf08c7d5d356e6923add0b0dc0dd Mon Sep 17 00:00:00 2001 From: Dofensmirtsz Date: Fri, 12 Jun 2015 14:37:01 +0200 Subject: [PATCH] getters gemaakt voor time,name, en score in highscore. weergeven van highscores in menustate, geeft niks weer omdat de database leeg is. --- data/io/.gitignore | 1 + model/gameState/MenuState.java | 50 ++++++++++++++++++++++++++++++++-- model/objects/Highscore.java | 17 ++++++++++++ 3 files changed, 65 insertions(+), 3 deletions(-) create mode 100644 data/io/.gitignore diff --git a/data/io/.gitignore b/data/io/.gitignore new file mode 100644 index 0000000..aeea058 --- /dev/null +++ b/data/io/.gitignore @@ -0,0 +1 @@ +/SQLConnector.class diff --git a/model/gameState/MenuState.java b/model/gameState/MenuState.java index 34105f2..51d834a 100644 --- a/model/gameState/MenuState.java +++ b/model/gameState/MenuState.java @@ -14,11 +14,13 @@ import java.awt.Transparency; import java.awt.image.BufferedImage; import java.awt.image.VolatileImage; import java.util.ArrayList; +import java.util.Date; import java.util.List; import model.GameModel; import model.SongHandler; import model.objects.DifficultyButton; +import model.objects.Highscore; import model.objects.MenuButton; import audio.Song; import audio.SongInstance; @@ -37,6 +39,7 @@ public class MenuState extends GameState { private ArrayList buttons2; private int selected, oldselected; private List songs; + SQLConnector sql = new SQLConnector(); private int animationcounter; private boolean subscreen, startanimation; @@ -345,11 +348,52 @@ public class MenuState extends GameState { g2.drawString(selectedToSong(selected).getTitle(), 30, 60); + + + List highscores = sql.getHighscore(selectedToSong(selected), sh.getCurrentSong().getSongs().get(difSelect)); + List dailyHighs = new ArrayList(); + int highest = 0; + int oldHighest = 0; + + Date date = new Date(); + int time = date.getDay(); + int dailyHighest = 0; + int oldDailyHighest = 0; + + + String name = ""; + String dailyName = ""; + + for(Highscore h:highscores){ + + oldHighest = h.getScore(); + if(oldHighest > highest){ + highest = oldHighest; + name = h.getName(); + } + + + if(time == h.getDate().getDay()) + dailyHighs.add(h); + for(int i = 0; i < dailyHighs.size(); i ++){ + oldDailyHighest = dailyHighs.get(i).getDate().getDay(); + if(oldDailyHighest > dailyHighest){ + dailyHighest = oldDailyHighest; + dailyName = h.getName(); + } + } + } + + g2.setColor(Color.WHITE); g2.drawString("Author: " + selectedToSong(selected).getAuthor(), 30, 200); - g2.drawString("Overall Highscore: " + "", 30, 300); - g2.drawString("Daily Highscore: " + "", 30, 400); - g2.drawString("Personal Highscore: " + "", 30, 500); + g2.drawString("Overall Highscore: " + highest , 30, 300); + g2.drawString("Overall Highscore by: " + name, 30, 400); + g2.drawString("Daily Highscore: " + dailyHighest, 30, 500); + g2.drawString("Daily Highscore by: : " + dailyName, 30, 600); + + + for(DifficultyButton b : buttons2){ b.draw(g2); diff --git a/model/objects/Highscore.java b/model/objects/Highscore.java index f34b115..761f40a 100644 --- a/model/objects/Highscore.java +++ b/model/objects/Highscore.java @@ -1,5 +1,7 @@ package model.objects; +import java.util.Date; + import audio.SongInstance; public class Highscore { @@ -14,4 +16,19 @@ public class Highscore { this.score = score; this.time = time; } + + public int getScore() { + return score; + } + + public long getTime(){ + return time; + } + public Date getDate(){ + return new Date(getTime()); + } + + public String getName(){ + return name; + } }