boolean eventHandeler(Graphics2D g2d) { if (keyboard.keyDownOnce(KeyEvent.VK_Q)) { window.setState(Frame.ICONIFIED); paused = true; } if (firstStartup) { g2d.setColor(Color.white); g2d.fill(new Rectangle(0, 0, width, height)); g2d.setFont(new Font("Courier New", Font.PLAIN, 20)); g2d.setColor(Color.black); switch (startupPage) { case 1: if (keyboard.keyDownOnce(KeyEvent.VK_SPACE)) startupPage = 2; g2d.drawString("The goal of this game is to kill as", 100, 170); g2d.drawString("many *zombies* as possible. You are", 100, 200); g2d.drawString("given weapons and power-ups to help", 100, 230); g2d.drawString("you succeed. Good luck.", 100, 260); g2d.setColor(Color.gray); g2d.drawString("Press SPACE to continue", 150, 330); g2d.drawString("Ø O O", 280, 290); g2d.setColor(Color.black); g2d.setFont(new Font("Courier New", Font.PLAIN, 34)); g2d.drawString("Story", 265, 110); break; case 2: if (keyboard.keyDownOnce(KeyEvent.VK_SPACE)) startupPage = 3; g2d.drawString("Use A,S,D,W to stear", 100, 170); g2d.drawString("Use 1,2,3,4 to change weapon", 100, 200); g2d.drawString("Use the MOUSE to aim", 100, 230); g2d.drawString("Use the LEFT MOUSE BUTTON to fire", 100, 260); g2d.setColor(Color.gray); g2d.drawString("Press SPACE to continue", 150, 330); g2d.drawString("O Ø O", 280, 290); g2d.setColor(Color.black); g2d.setFont(new Font("Courier New", Font.PLAIN, 34)); g2d.drawString("Controlls", 230, 110); break; case 3: if (keyboard.keyDownOnce(KeyEvent.VK_SPACE)) firstStartup = false; g2d.setColor(Color.black); g2d.draw(new Ellipse2D.Double(100, 170 - 15, 20, 20)); g2d.setColor(Color.red); g2d.draw(new Ellipse2D.Double(100, 200 - 15, 20, 20)); g2d.setColor(Color.blue); g2d.draw(new Ellipse2D.Double(100, 230 - 15, 20, 20)); g2d.setColor(Color.green); g2d.draw(new Ellipse2D.Double(100, 260 - 15, 20, 20)); g2d.setColor(Color.black); g2d.drawString("Is you", 130, 170); g2d.drawString("Heals you", 130, 200); g2d.drawString("Unlocks / upgrades a weapon", 130, 230); g2d.drawString("Causes an explosion around you", 130, 260); g2d.setColor(Color.gray); g2d.drawString("Press SPACE to start", 150, 330); g2d.drawString("O O Ø", 280, 290); g2d.setColor(Color.black); g2d.setFont(new Font("Courier New", Font.PLAIN, 34)); g2d.drawString("Power-ups", 230, 110); break; } return true; } if (player.isDead) { g2d.setColor(Color.white); g2d.fill(new Rectangle(0, 0, width, height)); if (keyboard.keyDownOnce(KeyEvent.VK_R)) restart(); if (newHighscore) { int x = 20; int y = 130; g2d.rotate(-.4, x, y); g2d.setFont(new Font("Comic Sans MS", Font.PLAIN, 40)); g2d.setColor(Color.black); Stroke oldStroke = g2d.getStroke(); float dash[] = {40.0f}; g2d.setStroke( new BasicStroke( 4.0f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND, 0.0f, dash, 40.0f)); g2d.drawRoundRect(x, y, 320, 75, 20, 20); g2d.setColor(Color.red); g2d.drawString(String.format("New Highscore"), x + 20, y + 50); g2d.rotate(.4, x, y); g2d.setStroke(oldStroke); g2d.setColor(Color.lightGray); g2d.setFont(new Font("Courier", Font.PLAIN, 20)); g2d.drawString("Your record was " + oldHighScore + " kills", 210, 260); } else if (cheated) { int x = 20; int y = 130; g2d.rotate(-.4, x, y); g2d.setFont(new Font("Comic Sans MS", Font.PLAIN, 40)); g2d.setColor(Color.black); Stroke oldStroke = g2d.getStroke(); float dash[] = {40.0f}; g2d.setStroke( new BasicStroke( 4.0f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND, 0.0f, dash, 40.0f)); g2d.drawRoundRect(x, y, 270, 75, 20, 20); g2d.setColor(Color.red); g2d.drawString(String.format("You cheated"), x + 20, y + 50); g2d.rotate(.4, x, y); g2d.setStroke(oldStroke); g2d.setColor(Color.lightGray); g2d.setFont(new Font("Courier", Font.PLAIN, 20)); g2d.drawString("Highscore not saved", 210, 260); } else { g2d.setColor(Color.lightGray); g2d.setFont(new Font("Courier", Font.PLAIN, 20)); g2d.drawString("Your record is " + oldHighScore + " kills", 210, 260); } g2d.setColor(Color.black); g2d.setFont(new Font("Courier", Font.PLAIN, 50)); if (player.score == 1) g2d.drawString(String.format(player.score + " kill"), 200, 230); else g2d.drawString(String.format(player.score + " kills"), 200, 230); g2d.setFont(new Font("Courier New", Font.PLAIN, 30)); g2d.setColor(Color.gray); g2d.drawString(String.format("Press R to restart"), 150, 330); return true; } if (window.isFocused() == false) paused = true; if (paused) { g2d.setColor(Color.white); g2d.fill(new Rectangle(0, 0, width, height)); if (keyboard.keyDownOnce(KeyEvent.VK_ESCAPE)) paused = false; g2d.setColor(Color.black); g2d.setFont(new Font("Courier", Font.PLAIN, 50)); g2d.drawString("Paused", 200, 230); g2d.setFont(new Font("Courier New", Font.PLAIN, 30)); g2d.setColor(Color.gray); g2d.drawString(String.format("Press ESC to resume"), 150, 330); return true; } return false; }
void inputListener() { if (keyboard.keyDown(KeyEvent.VK_W)) player.moveDir[1] = -1; else if (keyboard.keyDown(KeyEvent.VK_S)) player.moveDir[1] = 1; else player.moveDir[1] = 0; if (keyboard.keyDown(KeyEvent.VK_A)) player.moveDir[0] = -1; else if (keyboard.keyDown(KeyEvent.VK_D)) player.moveDir[0] = 1; else player.moveDir[0] = 0; if (keyboard.keyDown(KeyEvent.VK_1)) player.SetWeapon(1); if (keyboard.keyDown(KeyEvent.VK_2)) player.SetWeapon(2); if (keyboard.keyDown(KeyEvent.VK_3)) player.SetWeapon(3); if (keyboard.keyDown(KeyEvent.VK_4)) player.SetWeapon(4); if (keyboard.keyDown(KeyEvent.VK_5)) player.SetWeapon(5); if (keyboard.keyDown(KeyEvent.VK_6)) player.SetWeapon(6); if (keyboard.keyDown(KeyEvent.VK_7)) player.SetWeapon(7); if (keyboard.keyDown(KeyEvent.VK_8)) player.SetWeapon(8); if (keyboard.keyDown(KeyEvent.VK_9)) player.SetWeapon(9); if (keyboard.keyDownOnce(KeyEvent.VK_Z)) { if (showDebug) showDebug = false; else showDebug = true; } if (keyboard.keyDownOnce(KeyEvent.VK_F9)) { cheated = true; player.health = 1000000; } if (keyboard.keyDownOnce(KeyEvent.VK_F10)) { cheated = true; player.unlockWeapon(2, true); player.unlockWeapon(3, true); player.unlockWeapon(4, true); } if (keyboard.keyDownOnce(KeyEvent.VK_F11)) { cheated = true; player.upgradeWeapon(1, 1); player.upgradeWeapon(2, 1); player.upgradeWeapon(3, 1); player.upgradeWeapon(4, 1); } if (keyboard.keyDown(KeyEvent.VK_F12)) { cheated = true; player.score = (int) (player.score + 1 / delta); } if (keyboard.keyDownOnce(KeyEvent.VK_MINUS)) if (difficulty < 19) difficulty = difficulty + 1; if (keyboard.keyDownOnce(KeyEvent.VK_BACK_SLASH)) if (difficulty > 1) difficulty = difficulty - 1; if (keyboard.keyDownOnce(KeyEvent.VK_ESCAPE)) paused = true; if (keyboard.keyDownOnce(KeyEvent.VK_M)) if (removeMode) removeMode = false; else removeMode = true; if (mouse.buttonDown(1)) player.Shoot(mouse.getPosition().getX() - xOffset, mouse.getPosition().getY() - yOffset); }