diff --git a/ShootingStars/lib/sqlite-jdbc-3.7.2.jar b/ShootingStars/lib/sqlite-jdbc-3.7.2.jar new file mode 100644 index 0000000..b0bec7b Binary files /dev/null and b/ShootingStars/lib/sqlite-jdbc-3.7.2.jar differ diff --git a/ShootingStars/nbproject/project.properties b/ShootingStars/nbproject/project.properties index d35b777..c168e00 100644 --- a/ShootingStars/nbproject/project.properties +++ b/ShootingStars/nbproject/project.properties @@ -45,6 +45,7 @@ file.reference.jogg-0.0.7.jar=lib\\jogg-0.0.7.jar file.reference.jorbis-0.0.15.jar=lib\\jorbis-0.0.15.jar file.reference.mp3spi1.9.5.jar=lib\\mp3spi1.9.5.jar file.reference.platform-3.5.2.jar=lib\\platform-3.5.2.jar +file.reference.sqlite-jdbc-3.7.2.jar=lib\\sqlite-jdbc-3.7.2.jar file.reference.tritonus_aos-0.3.6.jar=lib\\tritonus_aos-0.3.6.jar file.reference.tritonus_jorbis-0.3.6.jar=lib\\tritonus_jorbis-0.3.6.jar file.reference.tritonus_share-0.3.6.jar=lib\\tritonus_share-0.3.6.jar @@ -85,7 +86,8 @@ javac.classpath=\ ${file.reference.wget-1.2.7.jar}:\ ${file.reference.xmlpull-1.1.3.1.jar}:\ ${file.reference.xpp3_min-1.1.4c.jar}:\ - ${file.reference.xstream-1.4.2.jar} + ${file.reference.xstream-1.4.2.jar}:\ + ${file.reference.sqlite-jdbc-3.7.2.jar} # Space-separated list of extra javac options javac.compilerargs= javac.deprecation=false diff --git a/ShootingStars/src/org/wyrez/shootingstars/ShootingStars.java b/ShootingStars/src/org/wyrez/shootingstars/ShootingStars.java index d3182cb..3e9661d 100644 --- a/ShootingStars/src/org/wyrez/shootingstars/ShootingStars.java +++ b/ShootingStars/src/org/wyrez/shootingstars/ShootingStars.java @@ -33,6 +33,9 @@ import org.wyrez.shootingstars.data.AudioDataManager; import org.wyrez.shootingstars.data.YTDownloader; import org.wyrez.shootingstars.factories.Materials; import org.wyrez.shootingstars.game.GameSettings; +import org.wyrez.shootingstars.gui.manager.HighscoreManager; +import org.wyrez.shootingstars.gui.manager.ScoreComparator; +import org.wyrez.shootingstars.io.SQLiteConnector; import org.wyrez.shootingstars.states.State; import org.wyrez.shootingstars.states.StateManager; import org.wyrez.shootingstars.states.util.OptionSettings; @@ -83,6 +86,9 @@ public class ShootingStars extends SimpleApplication { container.registerSingleton(OptionSettings.class, optionSettings); container.registerType(GameSettings.class, true); container.registerType(StateManager.class, true); + container.registerType(SQLiteConnector.class, true); + container.registerType(ScoreComparator.class, true); + container.registerType(HighscoreManager.class, true); container.registerType(Screen.class, true); container.registerType(AudioDataManager.class, true); container.registerType(YTDownloader.class); diff --git a/ShootingStars/src/org/wyrez/shootingstars/controls/StarPointControl.java b/ShootingStars/src/org/wyrez/shootingstars/controls/StarPointControl.java index 83fa74b..24f8553 100644 --- a/ShootingStars/src/org/wyrez/shootingstars/controls/StarPointControl.java +++ b/ShootingStars/src/org/wyrez/shootingstars/controls/StarPointControl.java @@ -16,6 +16,7 @@ */ package org.wyrez.shootingstars.controls; +import com.jme3.math.ColorRGBA; import com.jme3.scene.Spatial; import com.jme3.scene.control.Control; import org.wyrez.shootingstars.helper.UserDataKeys; @@ -27,19 +28,29 @@ import org.wyrez.shootingstars.helper.UserDataKeys; public class StarPointControl extends BaseControl { private int points = 100; //Todo Change StartPoint at Spawn - - public StarPointControl() { + private Spatial player; + private ColorRGBA starColor; + + public StarPointControl(Spatial player) { + this.player = player; } @Override protected void controlUpdate(float tpf) { if (spatial.getUserData(UserDataKeys.HITTED)) { - //Todo Check life time and set points + int pointsToAdd = Integer.parseInt(player.getUserData(UserDataKeys.POINTS).toString()) + points; + player.setUserData(UserDataKeys.POINTS, pointsToAdd); + } else { + points -= tpf / 2; + if(points < 75) { + starColor = new ColorRGBA(0.5f, 0.5f, 0.5f, 1f); + //Todo Set color to spatial + } } } public Control cloneForSpatial(Spatial spatial) { - StarPointControl control = new StarPointControl(); + StarPointControl control = new StarPointControl(player); spatial.addControl(control); return control; } diff --git a/ShootingStars/src/org/wyrez/shootingstars/gui/GameGUI.java b/ShootingStars/src/org/wyrez/shootingstars/gui/GameGUI.java index 9e390d3..f1308e8 100644 --- a/ShootingStars/src/org/wyrez/shootingstars/gui/GameGUI.java +++ b/ShootingStars/src/org/wyrez/shootingstars/gui/GameGUI.java @@ -25,6 +25,7 @@ import com.jme3.math.Vector2f; import com.jme3.scene.Spatial; import com.jme3.ui.Picture; import org.wyrez.shootingstars.gui.controls.ButtonBase; +import org.wyrez.shootingstars.gui.controls.GuiPlayerPointsControl; import org.wyrez.shootingstars.gui.controls.IndicatorBase; import org.wyrez.shootingstars.gui.listener.GameListener; import tonegod.gui.controls.buttons.Button; @@ -47,6 +48,8 @@ public class GameGUI extends Panel { private Picture picCrosshair; private Indicator indOverheat; private AssetManager assetManager; + private Spatial player; + private Label lblPoints; public GameGUI(Screen screen, GameListener listener, AssetManager assetManager) { super(screen, new Vector2f(0f, 0f), new Vector2f(1280f, 720f)); //create for full hd @@ -68,6 +71,9 @@ public class GameGUI extends Panel { float startPointOverheatx = 505f; float startPointOverheaty = 270f; + float startPointPointsx = 1100f; + float startPointPointsy = 25f; + float startPointYMenu = 200f; btnStart = new ButtonBase(screen, new Vector2f(startPointx, startPointy), @@ -112,21 +118,27 @@ public class GameGUI extends Panel { indOverheat = new IndicatorBase(screen, new Vector2f(startPointOverheatx, startPointOverheaty), new Vector2f(275f, 180f), Indicator.Orientation.VERTICAL); - indOverheat.setIndicatorColor(new ColorRGBA(0f, 0f, 1f, 0.5f)); + //indOverheat.setIndicatorColor(new ColorRGBA(0f, 0f, 1f, 0.5f)); indOverheat.setAlphaMap("Textures/Crosshair_AlphaMap.png"); indOverheat.setOverlayImage("Textures/Crosshair_OverlayImage.png"); - //indOverheat.setBaseImage("Textures/Crosshair_Overheat_Fog.png"); + indOverheat.setIndicatorImage("Textures/Crosshair_Overheat_Fog.png"); + + lblPoints = new Label(screen, new Vector2f(startPointPointsx, startPointPointsy), new Vector2f(275f, 180f)); + lblPoints.setFontColor(new ColorRGBA(1f, 0f, 0f, 1f)); + lblPoints.setFontSize(50f); this.addChild(btnStart); this.addChild(btnResume); this.addChild(btnMenu); this.addChild(indOverheat); this.addChild(plnCrosshair); + this.addChild(lblPoints); btnResume.hide(); btnMenu.hide(); picCrosshair.setCullHint(CullHint.Always); indOverheat.hide(); + lblPoints.hide(); } public void setStart() { @@ -135,6 +147,7 @@ public class GameGUI extends Panel { btnMenu.hide(); picCrosshair.setCullHint(CullHint.Inherit); indOverheat.show(); + lblPoints.show(); } public void setWait() { @@ -143,6 +156,7 @@ public class GameGUI extends Panel { btnMenu.hide(); picCrosshair.setCullHint(CullHint.Always); indOverheat.hide(); + lblPoints.hide(); } public void showMenu() { @@ -151,6 +165,7 @@ public class GameGUI extends Panel { btnMenu.show(); picCrosshair.setCullHint(CullHint.Always); indOverheat.hide(); + lblPoints.hide(); } public void resumeGame() { @@ -159,6 +174,7 @@ public class GameGUI extends Panel { btnMenu.hide(); picCrosshair.setCullHint(CullHint.Inherit); indOverheat.show(); + lblPoints.show(); } public void attach() { @@ -172,8 +188,17 @@ public class GameGUI extends Panel { public void updateOverhead(float percent) { indOverheat.setCurrentValue(percent); } + + public void setPoints(String points) { + lblPoints.setText(points); + } public void setMaxTimeToOverheat(float maxTimeToOverheat) { indOverheat.setMaxValue(maxTimeToOverheat); } + + public void setPlayer(Spatial player) { + this.player = player; + this.addControl(new GuiPlayerPointsControl(player, this)); + } } diff --git a/ShootingStars/src/org/wyrez/shootingstars/gui/HighscoreGUI.java b/ShootingStars/src/org/wyrez/shootingstars/gui/HighscoreGUI.java index 91934cd..5360a5f 100644 --- a/ShootingStars/src/org/wyrez/shootingstars/gui/HighscoreGUI.java +++ b/ShootingStars/src/org/wyrez/shootingstars/gui/HighscoreGUI.java @@ -21,6 +21,7 @@ import com.jme3.math.Vector2f; import java.util.List; import org.wyrez.shootingstars.gui.controls.ButtonBase; import org.wyrez.shootingstars.gui.listener.HighscoreListener; +import org.wyrez.shootingstars.gui.manager.HighscoreManager; import org.wyrez.shootingstars.gui.model.Score; import tonegod.gui.controls.buttons.Button; import tonegod.gui.controls.text.Label; @@ -34,14 +35,14 @@ import tonegod.gui.core.Screen; public class HighscoreGUI extends Panel implements Gui { private HighscoreListener listener; - //private HighscoreManager highscoreManager; + private HighscoreManager highscoreManager; - public HighscoreGUI(Screen screen, HighscoreListener listener) { + public HighscoreGUI(Screen screen, HighscoreListener listener, HighscoreManager highscoreManager) { super(screen, new Vector2f(0f, 0f), new Vector2f(1280f, 720f)); this.listener = listener; this.setIgnoreMouse(true); this.setIsVisible(false); - //highscoreManager = new HighscoreManager(); + this.highscoreManager = highscoreManager; create(); } @@ -57,27 +58,13 @@ public class HighscoreGUI extends Panel implements Gui { float startPointx = 32f; float startPointy = 18f; - //Only Test -// highscoreManager.addScore("Lied Name", "Chris", 50); -// highscoreManager.addScore("Lied Name", "Chris", 150); -// highscoreManager.addScore("Lied Name", "Chris", 250); -// highscoreManager.addScore("Lied Name", "Chris", 350); -// highscoreManager.addScore("Lied Name", "Chris", 450); -// highscoreManager.addScore("Lied Name", "Chris", 550); -// highscoreManager.addScore("Lied Name", "Chris", 650); -// highscoreManager.addScore("Lied Name", "Chris", 750); -// highscoreManager.addScore("Lied Name", "Chris", 850); -// highscoreManager.addScore("Lied Name", "Chris", 950); -// highscoreManager.updateScoreFile(); - - float marginScoreNameLeft = 14f; float marginScorePointsLeft = 300f; float marginScoreSongNameLeft = 600f; float marginScoreTop = 50f; - //List highscores = highscoreManager.getScores(); + List highscores = highscoreManager.getScores(); Label lblScoreNameHead = new Label(screen, new Vector2f(startPointx + marginScoreNameLeft, startPointy), new Vector2f(250f, 40f)); lblScoreNameHead.setText("Name"); @@ -88,22 +75,29 @@ public class HighscoreGUI extends Panel implements Gui { Label lblScoreSongNameHead = new Label(screen, new Vector2f(startPointx + marginScoreSongNameLeft, startPointy), new Vector2f(600f, 40f)); lblScoreSongNameHead.setText("Song Name"); -// for (int i = 0; i < 10; i++) { -// Score score = highscores.get(i); -// Label lblScoreName = new Label(screen, new Vector2f(startPointx + marginScoreNameLeft, startPointy + marginScoreTop), new Vector2f(250f, 40f)); -// lblScoreName.setText(score.getPlayerName()); -// -// Label lblScorePoints = new Label(screen, new Vector2f(startPointx + marginScorePointsLeft, startPointy + marginScoreTop), new Vector2f(250f, 40f)); -// lblScorePoints.setText(String.valueOf(score.getScore())); -// -// Label lblScoreSongName = new Label(screen, new Vector2f(startPointx + marginScoreSongNameLeft, startPointy + marginScoreTop), new Vector2f(600f, 40f)); -// lblScoreSongName.setText(score.getSongName()); -// -// this.addChild(lblScoreName); -// this.addChild(lblScorePoints); -// this.addChild(lblScoreSongName); -// marginScoreTop += 50f; -// } + int maxScores = 0; + if(highscores.size() > 10) { + maxScores = 10; + } else { + maxScores = highscores.size(); + } + + for (int i = 0; i < maxScores; i++) { + Score score = highscores.get(i); + Label lblScoreName = new Label(screen, new Vector2f(startPointx + marginScoreNameLeft, startPointy + marginScoreTop), new Vector2f(250f, 40f)); + lblScoreName.setText(score.getPlayerName()); + + Label lblScorePoints = new Label(screen, new Vector2f(startPointx + marginScorePointsLeft, startPointy + marginScoreTop), new Vector2f(250f, 40f)); + lblScorePoints.setText(String.valueOf(score.getScore())); + + Label lblScoreSongName = new Label(screen, new Vector2f(startPointx + marginScoreSongNameLeft, startPointy + marginScoreTop), new Vector2f(600f, 40f)); + lblScoreSongName.setText(score.getSongName()); + + this.addChild(lblScoreName); + this.addChild(lblScorePoints); + this.addChild(lblScoreSongName); + marginScoreTop += 50f; + } Button btnBack = new ButtonBase(screen, new Vector2f(startPointx + 1060f, startPointy + 622.8f), new Vector2f(153f, 40)) { @Override diff --git a/ShootingStars/src/org/wyrez/shootingstars/gui/controls/GuiPlayerPointsControl.java b/ShootingStars/src/org/wyrez/shootingstars/gui/controls/GuiPlayerPointsControl.java new file mode 100644 index 0000000..2d85bb7 --- /dev/null +++ b/ShootingStars/src/org/wyrez/shootingstars/gui/controls/GuiPlayerPointsControl.java @@ -0,0 +1,52 @@ +/* + * Copyright (C) 2013 Snowsun and contributors + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +package org.wyrez.shootingstars.gui.controls; + +import com.jme3.scene.Spatial; +import com.jme3.scene.control.Control; +import org.wyrez.shootingstars.controls.BaseControl; +import org.wyrez.shootingstars.gui.GameGUI; +import org.wyrez.shootingstars.helper.UserDataKeys; + +/** + * + * @author Snowsun + */ +public class GuiPlayerPointsControl extends BaseControl { + + private Spatial player; + private GameGUI gui; + + public GuiPlayerPointsControl(Spatial player, GameGUI gui) { + this.player = player; + this.gui = gui; + } + + @Override + protected void controlUpdate(float tpf) { + if(player.getUserData(UserDataKeys.POINTS) != null) { + gui.setPoints(player.getUserData(UserDataKeys.POINTS).toString()); + } + } + + public Control cloneForSpatial(Spatial spatial) { + GuiPlayerPointsControl control = new GuiPlayerPointsControl(player, gui); + spatial.addControl(control); + return control; + } + +} diff --git a/ShootingStars/src/org/wyrez/shootingstars/gui/manager/HighscoreManager.java b/ShootingStars/src/org/wyrez/shootingstars/gui/manager/HighscoreManager.java new file mode 100644 index 0000000..1327b4c --- /dev/null +++ b/ShootingStars/src/org/wyrez/shootingstars/gui/manager/HighscoreManager.java @@ -0,0 +1,77 @@ +/* + * Copyright (C) 2013 Rappold and contributors + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +package org.wyrez.shootingstars.gui.manager; + +/** + * + * @author Rappold + */ +import java.sql.Connection; +import java.sql.ResultSet; +import java.util.*; +import org.wyrez.shootingstars.gui.model.Score; +import org.wyrez.shootingstars.io.SQLiteConnector; + +public class HighscoreManager { + + private List scores; + private Connection connection; + private SQLiteConnector connector; + private ScoreComparator scoreComparator; + + public HighscoreManager(SQLiteConnector connector, ScoreComparator scoreComparator) { + this.connector = connector; + this.scoreComparator = scoreComparator; + connection = connector.initDBConnection(); + scores = new ArrayList(); + loadScoreFile(); + } + + public List getScores() { + sort(); + return scores; + } + + private void sort() { + Collections.sort(scores, scoreComparator); + } + + public void addScore(String songName, String name, int score) { + scores.add(new Score(songName, name, score)); + updateScoreFile(name, score, songName); + } + + private void loadScoreFile() { + try { + ResultSet rs = connector.excecuteQuery(connection, "SELECT * FROM Scores;"); + while (rs.next()) { + scores.add(new Score(rs.getString("SongName"), rs.getString("Name"), rs.getInt("Points"))); + } + rs.close(); + } catch (Exception ex) { + ex.printStackTrace(); + } + } + + private void updateScoreFile(String name, int score, String songName) { + try { + connector.excecuteUpdate(connection, "INSERT INTO Scores(Name,Points,SongName) values('" + name + "'," + score + ", '" + songName + "')"); + } catch (Exception ex) { + ex.printStackTrace(); + } + } +} \ No newline at end of file diff --git a/ShootingStars/src/org/wyrez/shootingstars/gui/manager/ScoreComparator.java b/ShootingStars/src/org/wyrez/shootingstars/gui/manager/ScoreComparator.java new file mode 100644 index 0000000..3252f51 --- /dev/null +++ b/ShootingStars/src/org/wyrez/shootingstars/gui/manager/ScoreComparator.java @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2013 Rappold and contributors + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +package org.wyrez.shootingstars.gui.manager; + +/** + * + * @author Rappold + */ +import java.util.Comparator; +import org.wyrez.shootingstars.gui.model.Score; + +public class ScoreComparator implements Comparator { + public int compare(Score score1, Score score2) { + + int sc1 = score1.getScore(); + int sc2 = score2.getScore(); + + if (sc1 > sc2){ + return -1; + }else if (sc1 < sc2){ + return +1; + }else{ + return 0; + } + } +} \ No newline at end of file diff --git a/ShootingStars/src/org/wyrez/shootingstars/helper/DisplayHelper.java b/ShootingStars/src/org/wyrez/shootingstars/helper/DisplayHelper.java index 3fe9565..2bb2c9e 100644 --- a/ShootingStars/src/org/wyrez/shootingstars/helper/DisplayHelper.java +++ b/ShootingStars/src/org/wyrez/shootingstars/helper/DisplayHelper.java @@ -32,9 +32,11 @@ public class DisplayHelper { List resolutions = new ArrayList(); for (DisplayMode mode : GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice().getDisplayModes()) { - String resolution = mode.getWidth() + " x " + mode.getHeight(); - if (!resolutions.contains(resolution)) { - resolutions.add(resolution); + if (mode.getWidth() >= 1024) { + String resolution = mode.getWidth() + " x " + mode.getHeight(); + if (!resolutions.contains(resolution)) { + resolutions.add(resolution); + } } } Collections.sort(resolutions); @@ -43,7 +45,7 @@ public class DisplayHelper { public static List getFrequencys() { List frequencys = new ArrayList(); - + for (DisplayMode mode : GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice().getDisplayModes()) { if (!frequencys.contains(String.valueOf(mode.getRefreshRate()))) { frequencys.add(String.valueOf(mode.getRefreshRate())); diff --git a/ShootingStars/src/org/wyrez/shootingstars/helper/UserDataKeys.java b/ShootingStars/src/org/wyrez/shootingstars/helper/UserDataKeys.java index e781c2e..f9942c5 100644 --- a/ShootingStars/src/org/wyrez/shootingstars/helper/UserDataKeys.java +++ b/ShootingStars/src/org/wyrez/shootingstars/helper/UserDataKeys.java @@ -25,4 +25,5 @@ public class UserDataKeys { public static final String HITTED = "isHitted"; public static final String SHOOTING = "isShooting"; public static final String RUNNING = "isRunning"; + public static final String POINTS = "points"; } diff --git a/ShootingStars/src/org/wyrez/shootingstars/io/SQLiteConnector.java b/ShootingStars/src/org/wyrez/shootingstars/io/SQLiteConnector.java new file mode 100644 index 0000000..acfb9c3 --- /dev/null +++ b/ShootingStars/src/org/wyrez/shootingstars/io/SQLiteConnector.java @@ -0,0 +1,83 @@ +/* + * Copyright (C) 2013 Rappold and contributors + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +package org.wyrez.shootingstars.io; + +/** + * + * @author Rappold + */ +import java.io.File; +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.ResultSet; +import java.sql.Statement; + +public class SQLiteConnector { + + private static final String DB_PATH = "scoresdb.db"; + + public SQLiteConnector() { + } + + public Connection initDBConnection() { + Connection connection = null; + boolean newFile = false; + try { + Class.forName("org.sqlite.JDBC"); + + String sqliteTable = "CREATE TABLE Scores (Name VARCHAR(250), Points INT(20), SongName VARCHAR(250))"; + File sQLiteDb = new File(DB_PATH); + if (!sQLiteDb.exists()) { + sQLiteDb.createNewFile(); + newFile = true; + } + + connection = DriverManager.getConnection("jdbc:sqlite:" + DB_PATH); + + if(newFile) { + Statement stmt = connection.createStatement(); + stmt.executeUpdate(sqliteTable); + } + return connection; + } catch (Exception ex) { + ex.printStackTrace(); + } + return null; + } + + public ResultSet excecuteQuery(Connection con, String query) { + ResultSet result = null; + try { + Statement stmt = con.createStatement(); + result = stmt.executeQuery(query); + } catch (Exception ex) { + ex.printStackTrace(); + } + return result; + } + + public int excecuteUpdate(Connection con, String query) { + int result = 0; + try { + Statement stmt = con.createStatement(); + result = stmt.executeUpdate(query); + } catch (Exception ex) { + ex.printStackTrace(); + } + return result; + } +} \ No newline at end of file diff --git a/ShootingStars/src/org/wyrez/shootingstars/states/GameState.java b/ShootingStars/src/org/wyrez/shootingstars/states/GameState.java index 3d79f8e..98c6fec 100644 --- a/ShootingStars/src/org/wyrez/shootingstars/states/GameState.java +++ b/ShootingStars/src/org/wyrez/shootingstars/states/GameState.java @@ -116,6 +116,8 @@ public class GameState extends AbstractAppState implements GameListener, ActionL player.addControl(new PlayerMoveControl(audioDataManager)); player.addControl(new PlayerShootControl(inputManager, gui)); player.addControl(new PlayerCamControl(camera)); + + gui.setPlayer(player); } private void setRunning(boolean running) { diff --git a/ShootingStars/src/org/wyrez/shootingstars/states/HighscoreState.java b/ShootingStars/src/org/wyrez/shootingstars/states/HighscoreState.java index ca86d99..6fd48fe 100644 --- a/ShootingStars/src/org/wyrez/shootingstars/states/HighscoreState.java +++ b/ShootingStars/src/org/wyrez/shootingstars/states/HighscoreState.java @@ -21,6 +21,7 @@ import com.jme3.app.state.AppStateManager; import org.wyrez.shootingstars.gui.Gui; import org.wyrez.shootingstars.gui.HighscoreGUI; import org.wyrez.shootingstars.gui.listener.HighscoreListener; +import org.wyrez.shootingstars.gui.manager.HighscoreManager; import tonegod.gui.core.Screen; /** @@ -30,11 +31,13 @@ import tonegod.gui.core.Screen; public class HighscoreState extends AbstractAppState implements HighscoreListener{ private StateManager stateManager; + private HighscoreManager highscoreManager; private Gui gui; - public HighscoreState(Screen screen, StateManager stateManager) { + public HighscoreState(Screen screen, StateManager stateManager, HighscoreManager highscoreManager) { this.stateManager = stateManager; - this.gui = new HighscoreGUI(screen, this); + this.highscoreManager = highscoreManager; + this.gui = new HighscoreGUI(screen, this, highscoreManager); } public void back() {