diff --git a/control/GameControl.java b/control/GameControl.java index 9c4356b..0197acc 100644 --- a/control/GameControl.java +++ b/control/GameControl.java @@ -26,7 +26,8 @@ public class GameControl implements JoystickListener, ButtonListener, ActionList this.gsm = gsm; view.setIgnoreRepaint(true); - (update = new Timer(1000/60,this)).start(); + update = new Timer(1000/60,this); + update.start(); } @Override diff --git a/control/GameStateManager.java b/control/GameStateManager.java index 6d38c53..c49cd7b 100644 --- a/control/GameStateManager.java +++ b/control/GameStateManager.java @@ -10,6 +10,7 @@ import model.gameState.GameState; import model.gameState.HelpState; import model.gameState.MenuState; import model.gameState.PlayState; +import model.gameState.PreGameState; import model.gameState.TitleState; import control.button.Button; import control.button.ButtonEvent; @@ -35,9 +36,10 @@ public class GameStateManager { MENU_STATE, HELP_STATE, PLAY_STATE, - GAMEOVER_STATE + GAMEOVER_STATE, + PRE_GAME_STATE } - + public GameStateManager(SongHandler sh, SQLConnector sql){ this.sh = sh; gamestates = new ArrayList<>(); @@ -46,6 +48,7 @@ public class GameStateManager { gamestates.add(new HelpState(this, sh, sql)); gamestates.add(new PlayState(this, sh, sql)); gamestates.add(new GameOverState(this, sh, sql)); + gamestates.add(new PreGameState(this,sh)); setState(State.TITLE_STATE); } diff --git a/image/Images.java b/image/Images.java index 1bbee3c..e23fd48 100644 --- a/image/Images.java +++ b/image/Images.java @@ -32,7 +32,8 @@ public class Images { images.add(toCompatibleImage(ImageIO.read(Main.class.getResource("/image/aanwijzers4sho.png")))); images.add(toCompatibleImage(ImageIO.read(Main.class.getResource("/image/kast.png")))); images.add(toCompatibleImage(ImageIO.read(Main.class.getResource("/image/gameover.png")))); - images.add(toCompatibleImage(ImageIO.read(Main.class.getResource("/image/gameover.png")))); // HELP, MAAR NOG GEEN JUIST PLAATJE + images.add(toCompatibleImage(ImageIO.read(Main.class.getResource("/image/help.png")))); // HELP, MAAR NOG GEEN JUIST PLAATJE + images.add(toCompatibleImage(ImageIO.read(Main.class.getResource("/image/screenshot.png")))); } catch (IOException e) { e.printStackTrace(); } @@ -43,9 +44,7 @@ public class Images { } public enum ImageType { - pulse, cursor, pressstart, - colorstrike, background, aanwijzers, - kast, gameover, help + pulse,cursor,pressstart,colorstrike,background,aanwijzers,kast,gameover,help, screenshot } public static BufferedImage readImage(File f) { diff --git a/image/screenshot.png b/image/screenshot.png new file mode 100644 index 0000000..c6465b4 Binary files /dev/null and b/image/screenshot.png differ diff --git a/model/gameState/MenuState.java b/model/gameState/MenuState.java index 3877dc1..83c9a37 100644 --- a/model/gameState/MenuState.java +++ b/model/gameState/MenuState.java @@ -170,7 +170,7 @@ public class MenuState extends GameState { } if(e.getButton().getButtonID() == 1){ sh.close(); - gsm.setState(control.GameStateManager.State.PLAY_STATE); + gsm.setState(control.GameStateManager.State.PRE_GAME_STATE); } }else{ //Screen for selecting song if(e.getButton().getButtonID() == 1){ diff --git a/model/gameState/PreGameState.java b/model/gameState/PreGameState.java new file mode 100644 index 0000000..c37f1bb --- /dev/null +++ b/model/gameState/PreGameState.java @@ -0,0 +1,96 @@ +package model.gameState; + +import image.Images; + +import java.awt.BasicStroke; +import java.awt.Color; +import java.awt.Font; +import java.awt.Graphics2D; +import java.awt.image.BufferedImage; + +import model.SongHandler; +import control.GameStateManager; +import control.button.ButtonEvent; +import control.joystick.JoystickEvent; + +public class PreGameState extends GameState { + + double index2 = 3; + double index = 3; + double timer; + int grootte = 150; + BasicStroke s = new BasicStroke(20); + + BufferedImage screenshot; + + public PreGameState(GameStateManager gsm, SongHandler sh) { + super(gsm, sh); + screenshot = Images.getImage(Images.ImageType.screenshot); + } + + @Override + public void init() { + + } + + @Override + public void update(float factor) { +// timer = timer +factor/1000; +// index -= timer; + index2 -= factor/1000; + index = (double) Math.round(index2*1000)/1000; + if(index <= 0){ + gsm.setState(control.GameStateManager.State.PLAY_STATE); + } + + if(grootte > 270) + grootte = 150; + grootte+=2; + } + + @Override + public void draw(Graphics2D g2) { + g2.drawImage(screenshot,0,0,1280,1024,null); + Font textFont = new Font("OCR A Extended", Font.BOLD,grootte); + g2.setFont(textFont); + g2.setStroke(s); + g2.setColor(Color.RED); + String text = "" + index; + int width = g2.getFontMetrics().stringWidth(text); + g2.drawString(text, 325, 400); + if(index < 1){ + text = "GO!!!"; +// width = g2.getFontMetrics().stringWidth("GO!!!"); +// g2.drawString("GO!!!",325,600); + } + else if (index < 2){ + text = "SET"; +// width = g2.getFontMetrics().stringWidth("SET"); +// g2.drawString("SET", 450,600); + } + else{ + text = "READY"; +// width = g2.getFontMetrics().stringWidth("READY"); +// g2.drawString("READY", 325, 600); + } + width = g2.getFontMetrics().stringWidth(text); + g2.drawString(text, (256+1024/2)-width/2, 600); + } + + + @Override + public void buttonPressed(ButtonEvent e) { + + } + + @Override + public void buttonReleased(ButtonEvent e) { + + } + + @Override + public void onJoystickMoved(JoystickEvent e) { + + } + +}