From cce3c22deb383ef664ce07fb0e14a6254b9855ac Mon Sep 17 00:00:00 2001 From: Daniel Date: Mon, 8 Jun 2015 14:51:12 +0200 Subject: [PATCH] Added Game Over State --- image/gameover.png | Bin 0 -> 1315 bytes model/gameState/GameOverState.java | 101 +++++++++++++++++++++++++++++ 2 files changed, 101 insertions(+) create mode 100644 image/gameover.png create mode 100644 model/gameState/GameOverState.java diff --git a/image/gameover.png b/image/gameover.png new file mode 100644 index 0000000000000000000000000000000000000000..9e737b4e2374b0eaf9bbc468bf28d0ed83445c5d GIT binary patch literal 1315 zcmeAS@N?(olHy`uVBq!ia0vp^CxBRrgAGW2S|_{ z4D?J>Ta8kI=1lQ)aSW-5dpq-DU$iBUvvKT~g-8GWe}ArP+e_`sB}E(0vi(+IJT9hr zio=LmgKKQA&-vCe&)N9Oc87iM&lXwUsNDkLmp|Z>ns(Y%!EehY{tabL##cZB*EY}j zCj3IUkZJdKrgsYxZBJ+VzpzZ>tG&h^W+>-)_|)e)mCphfPpm#2aG&YtK67v54ZCW; zt+;q%Z|aKo2V_mw=(2m?7v;}p4%xSz=d0|F=C;yPHeWB4um8G7TKV!?@B59`84=6R z823x{-Z2(tI_WJRakPTv><;x=3(Mq6KV;w8|8nLTrsra3s`I`HpSig8;?lY9vU|RM zUMiFIu3@J0{H-4^-8*hSKkN0v_xIKp{$F;Sr(EQmtY-TxYX{>i=N9wz-H+!`DSvck zjnb0`>mO)Wt8Gp+T2YfP`6^oB{`Y6k7a!-jUpj+F>wa|GFTOjRAk{nOSumDgfVh9| zgZ{dGiW6F{SKaHK`10D)_Xp-au>b#;yYb0V{xwN9O>9$b&jwh7+z!+)cH;Zqu$#$j zW%9Arub@E!^j*Ns*_K}-rTeWjp4>A62WiMR6X#spFL$$T-yb_s^7;}em_cH1ZL&;? z&iinv=+`EQ_8<4RTe9TLBA|Ca)T`EAFrLYqHf6>9!bP_`i&F}G-rBr+@OHlbb0gz+ zyX?nH_x9J@UA^XffA6>bU4{P_07F6Mj7FgRZ=h3`sQVesUZhdBCQ`&TUG%!WC-zwdwLlqSaa9>+6&v@15?Ts_f9WBmZ z0p%{=@$=cj={;3ISD%->dNcS=j4d!|-giuX!B_fC#5~-8>*p1s=cF&(Ts-Yg&Mc0V z{41B=s$3;|CdFiPW6!fA#rZ(~K_55cuG6`4RVP<$e=9NLWQJRz<=2pC{=F$8?@~+_ z@0bI2e$!5-_y|{z+6ddMs#Tla-=2{CcE#P`dQZi#X|LV{S{Jq1e&w8g)8@;O%#w@x z)@^eV{c8`UURk_s`L0I0Z0CD$u2uCFu`@Fh^UJ~te>k7reXDZJ|nqj zp-0+m;j=5w%@Znp{kvQEuGbvR=ED#b_db2*W%l%+?>1mZbmy literal 0 HcmV?d00001 diff --git a/model/gameState/GameOverState.java b/model/gameState/GameOverState.java new file mode 100644 index 0000000..7dbb805 --- /dev/null +++ b/model/gameState/GameOverState.java @@ -0,0 +1,101 @@ +package model.gameState; + +import image.Images; +import image.Images.ImageType; + +import java.awt.Color; +import java.awt.Font; +import java.awt.Graphics2D; +import java.awt.RenderingHints; +import java.awt.Transparency; +import java.awt.image.BufferedImage; +import java.awt.image.VolatileImage; + +import model.SongHandler; +import model.objects.InfoPanel; +import control.GameStateManager; +import control.GameStateManager.State; +import control.button.ButtonEvent; +import control.joystick.JoystickEvent; + +public class GameOverState extends GameState { + + BufferedImage gameOver = Images.getImage(ImageType.gameover); + VolatileImage background; + Font textFont = new Font("OCR A Extended", Font.BOLD, 70); + + + private String endScore = ""; + + int frame; + + public GameOverState(GameStateManager gsm, SongHandler sh) { + super(gsm, sh); + createBackground(); + } + + @Override + public void init() { + } + + @Override + public void update(float factor) { + + frame++; + } + + @Override + public void draw(Graphics2D g2) { + g2.drawImage(background, 0, 0, 1280, 1024, null); + int image_x = ((frame / 5) % 5) * 40; + g2.drawImage(gameOver.getSubimage(image_x, 0, 40, 26), 640-122, 512, 245, 130, null); + + 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(); + background.createGraphics(); + } + + @Override + public void buttonPressed(ButtonEvent e) { + + switch(e.getButton().getButtonID()){ + case 0: + gsm.setState(State.MENU_STATE); + break; + } + + + } + @Override + public void buttonReleased(ButtonEvent e) { + + } + @Override + public void onJoystickMoved(JoystickEvent e) { + } + + public void createBackground(){ + background = Images.initVolatileImage(1280, 1024, Transparency.OPAQUE); + Graphics2D g2 = background.createGraphics(); + } +}