Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- SneakyLunatic69's Wave Survival Beta 1.2.0 Source Code!
- ____________________________________________________________________________________________________________________________
- --Game.java--
- ____________________________________________________________________________________________________________________________
- package com.wave.main;
- import java.awt.Canvas;
- import java.awt.Color;
- import java.awt.Graphics;
- import java.awt.image.BufferStrategy;
- import java.util.Random;
- public class Game extends Canvas implements Runnable {
- private static final long serialVersionUID = -726038495289796084L;
- public static final int WIDTH = 720, HEIGHT = WIDTH / 12 * 9;
- public static int Trail = 1;
- private Thread thread;
- private boolean running = false;
- private Random r;
- private Handler handler;
- private HUD hud;
- private Spawn spawner;
- private Menu menu;
- private Help help;
- private Shop shop;
- private Gameover gameover;
- public enum STATE {
- Menu,
- PreMenu,
- Game,
- Pause,
- Help,
- Shop,
- Gameover;
- }
- public static STATE gameState = STATE.Menu;
- public Game() {
- handler = new Handler();
- menu = new Menu(handler);
- help = new Help(handler);
- shop = new Shop();
- gameover = new Gameover();
- this.addKeyListener(new KeyInput(handler));
- this.addMouseListener(menu);
- this.addMouseListener(help);
- new Window(WIDTH, HEIGHT, "Wave Survival BETA 1.2.0", this);
- hud = new HUD(handler);
- spawner = new Spawn(handler, hud);
- r = new Random();
- if(gameState == STATE.Game) {
- handler.addObject(new Player( Game.WIDTH/2 - 16, Game.HEIGHT/2, ID.Player, handler));
- }else{
- for(int i = 0; i < 25; i++) {
- handler.addObject(new MenuParticle(r.nextInt(Game.WIDTH), r.nextInt(Game.HEIGHT), ID.MenuParticle, handler));
- }
- Gameover.Money = 0;
- }
- }
- public synchronized void start() {
- thread = new Thread(this);
- thread.start();
- running = true;
- }
- public synchronized void stop() {
- try{
- thread.join();
- running = false;
- }
- catch(Exception e){
- e.printStackTrace();
- }
- }
- public void run() {
- //Game Loop
- this.requestFocus();
- long lastTime = System.nanoTime();
- double amountOfTicks = 60.0;
- double ns = 1000000000 / amountOfTicks;
- double delta = 0;
- int frames = 0;
- long timer = System.currentTimeMillis();
- while(running) {
- long now = System.nanoTime();
- delta += (now - lastTime) / ns;
- lastTime = now;
- while(delta >= 1) {
- tick();
- delta--;
- }
- if(running)
- render();
- frames++;
- if(System.currentTimeMillis() - timer > 1000) {
- timer += 1000;
- System.out.println("FPS: " + frames);
- frames = 0;
- }
- }
- stop();
- }
- private void tick(){
- if(gameState == STATE.Game) {
- handler.tick();
- spawner.tick();
- hud.tick();
- }
- else if (gameState == STATE.Pause) {
- hud.tick();
- }
- else if(gameState == STATE.Menu) {
- menu.tick();
- handler.tick();
- }
- else if(gameState == STATE.Help) {
- help.tick();
- handler.tick();
- }
- else if(gameState == STATE.Shop) {
- shop.tick();
- handler.tick();
- }
- else if(gameState == STATE.PreMenu) {
- hud.tick();
- }
- else if(gameState == STATE.Gameover) {
- gameover.tick();
- handler.tick();
- }
- }
- private void render(){
- BufferStrategy bs = this.getBufferStrategy();
- if(bs == null){
- this.createBufferStrategy(3);
- return;
- }
- Graphics g = bs.getDrawGraphics();
- g.setColor(Color.black);
- g.fillRect(0, 0, WIDTH, HEIGHT);
- handler.render(g);
- if(gameState == STATE.Game) {
- hud.render(g);
- }
- else if(gameState == STATE.Pause) {
- hud.render(g);
- g.setColor(Color.white);
- g.drawString("Paused", WIDTH/2 - 24, HEIGHT/2);
- g.drawString("Press P to unpause", WIDTH/2 - 60, HEIGHT/2 + 16);
- }
- else if(gameState == STATE.Menu) {
- menu.render(g);
- }
- else if(gameState == STATE.Help) {
- help.render(g);
- }
- else if(gameState == STATE.Shop) {
- shop.render(g);
- }
- else if(gameState == STATE.Gameover) {
- gameover.render(g);
- }
- else if(gameState == STATE.PreMenu) {
- hud.render(g);
- g.setColor(Color.darkGray);
- g.fillRoundRect(180, 220, 350, 150, 90, 90);
- g.setColor(Color.lightGray);
- g.fillRoundRect(185, 225, 340, 140, 90, 90);
- g.setColor(Color.black);
- g.drawRoundRect(185, 225, 340, 140, 90, 90);
- g.setColor(Color.black);
- g.drawString("Are you sure you want to proceed to the menu?", WIDTH/2 - 134, HEIGHT/2);
- g.drawString("This will end your current game.", WIDTH/2 - 92, HEIGHT/2 + 18);
- g.drawString("Press 'Backspace' to go back to the game.", WIDTH/2 - 120, HEIGHT/2 + 36);
- g.drawString("Press 'Enter' to go to the menu.", WIDTH/2 - 90, HEIGHT/2 + 54);
- }
- g.dispose();
- bs.show();
- }
- public static float clamp(float var, float min, float max) {
- if(var >= max) {
- return var = max;
- }
- else if(var <= min) {
- return var = min;
- }
- else {
- return var;
- }
- }
- public static void main(String args[]) {
- new Game();
- }
- }
- ____________________________________________________________________________________________________________________________
- --Window.java--
- ____________________________________________________________________________________________________________________________
- package com.wave.main;
- import java.awt.Canvas;
- import java.awt.Dimension;
- import javax.swing.JFrame;
- public class Window extends Canvas {
- private static final long serialVersionUID = 7091006469336366864L;
- public Window(int width, int height, String title, Game game){
- JFrame frame = new JFrame(title);
- frame.setPreferredSize(new Dimension(width, height));
- frame.setMaximumSize(new Dimension(width, height));
- frame.setMinimumSize(new Dimension(width, height));
- frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- frame.setResizable(false);
- frame.setLocationRelativeTo(null);
- frame.add(game);
- frame.setVisible(true);
- game.start();
- }
- }
- ____________________________________________________________________________________________________________________________
- --GameObject.java--
- ____________________________________________________________________________________________________________________________
- package com.wave.main;
- import java.awt.Graphics;
- import java.awt.Rectangle;
- public abstract class GameObject {
- protected float x,y;
- protected ID id;
- protected float velX, velY;
- public GameObject(float x, float y, ID id){
- this.x = x;
- this.y = y;
- this.id = id;
- }
- public abstract void tick();
- public abstract void render(Graphics g);
- public abstract Rectangle getBounds();
- public void setX(int x){
- this.x = x;
- }
- public void setY(int y){
- this.y = y;
- }
- public float getX(){
- return x;
- }
- public float getY(){
- return y;
- }
- public void setID(ID id){
- this.id = id;
- }
- public ID getId(){
- return id;
- }
- public void setVelX(int velX){
- this.velX = velX;
- }
- public void setVelY(int velY){
- this.velY = velY;
- }
- public float getVelX(){
- return velX;
- }
- public float getVelY(){
- return velY;
- }
- }
- ____________________________________________________________________________________________________________________________
- --Handler.java--
- ____________________________________________________________________________________________________________________________
- package com.wave.main;
- import java.awt.Graphics;
- import java.util.LinkedList;
- public class Handler {
- LinkedList<GameObject> object = new LinkedList<GameObject>();
- public void tick(){
- for(int i = 0; i < object.size(); i++){
- GameObject tempObject = object.get(i);
- tempObject.tick();
- }
- }
- public void render(Graphics g){
- for(int i = 0; i < object.size(); i++){
- GameObject tempObject = object.get(i);
- tempObject.render(g);
- }
- }
- public void addObject(GameObject object){
- this.object.add(object);
- }
- public void removeObject(GameObject object){
- this.object.remove(object);
- }
- }
- ____________________________________________________________________________________________________________________________
- --Spawn.java--
- ____________________________________________________________________________________________________________________________
- package com.wave.main;
- import java.util.Random;
- public class Spawn {
- public Handler handler;
- @SuppressWarnings("unused")
- private HUD hud;
- private Random r;
- public static int needLevel = 1;
- private int rndH;
- private int rndW;
- public Spawn(Handler handler, HUD hud) {
- this.handler = handler;
- this.hud = hud;
- }
- public void tick() {
- r = new Random();
- rndW = r.nextInt(Game.WIDTH);
- rndH = r.nextInt(Game.HEIGHT);
- if(rndW >= 680) rndW -= 250;
- if(rndW <= 120) rndW += 250;
- //110 - 480
- if(rndH >= 480) rndH -= 180;
- if(rndH <= 110) rndH += 180;
- //System.out.println("Width: " + rndW);
- //System.out.println("Height: " + rndH);
- //Enemies
- if (HUD.level >= needLevel) {
- if(needLevel == 5 || needLevel == 15 || needLevel == 25 || needLevel == 30) {
- handler.addObject(new FastEnemy(rndW, rndH, ID.FastEnemy, handler));
- needLevel++;
- }
- else if(needLevel == 10 || needLevel == 20) {
- handler.addObject(new SmartEnemy(rndW, rndH, ID.SmartEnemy, handler));
- needLevel++;
- }
- else {
- handler.addObject(new BasicEnemy(rndW, rndH, ID.BasicEnemy, handler));
- needLevel++;
- }
- }
- //Points
- if (HUD.score >= HUD.scoreNeed2) {
- HUD.scoreNeed2+=100;
- handler.addObject(new Point(rndW + 25, rndH - 14, ID.Point, handler));
- }
- //Health Pickups
- if (HUD.score >= HUD.healthNeed) {
- handler.addObject(new HealthPickup(rndW, rndH, ID.HealthPickup, handler));
- HUD.healthNeed+=2500;
- }
- }
- }
- ____________________________________________________________________________________________________________________________
- --Trail.java--
- ____________________________________________________________________________________________________________________________
- package com.wave.main;
- import java.awt.AlphaComposite;
- import java.awt.Color;
- import java.awt.Graphics;
- import java.awt.Graphics2D;
- import java.awt.Rectangle;
- public class Trail extends GameObject{
- private float alpha = 1;
- private float life;
- private Handler handler;
- private Color color;
- private int width, height;
- public Trail(float x, float y, ID id, Color color, int width, int height,float life, Handler handler){
- super(x, y, id);
- this.handler = handler;
- this.color = color;
- this.width = width;
- this.height = height;
- this.life = life;
- }
- public void tick(){
- if(alpha >= life){
- alpha -= (life - 0.0001);
- }else handler.removeObject(this);
- }
- public void render(Graphics g){
- Graphics2D g2d = (Graphics2D) g;
- g2d.setComposite(makeTransparent(alpha));
- g.setColor(color);
- g.fillRect((int)x,(int) y, width, height);
- g2d.setComposite(makeTransparent(1));
- }
- private AlphaComposite makeTransparent(float alpha){
- int type = AlphaComposite.SRC_OVER;
- return(AlphaComposite.getInstance(type, alpha));
- }
- public Rectangle getBounds() {
- return null;
- }
- }
- ____________________________________________________________________________________________________________________________
- --BasicEnemy.java--
- ____________________________________________________________________________________________________________________________
- package com.wave.main;
- import java.awt.Color;
- import java.awt.Graphics;
- import java.awt.Rectangle;
- public class BasicEnemy extends GameObject{
- private Handler handler;
- public BasicEnemy(int x, int y, ID id, Handler handler) {
- super(x, y, id);
- this.handler = handler;
- velX = 3;
- velY = 3;
- }
- public Rectangle getBounds() {
- return new Rectangle((int)x,(int)y,16, 16);
- }
- public void tick() {
- x += velX;
- y += velY;
- if(y <= 110 || y >= Game.HEIGHT - 48) velY *= -1;
- if(x <= 0 || x >= Game.WIDTH - 16) velX *= -1;
- if(Game.Trail == 1) handler.addObject(new Trail(x, y, ID.Trail, Color.red, 16, 16, 0.05f, handler));
- }
- public void render(Graphics g) {
- g.setColor(Color.red);
- g.fillRect((int)x,(int)y, 16, 16);
- }
- }
- ____________________________________________________________________________________________________________________________
- --FastEnemy.java--
- ____________________________________________________________________________________________________________________________
- package com.wave.main;
- import java.awt.Color;
- import java.awt.Graphics;
- import java.awt.Rectangle;
- public class FastEnemy extends GameObject {
- private Handler handler;
- public FastEnemy(int x, int y, ID id, Handler handler) {
- super(x, y, id);
- this.handler = handler;
- velX = 7;
- velY = 7;
- }
- public Rectangle getBounds() {
- return new Rectangle((int)x,(int)y,16, 16);
- }
- public void tick() {
- x += velX;
- y += velY;
- if(y <= 110 || y >= Game.HEIGHT - 48) velY *= -1;
- if(x <= 0 || x >= Game.WIDTH - 16) velX *= -1;
- if(Game.Trail == 1) handler.addObject(new Trail(x, y, ID.Trail, Color.cyan, 16, 16, 0.10f, handler));
- }
- public void render(Graphics g) {
- g.setColor(Color.cyan);
- g.fillRect((int)x,(int)y, 16, 16);
- }
- }
- ____________________________________________________________________________________________________________________________
- --SmartEnemy.java--
- ____________________________________________________________________________________________________________________________
- package com.wave.main;
- import java.awt.Color;
- import java.awt.Graphics;
- import java.awt.Rectangle;
- public class SmartEnemy extends GameObject{
- private Handler handler;
- private GameObject player;
- public SmartEnemy(int x, int y, ID id, Handler handler){
- super(x,y,id);
- this.handler = handler;
- for(int i = 0; i < handler.object.size(); i++ ){
- if(handler.object.get(i).getId() == ID.Player) player = handler.object.get(i);
- }
- }
- public Rectangle getBounds(){
- return new Rectangle((int) x,(int) y, 16, 16);
- }
- public void tick(){
- x += velX;
- y += velY;
- float diffX = x - player.getX() - 16;
- float diffY = y - player.getY() - 16;
- float distance = (float) Math.sqrt((x-player.getX())*(x-player.getX())+(y-player.getY())*(y-player.getY()));
- velX = ((-1 / distance) * diffX);
- velY = ((-1 / distance) * diffY);
- if(Game.Trail == 1) handler.addObject(new Trail( x, y, ID.Trail, new Color(139, 69, 19), 16, 16, 0.02f,handler));
- }
- public void render(Graphics g){
- g.setColor(new Color(139, 69, 19));
- g.fillRect((int)x,(int)y,16,16);
- }
- }
- ____________________________________________________________________________________________________________________________
- --Point.java--
- ____________________________________________________________________________________________________________________________
- package com.wave.main;
- import java.awt.Color;
- import java.awt.Graphics;
- import java.awt.Rectangle;
- import java.util.Random;
- public class Point extends GameObject {
- Random r = new Random();
- Handler handler;
- public Point(float x, float y, ID id, Handler handler) {
- super(x, y, id);
- this.handler = handler;
- }
- public Rectangle getBounds() {
- return new Rectangle((int)x, (int)y, 16, 16);
- }
- public void tick() {
- }
- public void render(Graphics g) {
- g.setColor(Color.yellow);
- g.fillRect((int)x,(int)y, 16, 16);
- }
- }
- ____________________________________________________________________________________________________________________________
- --HealthPickup.java--
- ____________________________________________________________________________________________________________________________
- package com.wave.main;
- import java.awt.Color;
- import java.awt.Graphics;
- import java.awt.Rectangle;
- import java.util.Random;
- public class HealthPickup extends GameObject{
- Random r = new Random();
- Handler handler;
- public HealthPickup(float x, float y, ID id, Handler handler) {
- super(x, y, id);
- this.handler = handler;
- }
- public Rectangle getBounds() {
- return new Rectangle((int)x, (int)y, 16, 16);
- }
- public void tick() {
- }
- public void render(Graphics g) {
- g.setColor(Color.green);
- g.fillRect((int)x,(int)y, 16, 16);
- }
- }
- ____________________________________________________________________________________________________________________________
- --MenuParticle.java--
- ____________________________________________________________________________________________________________________________
- package com.wave.main;
- import java.awt.Color;
- import java.awt.Graphics;
- import java.awt.Rectangle;
- import java.util.Random;
- public class MenuParticle extends GameObject {
- private Handler handler;
- private Random r = new Random();
- private Color col = new Color(r.nextInt(255), r.nextInt(255), r.nextInt(255));
- public MenuParticle(int x, int y, ID id, Handler handler) {
- super(x, y, id);
- this.handler = handler;
- velX = 3;
- velY = 5;
- }
- public Rectangle getBounds() {
- return new Rectangle((int)x,(int)y,16, 16);
- }
- public void tick() {
- x += velX;
- y += velY;
- if(y <= 0 || y >= Game.HEIGHT - 48) velY *= -1;
- if(x <= 0 || x >= Game.WIDTH - 16) velX *= -1;
- if(Game.Trail == 1) handler.addObject(new Trail(x, y, ID.Trail, col, 16, 16, 0.02f, handler));
- }
- public void render(Graphics g) {
- g.setColor(col);
- g.fillRect((int)x,(int)y, 16, 16);
- }
- }
- ____________________________________________________________________________________________________________________________
- --ID.java--
- ____________________________________________________________________________________________________________________________
- package com.wave.main;
- public enum ID {
- Player(),
- BasicEnemy(),
- FastEnemy(),
- SmartEnemy(),
- Point(),
- HealthPickup(),
- MenuParticle(),
- Trail();
- }
- ____________________________________________________________________________________________________________________________
- --Player.java--
- ____________________________________________________________________________________________________________________________
- package com.wave.main;
- import java.awt.Color;
- import java.awt.Graphics;
- import java.awt.Rectangle;
- import java.util.Random;
- public class Player extends GameObject {
- Random r = new Random();
- Handler handler;
- public Player(int x, int y, ID id, Handler handler) {
- super(x, y, id);
- this.handler = handler;
- }
- public Rectangle getBounds() {
- return new Rectangle((int)x, (int)y, 32, 32);
- }
- public void tick() {
- x += velX;
- y += velY;
- //System.out.println("x: " + x);
- //System.out.println("y: " + y);
- x = Game.clamp(x, 0, Game.WIDTH - 38);
- y = Game.clamp(y, 110, Game.HEIGHT - 61);
- collision();
- }
- private void collision() {
- for(int i = 0; i < handler.object.size(); i++) {
- GameObject tempObject = handler.object.get(i);
- if(tempObject.getId() == ID.BasicEnemy || tempObject.getId() == ID.FastEnemy || tempObject.getId() == ID.SmartEnemy) {
- if(getBounds().intersects(tempObject.getBounds())) {
- //collision code
- HUD.HEALTH-=100;
- }
- }
- if(tempObject.getId() == ID.Point) {
- if(getBounds().intersects(tempObject.getBounds())) {
- HUD.score+=100;
- handler.removeObject(handler.object.get(i));
- }
- }
- if(tempObject.getId() == ID.HealthPickup) {
- if(getBounds().intersects(tempObject.getBounds())) {
- HUD.HEALTH+=2000;
- handler.removeObject(handler.object.get(i));
- }
- }
- }
- }
- public void render(Graphics g) {
- g.setColor(Color.white);
- g.fillRect((int)x,(int)y, 32, 32);
- }
- }
- ____________________________________________________________________________________________________________________________
- --HUD.java--
- ____________________________________________________________________________________________________________________________
- package com.wave.main;
- import java.awt.Color;
- import java.awt.Graphics;
- import java.util.Random;
- public class HUD {
- private Handler handler;
- private Random r = new Random();
- public static int HEALTH = 10000;
- private int redValue = 255;
- private int greenValue = 255;
- public static int score = 0;
- public static int scoreNeed = 1000;
- public static int scoreNeed2 = 0;
- public static int healthNeed = 2500;
- public static int level = 1;
- public HUD(Handler handler) {
- this.handler = handler;
- r = new Random();
- }
- public void tick() {
- HEALTH = (int) Game.clamp(HEALTH, 0, 10000);
- greenValue = (int) Game.clamp(greenValue, 0, 255);
- greenValue = (HEALTH * 2) / 100;
- redValue = 255 - greenValue;
- if(HEALTH == 0){
- Game.gameState = Game.STATE.Gameover;
- while(!handler.object.isEmpty()) {
- handler.object.removeFirst();
- }
- for(int i = 0; i < 25; i++) {
- handler.addObject(new MenuParticle(r.nextInt(Game.WIDTH), r.nextInt(Game.HEIGHT), ID.MenuParticle, handler));
- }
- }
- if(Game.gameState == Game.STATE.Game) {
- score+=1;
- scoreNeed2+=1;
- HEALTH++;
- }
- if(score >= scoreNeed) {
- level++;
- scoreNeed += 1000;
- }
- }
- public void render(Graphics g) {
- //HUD Bar
- g.setColor(Color.darkGray);
- g.fillRect(0, 0, Game.WIDTH, 110);
- g.setColor(Color.gray);
- g.fillRect(0, 0, Game.WIDTH, 105);
- g.setColor(Color.black);
- g.drawRect(-1, 0, Game.WIDTH, 105);
- g.setColor(Color.lightGray);
- g.fillRect(0, 0, Game.WIDTH, 100);
- g.setColor(Color.black);
- g.drawRect(-1, -1, Game.WIDTH, 100);
- //Health Bar BG Shadow
- g.setColor(Color.black);
- g.fillRect(20, 20, 209, 33);
- //Health Bar BG
- g.setColor(Color.gray);
- g.fillRect(16, 16, 208, 32);
- //Health Bar BG Outline
- g.setColor(Color.darkGray);
- g.drawRect(16, 16, 208, 32);
- //Health Bar
- g.setColor(new Color(redValue, greenValue, 0));
- g.fillRect(20, 20, (HEALTH * 2) / 100, 24);
- //Health Bar Outline
- g.setColor(Color.black);
- g.drawRect(20, 20, (HEALTH * 2) / 100, 24);
- //Score and Level Text
- g.setColor(Color.black);
- g.drawString("Score: " + score, 16, 70);
- g.drawString("Level: " + level, 16, 82);
- //Player Info
- g.setColor(Color.black);
- g.drawString("Player: ", 280, 16);
- g.setColor(Color.white);
- g.fillRect(340, 30, 32, 32);
- g.setColor(Color.black);
- g.drawRect(340, 30, 32, 32);
- //Collect Info
- g.setColor(Color.black);
- g.drawString("Collect: ", 420, 16);
- g.setColor(Color.yellow);
- g.fillRect(460, 30, 16, 16);
- g.setColor(Color.black);
- g.drawRect(460, 30, 16, 16);
- g.setColor(Color.green);
- g.fillRect(500, 30, 16, 16);
- g.setColor(Color.black);
- g.drawRect(500, 30, 16, 16);
- //Avoid Info
- g.setColor(Color.black);
- g.drawString("Avoid: ", 560, 16);
- g.setColor(Color.red);
- g.fillRect(580, 30, 16, 16);
- g.setColor(Color.black);
- g.drawRect(580, 30, 16, 16);
- g.setColor(Color.cyan);
- g.fillRect(620, 30, 16, 16);
- g.setColor(Color.black);
- g.drawRect(620, 30, 16, 16);
- g.setColor(new Color(139, 69, 19));
- g.fillRect(660, 30, 16, 16);
- g.setColor(Color.black);
- g.drawRect(660, 30, 16, 16);
- }
- }
- ____________________________________________________________________________________________________________________________
- --KeyInput.java--
- ____________________________________________________________________________________________________________________________
- package com.wave.main;
- import java.awt.event.KeyAdapter;
- import java.awt.event.KeyEvent;
- import java.util.Random;
- public class KeyInput extends KeyAdapter{
- private Handler handler;
- private Random r = new Random();
- private boolean[] keyDown = new boolean[4];
- public KeyInput(Handler handler){
- this.handler = handler;
- r = new Random();
- keyDown[0] = false;
- keyDown[1] = false;
- keyDown[2] = false;
- keyDown[3] = false;
- }
- public void keyPressed(KeyEvent e){
- int key = e.getKeyCode();
- for(int i = 0; i < handler.object.size(); i++){
- GameObject tempObject = handler.object.get(i);
- if(tempObject.getId() == ID.Player){
- //key events for Player1
- if(key == KeyEvent.VK_W || key == KeyEvent.VK_UP) { tempObject.setVelY(-5); keyDown[0] = true; } //UP
- if(key == KeyEvent.VK_S || key == KeyEvent.VK_DOWN) { tempObject.setVelY(5); keyDown[1] = true;} //DOWN
- if(key == KeyEvent.VK_D || key == KeyEvent.VK_RIGHT) { tempObject.setVelX(5); keyDown[2] = true;} //RIGHT
- if(key == KeyEvent.VK_A || key == KeyEvent.VK_LEFT) { tempObject.setVelX(-5); keyDown[3] = true;} //LEFT
- }
- }
- //Exit
- if(key == KeyEvent.VK_ESCAPE) System.exit(1);
- //Trail Toggle
- if(Game.Trail == 1) {
- if(key == KeyEvent.VK_T) Game.Trail = 0;
- }
- else {
- if(key == KeyEvent.VK_T) Game.Trail = 1;
- }
- //Enter Menu
- if(Game.gameState != Game.STATE.Menu || Game.gameState != Game.STATE.Help || Game.gameState != Game.STATE.Shop || Game.gameState != Game.STATE.PreMenu || Game.gameState != Game.STATE.Gameover) {
- if(Game.gameState == Game.STATE.Game) {
- if(key == KeyEvent.VK_M) Game.gameState = Game.STATE.PreMenu;
- }
- if(Game.gameState == Game.STATE.PreMenu) {
- if(key == KeyEvent.VK_BACK_SPACE) {
- Game.gameState = Game.STATE.Game;
- }
- if(key == KeyEvent.VK_ENTER) {
- Game.gameState = Game.STATE.Menu;
- while(!handler.object.isEmpty()) {
- handler.object.removeFirst();
- }
- for(int i = 0; i < 25; i++) {
- handler.addObject(new MenuParticle(r.nextInt(Game.WIDTH), r.nextInt(Game.HEIGHT), ID.MenuParticle, handler));
- }
- HUD.HEALTH=10000;
- HUD.score = 0;
- HUD.scoreNeed = 1000;
- HUD.scoreNeed2 = 0;
- HUD.healthNeed = 2500;
- HUD.level = 1;
- Spawn.needLevel = 1;
- }
- }
- }
- //Pause
- if(Game.gameState != Game.STATE.Menu || Game.gameState != Game.STATE.Help || Game.gameState != Game.STATE.Shop || Game.gameState != Game.STATE.PreMenu || Game.gameState != Game.STATE.Gameover) {
- if(Game.gameState == Game.STATE.Game) {
- if(key == KeyEvent.VK_P) { Game.gameState = Game.STATE.Pause;
- key = KeyEvent.CHAR_UNDEFINED;
- }
- }
- }
- if (Game.gameState == Game.STATE.Pause) {
- if(key == KeyEvent.VK_P) Game.gameState = Game.STATE.Game;
- }
- //Gameover
- if (Game.gameState == Game.STATE.Gameover) {
- if(key == KeyEvent.VK_ENTER) {
- Game.gameState = Game.STATE.Menu;
- HUD.HEALTH=10000;
- HUD.score = 0;
- HUD.scoreNeed = 1000;
- HUD.scoreNeed2 = 0;
- HUD.healthNeed = 2500;
- HUD.level = 1;
- Spawn.needLevel = 1;
- Gameover.moneyCalc = false;
- }
- }
- }
- public void keyReleased(KeyEvent e){
- int key = e.getKeyCode();
- for(int i = 0; i < handler.object.size(); i++){
- GameObject tempObject = handler.object.get(i);
- if(tempObject.getId() == ID.Player){
- if(key == KeyEvent.VK_W || key == KeyEvent.VK_UP) keyDown[0] = false; //tempObject.setVelY(0); //UP
- if(key == KeyEvent.VK_S || key == KeyEvent.VK_DOWN) keyDown[1] = false; //tempObject.setVelY(0); //DOWN
- if(key == KeyEvent.VK_D || key == KeyEvent.VK_RIGHT) keyDown[2] = false; //tempObject.setVelX(0); //RIGHT
- if(key == KeyEvent.VK_A || key == KeyEvent.VK_LEFT) keyDown[3] = false; //tempObject.setVelX(0); //LEFT
- //Vertical Movement
- if(!keyDown[0] && !keyDown[1]) tempObject.setVelY(0);
- //Horizontal Movement
- if(!keyDown[2] && !keyDown[3]) tempObject.setVelX(0);
- }
- }
- }
- }
- ____________________________________________________________________________________________________________________________
- --Menu.java--
- ____________________________________________________________________________________________________________________________
- package com.wave.main;
- import java.awt.Color;
- import java.awt.Font;
- import java.awt.Graphics;
- import java.awt.event.MouseAdapter;
- import java.awt.event.MouseEvent;
- public class Menu extends MouseAdapter {
- private Handler handler;
- public Menu(Handler handler) {
- this.handler = handler;
- }
- public void mousePressed(MouseEvent e) {
- int mx = e.getX();
- int my = e.getY();
- //Play
- if(Game.gameState == Game.STATE.Menu) {
- if(mouseOver(mx, my, Game.WIDTH/2 -100, 140, 200, 64)) {
- Game.gameState = Game.STATE.Game;
- while(!handler.object.isEmpty()) {
- handler.object.removeFirst();
- }
- handler.addObject(new Player( Game.WIDTH/2 - 16, Game.HEIGHT/2, ID.Player, handler));
- }
- if(mouseOver(mx, my,Game.WIDTH/2 -100, 220, 200, 64)) {
- Game.gameState = Game.STATE.Help;
- }
- //Quit
- if(mouseOver(mx, my, Game.WIDTH/2 -100, 300, 200, 64)) {
- System.exit(1);
- }
- //Shop
- if(mouseOver(mx, my, Game.WIDTH/2 -100, 300, 200, 64)) {
- }
- }
- }
- public void mouseReleased(MouseEvent e) {
- }
- private boolean mouseOver(int mx, int my, int x, int y, int width, int height){
- if(mx > x && mx < x + width){
- if(my > y && my < y + height){
- return true;
- }else return false;
- }else return false;}
- public void tick() {
- }
- public void render(Graphics g) {
- Font ArialS = new Font("arial", 1, 25);
- Font ArialL = new Font("arial", 1, 50);
- //BG
- g.setColor(Color.darkGray);
- g.fillRoundRect(186, 28, 350, 440, 150, 150);
- g.setColor(Color.lightGray);
- g.fillRoundRect(190, 32, 340, 430, 150, 150);
- g.setColor(Color.black);
- g.drawRoundRect(190, 32, 340, 430, 150, 150);
- //Title
- g.setFont(ArialS);
- g.drawString("Wave Survival Beta 1.2.0", Game.WIDTH/2 - 148, 80);
- g.setFont(ArialL);
- g.drawString("Menu", Game.WIDTH/2 - 64, 130);
- //Start
- g.setColor(Color.green);
- g.fillRoundRect(Game.WIDTH/2 -100, 140, 200, 64, 75, 150);
- g.setColor(Color.black);
- g.drawRoundRect(Game.WIDTH/2 -100, 140, 200, 64, 75, 150);
- g.drawString("Start", Game.WIDTH/2 - 58, 188);
- //Help
- g.setColor(Color.blue);
- g.fillRoundRect(Game.WIDTH/2 -100, 220, 200, 64, 75, 150);
- g.setColor(Color.black);
- g.drawRoundRect(Game.WIDTH/2 -100, 220, 200, 64, 75, 150);
- g.drawString("Help", Game.WIDTH/2 - 52, 268);
- //Quit
- g.setColor(Color.red);
- g.fillRoundRect(Game.WIDTH/2 -100, 300, 200, 64, 75, 150);
- g.setColor(Color.black);
- g.drawRoundRect(Game.WIDTH/2 -100, 300, 200, 64, 75, 150);
- g.drawString("Quit", Game.WIDTH/2 - 50, 348);
- //Shop
- /* g.setColor(Color.yellow);
- * g.fillRoundRect(Game.WIDTH/2 -100, 380, 200, 64, 75, 150);
- * g.setColor(Color.black);
- * g.drawRoundRect(Game.WIDTH/2 -100, 380, 200, 64, 75, 150);
- * g.drawString("Shop", Game.WIDTH/2 - 62, 428);
- */
- //Coming Soon for Shop
- g.setColor(Color.black);
- g.fillRoundRect(Game.WIDTH/2 -100, 380, 200, 64, 75, 150);
- g.drawRoundRect(Game.WIDTH/2 -100, 380, 200, 64, 75, 150);
- g.setColor(Color.white);
- g.setFont(ArialS);
- g.drawString("Coming Soon", Game.WIDTH/2 - 78, 422);
- //Credits
- g.drawString("Created By: SneakyLunatic69", Game.WIDTH/2 - 170, 496);
- }
- }
- ____________________________________________________________________________________________________________________________
- --Help.java--
- ____________________________________________________________________________________________________________________________
- package com.wave.main;
- import java.awt.Color;
- import java.awt.Font;
- import java.awt.Graphics;
- import java.awt.event.MouseAdapter;
- import java.awt.event.MouseEvent;
- public class Help extends MouseAdapter {
- @SuppressWarnings("unused")
- private Handler handler;
- public Help(Handler handler) {
- this.handler = handler;
- }
- public void mousePressed(MouseEvent e) {
- int mx = e.getX();
- int my = e.getY();
- //Go Back to Menu
- if(Game.gameState == Game.STATE.Help) {
- if(mouseOver(mx, my, Game.WIDTH/2 + 50, 380, 270, 78)) {
- Game.gameState = Game.STATE.Menu;
- }
- }
- }
- public void mouseReleased(MouseEvent e) {
- }
- private boolean mouseOver(int mx, int my, int x, int y, int width, int height){
- if(mx > x && mx < x + width){
- if(my > y && my < y + height){
- return true;
- }else return false;
- }else return false;}
- public void tick() {
- }
- public void render(Graphics g) {
- Font ArialS = new Font("arial", 1, 20);
- Font ArialM = new Font("arial", 1, 25);
- Font ArialL = new Font("arial", 1, 50);
- //Titles
- g.setFont(ArialL);
- g.setColor(Color.white);
- g.drawString("Objective:", 10, 50);
- g.drawString("Controls:", 10, 250);
- //Objective Info
- g.setFont(ArialM);
- g.drawString("Survive the onslaught of enemies flying across the screen!", 10, 100);
- g.drawString("Collect yellow coins to increase your score.", 10, 130);
- g.setFont(ArialS);
- g.drawString("Collect green health power-ups to regenerate health and survive longer!", 10, 160);
- //Controls Info
- g.setFont(ArialM);
- g.drawString("WASD or Arrow Keys: Move Around!", 10, 300);
- g.drawString("T: Toggle Enemy trails.", 10, 330);
- g.drawString("P: Pause/Unpause the game.", 10, 360);
- g.drawString("Esc: Exit the Game.", 10, 390);
- g.drawString("M: Go to the Menu.", 10, 420);
- g.setFont(ArialL);
- g.setColor(Color.blue);
- g.fillRoundRect(Game.WIDTH/2 + 50, 380, 270, 78, 75, 150);
- g.setColor(Color.white);
- g.drawRoundRect(Game.WIDTH/2 + 50, 380, 270, 78, 75, 150);
- g.setColor(Color.black);
- g.drawString("Go Back", Game.WIDTH/2 + 78, 436);
- }
- }
- ____________________________________________________________________________________________________________________________
- --Gameover.java--
- ____________________________________________________________________________________________________________________________
- package com.wave.main;
- import java.awt.Color;
- import java.awt.Font;
- import java.awt.Graphics;
- public class Gameover {
- public static int Money;
- public static int moneyEarned;
- public static boolean moneyCalc = false;
- public Gameover() {
- }
- public void tick() {
- if(moneyCalc == false) {
- Money = Money + (HUD.score / 1000) + HUD.level;
- moneyCalc = true;
- }
- moneyEarned = (HUD.score / 1000) + HUD.level;
- }
- public void render(Graphics g) {
- Font ArialS = new Font("arial", 1, 25);
- Font ArialM = new Font("arial", 1, 35);
- Font ArialL = new Font("arial", 1, 50);
- g.setFont(ArialL);
- g.setColor(Color.black);
- g.drawString("Gameover", Game.WIDTH/2 - 123, 100);
- g.setColor(Color.red);
- g.drawString("Gameover", Game.WIDTH/2 - 125, 98);
- g.setFont(ArialM);
- g.setColor(Color.black);
- g.drawString("Press Enter to return to Menu.", Game.WIDTH/2 - 245, 480);
- g.setColor(Color.red);
- g.drawString("Press Enter to return to Menu", Game.WIDTH/2 - 247, 478);
- g.setFont(ArialS);
- g.setColor(Color.white);
- g.drawString("Score: ", Game.WIDTH/2 - 100, 150);
- g.drawString(String.valueOf(HUD.score), Game.WIDTH/2 + 20, 150);
- g.drawString("Level: ", Game.WIDTH/2 - 100, 190);
- g.drawString(String.valueOf(HUD.level), Game.WIDTH/2 + 50, 190);
- g.drawString("Money Earned: ", Game.WIDTH/2 - 125, 350);
- g.drawString(String.valueOf(moneyEarned), Game.WIDTH/2 + 90, 350);
- g.drawString("Money Total: ", Game.WIDTH/2 - 125, 380);
- g.drawString(String.valueOf(Money), Game.WIDTH/2 + 90, 380);
- }
- }
- ____________________________________________________________________________________________________________________________
- --Shop.java--
- ____________________________________________________________________________________________________________________________
- package com.wave.main;
- import java.awt.Graphics;
- public class Shop {
- public Shop() {
- }
- public void tick() {
- }
- public void render(Graphics g) {
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement