From bedd6899db8ea8592dc31c7eab1e2fa8dcca5245 Mon Sep 17 00:00:00 2001 From: Remco Date: Mon, 6 Jul 2015 16:55:15 +0200 Subject: [PATCH] If you not die you win --- control/GameStateManager.java | 6 +- data/io/SQLConnector.java | 2 - image/Images.java | 3 +- image/youwon.png | Bin 0 -> 1561 bytes model/gameState/EndState.java | 174 +++++++++++++++++++++++++++++++++ model/gameState/PlayState.java | 17 +++- 6 files changed, 192 insertions(+), 10 deletions(-) create mode 100644 image/youwon.png create mode 100644 model/gameState/EndState.java diff --git a/control/GameStateManager.java b/control/GameStateManager.java index f906d52..8ff3c5c 100644 --- a/control/GameStateManager.java +++ b/control/GameStateManager.java @@ -5,7 +5,7 @@ import java.util.ArrayList; import java.util.List; import model.SongHandler; -import model.gameState.GameOverState; +import model.gameState.EndState; import model.gameState.GameState; import model.gameState.HelpState; import model.gameState.MenuState; @@ -32,7 +32,7 @@ public class GameStateManager { MENU_STATE, HELP_STATE, PLAY_STATE, - GAMEOVER_STATE, + END_STATE, PRE_GAME_STATE } @@ -42,7 +42,7 @@ public class GameStateManager { gamestates.add(new MenuState(this, sh, sql)); gamestates.add(new HelpState(this, sh, sql)); gamestates.add(new PlayState(this, sh, sql)); - gamestates.add(new GameOverState(this, sh, sql)); + gamestates.add(new EndState(this, sh, sql)); gamestates.add(new PreGameState(this,sh, sql)); setState(State.TITLE_STATE); } diff --git a/data/io/SQLConnector.java b/data/io/SQLConnector.java index 1170ade..22a5ca0 100644 --- a/data/io/SQLConnector.java +++ b/data/io/SQLConnector.java @@ -8,8 +8,6 @@ import java.sql.Statement; import java.util.ArrayList; import java.util.List; -import com.sun.crypto.provider.RSACipher; - import model.objects.highscore.Highscore; import audio.Song; import audio.SongInstance; diff --git a/image/Images.java b/image/Images.java index 2ee2045..dfe010e 100644 --- a/image/Images.java +++ b/image/Images.java @@ -35,6 +35,7 @@ public class Images { images.add(toCompatibleImage(ImageIO.read(Main.class.getResource("/image/gameover.png")))); images.add(toCompatibleImage(ImageIO.read(Main.class.getResource("/image/screenshot.png")))); images.add(toCompatibleImage(ImageIO.read(Main.class.getResource("/image/help.png")))); + images.add(toCompatibleImage(ImageIO.read(Main.class.getResource("/image/youwon.png")))); } catch (IOException e) { e.printStackTrace(); } @@ -45,7 +46,7 @@ public class Images { } public enum ImageType { - pulse,cursor,pressstart,colorstrike,background,aanwijzers,kast,gameover, screenshot, help + pulse,cursor,pressstart,colorstrike,background,aanwijzers,kast,gameover, screenshot, help,youwon } public static BufferedImage readImage(File f) { diff --git a/image/youwon.png b/image/youwon.png new file mode 100644 index 0000000000000000000000000000000000000000..bf0c7b0df4968fdd02c0ca3f1a7bc138222e05f9 GIT binary patch literal 1561 zcmb7EdoR*}erB&(UpBPM2=L8E2Xkrc`%VTM?b z$SdU4a3-3;crK$xV-ZHnFvfe3_BXauyXWjb`^Wu$&;5MQ{oMPx=YDU(S!a6{Wo=~; z2&CfZfI0`(JChy$zQvm!Ocn8mL5J;6NHJQ5mL9+m; zMXwY3rCCo-694F~ce?AJ zvR{HReYTu)*gL^}^0z^(n}>*1Y{~l8R+CY%u&4?;T0dgJAB)D|!Td2ftmsGb97(m# zch5xy(%R3w#@+M{n%o>(5zT~HU0x~sWh#2==Z%NV^Z0nRbOv+`h#ifloV{qZVcz@! zQ=!Qi3=ivdMandHJP2L%okJ6$BZ5ar=8d;*k>p?Lsnn#v+-Z-dF8h(5UDZxK4P_;a zX9>mL5_9X7RWn(VsHjpt#>H~FyT=Q8KncRtoKKJ|kHk&lO1DE}eY&7M@(&(`Y+iG* zl)lS1X6Qu>l&aCA#v=9v&*!I_G0Oz@y2L3UK$CpDI7wSsZKpeA`LK1+a+VIk-Q=VP zla5;M?)c2FyaG?tC9Ehn59LoyK|WaESFFsomEd1!|QAb5^p`r)mMwK zx1&x6W_Hb~`)qA%o5#CD%np+e9og-Z_7NaAX!;37G>>uaZ;4(`5=yHVgAI$}va}aU zKqq|})Gt8U8%*Z5UQY^hAxZHAfnm&v9-Ow&@EwZ)AAC6>TC?O>nIXBxcOa3)PC5Nc z#Uzg}KGZ!*bH2n#a#Lv}ZzzsDiW&qLBXc?CdRY!boXgZ?%M@ZKAyHQ|&#YdJ_fLk09p=UMBn`d{tXrT|aAYcamxX5j~SAua7 z&ZPouC@1#s#f0_&8D0t4TTQGSzM=Y=>vne=-|)cme38x^z8O}hJU1^>Mf%=y6`{m; zd2M;^IvnpO=ZPIXX{4ahQ)ozLT^?nv>x~VBR4q?MLyA) z_7xdUj+3XumS}qu`BAwR>Q3mep4N@RTfX4MYF>whW@sO+JVOVC6?~;^@t^KSpHVe{ zBZv2?b@3V=M440Y+QvCKK$ft)TG{uC+UWkb&7FFJNap7tgiQ`kq zz?Af-HMY7L@W$8V{fNX6%KWLk+pb;RIemH=a+O*zdV6;+qPbt+)XfBr)FYyCzcqdPv0YR;-+Y`}N~BRQAB%n5tVC&>P;p_RSilvIcQ2Qhf5gPQipU>)uoe zp95$JH+gxmnLI&lT8F6zUa?wzJ_pRTTtawyMq+wlml3-@K&k)-(PdE#COtQ_sM>L( znJ;j{QB&YUNzoX=jbKWrkX8R@{dNw>V!t0C+`c4tUdW*W_|)`~oB7qBL?dZ``~ zWUUyhD9Od(`e@livev3XM)_n&Kw4^{)ixU&uD_ilQYK~c!H-c!xGPUw%8~~;+2+PngthIeXJ~4 zAau}v`|q)#to!fN<@JmC3Br_kL9kCdQd5*C!YK|V7Pjyu(Aqqqt= 3) + { + if(!uploaded){ + int id = sql.addHighscore(sh.getCurrentSong(), sh.getCurrentSongInstance(), hsn.getName(), PlayState.currentScore); + try { + WebcamUploader.takePictureAndUpload(id); + } catch (IOException e2) { + e2.printStackTrace(); + } + + try { + QRimage = WebcamUploader.createQRImage("http://portfolio.jancokock.me/colorstrike/message.php?id="+id, 400); + } catch (WriterException | IOException e1) { + e1.printStackTrace(); + } + uploaded = true; + + }else{ + gsm.setState(State.MENU_STATE); + } + } + break; + case 2: + gsm.setState(State.MENU_STATE); + break; + } + + + } + @Override + public void buttonReleased(ButtonEvent e) { + + } + @Override + public void onJoystickMoved(JoystickEvent e) { + switch(e.getJoystick().getPos()){ + case DOWN: + hsn.down(); + break; + case LEFT: + hsn.left(); + break; + case RIGHT: + hsn.right(); + break; + case UP: + hsn.up(); + break; + default: + break; + } + } + + public void createBackground(){ + background = Images.initVolatileImage(1280, 1024, Transparency.OPAQUE); + Graphics2D g2 = background.createGraphics(); + + RenderingHints rh = new RenderingHints(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); + g2.setRenderingHints(rh); + g2.setColor(new Color(1,1,1, 0.3f)); + g2.fillRect(0,0,1280,1024); + + g2.setColor(new Color(0,1,0, 0.7f)); + g2.fillRect(0,0,100,1024); + g2.fillRect(1180,0,100,1024); + + g2.setColor(new Color(1,1,0, 0.7f)); + g2.fillRect(100,0,100,1024); + g2.fillRect(1080,0,100,1024); + + g2.setColor(new Color(1,0,0, 0.7f)); + g2.fillRect(200,0,100,1024); + g2.fillRect(980,0,100,1024); + + g2.setColor(Color.BLACK); + g2.setFont(textFont); + + g2.drawString("High Score", 385, 212); + g2.drawString(InfoPanel.getTotalHighscore() + "", 390, 342); + g2.dispose(); + } +} diff --git a/model/gameState/PlayState.java b/model/gameState/PlayState.java index 8fceb93..f25d05d 100644 --- a/model/gameState/PlayState.java +++ b/model/gameState/PlayState.java @@ -45,6 +45,7 @@ public class PlayState extends GameState { private int joystick_moved = 0; private boolean init = false; + private static boolean won = false; private long oldProgress = 0; @@ -60,6 +61,7 @@ public class PlayState extends GameState { @Override public void init() { init = true; + won = false; lifePoints = 100; currentScore = 0; comboScore = 0; @@ -104,8 +106,11 @@ public class PlayState extends GameState { } - if(progress > sh.getCurrentSongInstance().getEndTime() + Enemy.secondsToEnd*1000*2) - endGame(); + if(progress > sh.getCurrentSongInstance().getEndTime() + Enemy.secondsToEnd*1000*2){ + won = true; + endGame(); + } + oldProgress = progress; @@ -157,7 +162,7 @@ public class PlayState extends GameState { } } - private void endGame() { + private void endGame() { if(sh.getProgress()/1000 > 5000) { sql.addPlaydata(sh.getCurrentSong(), sh.getCurrentSongInstance(), sh.getProgress()/1000, enemies_missed, enemies_hit, buttons_pressed, joystick_moved); @@ -167,7 +172,7 @@ public class PlayState extends GameState { if(currentScore == 0) gsm.setState(State.MENU_STATE); else - gsm.setState(State.GAMEOVER_STATE); + gsm.setState(State.END_STATE); } @Override @@ -290,5 +295,9 @@ public class PlayState extends GameState { Path path = area.paths.get(pathID); Enemy e = new Enemy(pathID, 1, color, path); path.getEnemysInPath().addLast(e); + } + + public static boolean won(){ + return won; } }