Advertisement
SneakyLunatic69

Wave Survival Beta 1.2.0

Aug 1st, 2015
145
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 37.35 KB | None | 0 0
  1. SneakyLunatic69's Wave Survival Beta 1.2.0 Source Code!
  2.  
  3. ____________________________________________________________________________________________________________________________
  4. --Game.java--
  5. ____________________________________________________________________________________________________________________________
  6.  
  7. package com.wave.main;
  8.  
  9. import java.awt.Canvas;
  10. import java.awt.Color;
  11. import java.awt.Graphics;
  12. import java.awt.image.BufferStrategy;
  13. import java.util.Random;
  14.  
  15. public class Game extends Canvas implements Runnable {
  16.     private static final long serialVersionUID = -726038495289796084L;
  17.  
  18.     public static final int WIDTH = 720, HEIGHT = WIDTH / 12 * 9;
  19.    
  20.     public static int Trail = 1;
  21.    
  22.     private Thread thread;
  23.     private boolean running = false;
  24.     private Random r;
  25.    
  26.     private Handler handler;
  27.     private HUD hud;
  28.     private Spawn spawner;
  29.     private Menu menu;
  30.     private Help help;
  31.     private Shop shop;
  32.     private Gameover gameover;
  33.    
  34.     public enum STATE {
  35.         Menu,
  36.         PreMenu,
  37.         Game,
  38.         Pause,
  39.         Help,
  40.         Shop,
  41.         Gameover;
  42.     }
  43.    
  44.     public static STATE gameState = STATE.Menu;
  45.    
  46.     public Game() {
  47.         handler = new Handler();
  48.         menu = new Menu(handler);
  49.         help = new Help(handler);
  50.         shop = new Shop();
  51.         gameover = new Gameover();
  52.         this.addKeyListener(new KeyInput(handler));
  53.         this.addMouseListener(menu);
  54.         this.addMouseListener(help);
  55.        
  56.         new Window(WIDTH, HEIGHT, "Wave Survival BETA 1.2.0", this);
  57.        
  58.         hud = new HUD(handler);
  59.         spawner = new Spawn(handler, hud);
  60.        
  61.         r = new Random();
  62.        
  63.         if(gameState == STATE.Game) {
  64.             handler.addObject(new Player( Game.WIDTH/2 - 16, Game.HEIGHT/2, ID.Player, handler));
  65.         }else{
  66.             for(int i = 0; i < 25; i++) {
  67.                 handler.addObject(new MenuParticle(r.nextInt(Game.WIDTH), r.nextInt(Game.HEIGHT), ID.MenuParticle, handler));
  68.             }
  69.             Gameover.Money = 0;
  70.            
  71.         }
  72.        
  73.     }
  74.  
  75.     public synchronized void start() {
  76.         thread = new Thread(this);
  77.         thread.start();
  78.         running = true;
  79.     }
  80.    
  81.     public synchronized void stop() {
  82.         try{
  83.             thread.join();
  84.             running = false;
  85.         }
  86.         catch(Exception e){
  87.             e.printStackTrace();
  88.         }
  89.     }
  90.    
  91.     public void run() {
  92.         //Game Loop
  93.         this.requestFocus();
  94.         long lastTime = System.nanoTime();
  95.         double amountOfTicks = 60.0;
  96.         double ns = 1000000000 / amountOfTicks;
  97.         double delta = 0;
  98.         int frames = 0;
  99.         long timer = System.currentTimeMillis();
  100.         while(running) {
  101.             long now = System.nanoTime();
  102.             delta += (now - lastTime) / ns;
  103.             lastTime = now;
  104.             while(delta >= 1) {
  105.                 tick();
  106.                 delta--;
  107.             }
  108.             if(running)
  109.                 render();
  110.             frames++;
  111.            
  112.             if(System.currentTimeMillis() - timer > 1000) {
  113.                 timer += 1000;
  114.                 System.out.println("FPS: " + frames);
  115.                 frames = 0;
  116.             }
  117.            
  118.         }
  119.         stop();
  120.     }
  121.        
  122.     private void tick(){
  123.        
  124.        
  125.        
  126.         if(gameState == STATE.Game) {
  127.            
  128.             handler.tick();
  129.             spawner.tick();
  130.             hud.tick();
  131.            
  132.         }
  133.         else if (gameState == STATE.Pause) {
  134.             hud.tick();
  135.         }
  136.         else if(gameState == STATE.Menu) {
  137.             menu.tick();
  138.             handler.tick();
  139.         }
  140.         else if(gameState == STATE.Help) {
  141.             help.tick();
  142.             handler.tick();
  143.         }
  144.         else if(gameState == STATE.Shop) {
  145.             shop.tick();
  146.             handler.tick();
  147.         }
  148.         else if(gameState == STATE.PreMenu) {
  149.             hud.tick();
  150.         }
  151.         else if(gameState == STATE.Gameover) {
  152.             gameover.tick();
  153.             handler.tick();
  154.         }
  155.     }
  156.    
  157.     private void render(){
  158.         BufferStrategy bs = this.getBufferStrategy();
  159.         if(bs == null){
  160.             this.createBufferStrategy(3);
  161.             return;
  162.         }
  163.        
  164.         Graphics g = bs.getDrawGraphics();
  165.        
  166.         g.setColor(Color.black);
  167.        g.fillRect(0, 0, WIDTH, HEIGHT);
  168.      
  169.        handler.render(g);
  170.        
  171.        if(gameState == STATE.Game) {
  172.             hud.render(g);
  173.        }
  174.        else if(gameState == STATE.Pause) {
  175.             hud.render(g);
  176.            
  177.             g.setColor(Color.white);
  178.             g.drawString("Paused", WIDTH/2 - 24, HEIGHT/2);
  179.             g.drawString("Press P to unpause", WIDTH/2 - 60, HEIGHT/2 + 16);
  180.        }
  181.        else if(gameState == STATE.Menu) {
  182.             menu.render(g);
  183.        }
  184.        else if(gameState == STATE.Help) {
  185.             help.render(g);
  186.        }
  187.        else if(gameState == STATE.Shop) {
  188.             shop.render(g);
  189.         }
  190.        else if(gameState == STATE.Gameover) {
  191.             gameover.render(g);
  192.         }
  193.         else if(gameState == STATE.PreMenu) {
  194.            
  195.             hud.render(g);
  196.            
  197.             g.setColor(Color.darkGray);
  198.             g.fillRoundRect(180, 220, 350, 150, 90, 90);
  199.             g.setColor(Color.lightGray);
  200.             g.fillRoundRect(185, 225, 340, 140, 90, 90);
  201.             g.setColor(Color.black);
  202.             g.drawRoundRect(185, 225, 340, 140, 90, 90);
  203.            
  204.             g.setColor(Color.black);
  205.             g.drawString("Are you sure you want to proceed to the menu?", WIDTH/2 - 134, HEIGHT/2);
  206.             g.drawString("This will end your current game.", WIDTH/2 - 92, HEIGHT/2 + 18);
  207.             g.drawString("Press 'Backspace' to go back to the game.", WIDTH/2 - 120, HEIGHT/2 + 36);
  208.             g.drawString("Press 'Enter' to go to the menu.", WIDTH/2 - 90, HEIGHT/2 + 54);
  209.         }
  210.        g.dispose();
  211.        bs.show();
  212.        
  213.        
  214.     }
  215.    
  216.     public static float clamp(float var, float min, float max) {
  217.         if(var >= max) {
  218.             return var = max;
  219.         }
  220.         else if(var <= min) {
  221.             return var = min;
  222.         }
  223.         else {
  224.             return var;
  225.         }
  226.     }
  227.    
  228.     public static void main(String args[]) {
  229.         new Game();
  230.     }
  231.  
  232.    
  233. }
  234.  
  235. ____________________________________________________________________________________________________________________________
  236.  
  237. --Window.java--
  238. ____________________________________________________________________________________________________________________________
  239.  
  240. package com.wave.main;
  241. import java.awt.Canvas;
  242. import java.awt.Dimension;
  243. import javax.swing.JFrame;
  244.  
  245. public class Window extends Canvas {
  246.     private static final long serialVersionUID = 7091006469336366864L;
  247.    
  248.     public Window(int width, int height, String title, Game game){
  249.         JFrame frame = new JFrame(title);
  250.        
  251.         frame.setPreferredSize(new Dimension(width, height));
  252.         frame.setMaximumSize(new Dimension(width, height));
  253.         frame.setMinimumSize(new Dimension(width, height));
  254.        
  255.         frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  256.         frame.setResizable(false);
  257.         frame.setLocationRelativeTo(null);
  258.         frame.add(game);
  259.         frame.setVisible(true);
  260.         game.start();
  261.     }
  262. }
  263.  
  264. ____________________________________________________________________________________________________________________________
  265.  
  266. --GameObject.java--
  267. ____________________________________________________________________________________________________________________________
  268.  
  269. package com.wave.main;
  270. import java.awt.Graphics;
  271. import java.awt.Rectangle;
  272. public abstract class GameObject {
  273.        protected float x,y;
  274.        protected ID id;
  275.        protected float velX, velY;
  276.        public GameObject(float x, float y, ID id){
  277.                this.x = x;
  278.                this.y = y;
  279.                this.id = id;
  280.        }
  281.        public abstract void tick();
  282.        public abstract void render(Graphics g);
  283.        public abstract Rectangle getBounds();
  284.        public void setX(int x){
  285.                this.x = x;
  286.        }
  287.        public void setY(int y){
  288.                this.y = y;
  289.        }
  290.        public float getX(){
  291.                return x;
  292.        }
  293.        public float getY(){
  294.                return y;
  295.        }
  296.        public void setID(ID id){
  297.                this.id = id;
  298.        }
  299.        public ID getId(){
  300.                return id;
  301.        }
  302.        public void setVelX(int velX){
  303.                this.velX = velX;
  304.        }
  305.        public void setVelY(int velY){
  306.                this.velY = velY;
  307.        }
  308.        public float getVelX(){
  309.                return velX;
  310.        }
  311.        public float getVelY(){
  312.                return velY;
  313.        }
  314. }
  315.  
  316. ____________________________________________________________________________________________________________________________
  317.  
  318. --Handler.java--
  319. ____________________________________________________________________________________________________________________________
  320.  
  321. package com.wave.main;
  322.  
  323. import java.awt.Graphics;
  324. import java.util.LinkedList;
  325.  
  326. public class Handler {
  327.        LinkedList<GameObject> object = new LinkedList<GameObject>();
  328.        public void tick(){
  329.                for(int i = 0; i < object.size(); i++){
  330.                        GameObject tempObject = object.get(i);        
  331.                        tempObject.tick();
  332.                }
  333.        }
  334.        public void render(Graphics g){
  335.                for(int i = 0; i < object.size(); i++){
  336.                        GameObject tempObject = object.get(i);        
  337.                        tempObject.render(g);
  338.                        }
  339.        }
  340.        public void addObject(GameObject object){
  341.                this.object.add(object);
  342.        }
  343.        public void removeObject(GameObject object){
  344.                this.object.remove(object);
  345.        }
  346. }
  347.  
  348. ____________________________________________________________________________________________________________________________
  349.  
  350. --Spawn.java--
  351. ____________________________________________________________________________________________________________________________   
  352.  
  353. package com.wave.main;
  354.  
  355. import java.util.Random;
  356.  
  357. public class Spawn {
  358.  
  359.     public Handler handler;
  360.     @SuppressWarnings("unused")
  361.     private HUD hud;
  362.     private Random r;
  363.    
  364.     public static int needLevel = 1;
  365.     private int rndH;
  366.     private int rndW;
  367.    
  368.     public Spawn(Handler handler, HUD hud) {
  369.         this.handler = handler;
  370.         this.hud = hud;
  371.            
  372.     }
  373.    
  374.     public void tick() {
  375.         r = new Random();
  376.         rndW = r.nextInt(Game.WIDTH);
  377.         rndH = r.nextInt(Game.HEIGHT);
  378.        
  379.         if(rndW >= 680) rndW -= 250;
  380.         if(rndW <= 120) rndW += 250;
  381.        
  382.         //110 - 480
  383.         if(rndH >= 480) rndH -= 180;
  384.         if(rndH <= 110) rndH += 180;
  385.        
  386.         //System.out.println("Width: " + rndW);
  387.         //System.out.println("Height: " + rndH);
  388.        
  389.        
  390.         //Enemies
  391.         if (HUD.level >= needLevel) {
  392.             if(needLevel == 5 || needLevel == 15 || needLevel == 25 || needLevel == 30) {
  393.                 handler.addObject(new FastEnemy(rndW, rndH, ID.FastEnemy, handler));
  394.                 needLevel++;
  395.             }
  396.             else if(needLevel == 10 || needLevel == 20) {
  397.                 handler.addObject(new SmartEnemy(rndW, rndH, ID.SmartEnemy, handler));
  398.                 needLevel++;
  399.             }
  400.            
  401.             else { 
  402.                 handler.addObject(new BasicEnemy(rndW, rndH, ID.BasicEnemy, handler));
  403.             needLevel++;
  404.             }
  405.        
  406.         }
  407.         //Points
  408.         if (HUD.score >= HUD.scoreNeed2) {
  409.             HUD.scoreNeed2+=100;
  410.                 handler.addObject(new Point(rndW + 25, rndH - 14, ID.Point, handler));
  411.                
  412.                    
  413.         }
  414.        
  415.        
  416.         //Health Pickups
  417.         if (HUD.score >= HUD.healthNeed) {
  418.             handler.addObject(new HealthPickup(rndW, rndH, ID.HealthPickup, handler));
  419.             HUD.healthNeed+=2500;
  420.         }
  421.     }  
  422. }
  423.  
  424. ____________________________________________________________________________________________________________________________
  425.  
  426. --Trail.java--
  427. ____________________________________________________________________________________________________________________________   
  428.  
  429. package com.wave.main;
  430. import java.awt.AlphaComposite;
  431. import java.awt.Color;
  432. import java.awt.Graphics;
  433. import java.awt.Graphics2D;
  434. import java.awt.Rectangle;
  435.  
  436. public class Trail extends GameObject{
  437.        private float alpha = 1;
  438.        private float life;
  439.        private Handler handler;
  440.        private Color color;
  441.        private int width, height;    
  442.        public Trail(float x, float y, ID id, Color color, int width, int height,float life, Handler handler){
  443.                super(x, y, id);
  444.                this.handler = handler;
  445.                this.color = color;
  446.                this.width = width;
  447.                this.height = height;
  448.                this.life = life;
  449.        }
  450.        public void tick(){
  451.                if(alpha >= life){
  452.                        alpha -= (life - 0.0001);
  453.                }else handler.removeObject(this);
  454.        }
  455.        public void render(Graphics g){
  456.                Graphics2D g2d = (Graphics2D) g;
  457.                g2d.setComposite(makeTransparent(alpha));
  458.                g.setColor(color);
  459.                g.fillRect((int)x,(int) y, width, height);    
  460.                g2d.setComposite(makeTransparent(1));
  461.        }
  462.        private AlphaComposite makeTransparent(float alpha){
  463.                int type = AlphaComposite.SRC_OVER;
  464.                return(AlphaComposite.getInstance(type, alpha));
  465.        }
  466.        public Rectangle getBounds() {
  467.                return null;
  468.        }
  469. }
  470.  
  471. ____________________________________________________________________________________________________________________________
  472.  
  473. --BasicEnemy.java--
  474. ____________________________________________________________________________________________________________________________   
  475.  
  476. package com.wave.main;
  477.  
  478. import java.awt.Color;
  479. import java.awt.Graphics;
  480. import java.awt.Rectangle;
  481.  
  482. public class BasicEnemy extends GameObject{
  483.    
  484.     private Handler handler;
  485.  
  486.     public BasicEnemy(int x, int y, ID id, Handler handler) {
  487.         super(x, y, id);
  488.    
  489.         this.handler = handler;
  490.        
  491.         velX = 3;
  492.         velY = 3;
  493.        
  494.     }
  495.  
  496. public Rectangle getBounds() {
  497.        
  498.         return new Rectangle((int)x,(int)y,16, 16);
  499.     }
  500.    
  501.     public void tick() {
  502.        
  503.        
  504.         x += velX;
  505.         y += velY;
  506.                
  507.         if(y <= 110 || y >= Game.HEIGHT - 48) velY *= -1;
  508.         if(x <= 0 || x >= Game.WIDTH - 16) velX *= -1;
  509.        
  510.         if(Game.Trail == 1) handler.addObject(new Trail(x, y, ID.Trail, Color.red, 16, 16, 0.05f, handler));
  511.        
  512.     }
  513.  
  514.     public void render(Graphics g) {
  515.         g.setColor(Color.red); 
  516.         g.fillRect((int)x,(int)y, 16, 16);
  517.        
  518.     }
  519.  
  520. }
  521.  
  522. ____________________________________________________________________________________________________________________________
  523.  
  524. --FastEnemy.java--
  525. ____________________________________________________________________________________________________________________________   
  526.  
  527. package com.wave.main;
  528.  
  529. import java.awt.Color;
  530. import java.awt.Graphics;
  531. import java.awt.Rectangle;
  532.  
  533. public class FastEnemy extends GameObject {
  534.    
  535.     private Handler handler;
  536.  
  537.     public FastEnemy(int x, int y, ID id, Handler handler) {
  538.         super(x, y, id);
  539.        
  540.         this.handler = handler;
  541.        
  542.         velX = 7;
  543.         velY = 7;
  544.     }
  545.    
  546. public Rectangle getBounds() {
  547.        
  548.         return new Rectangle((int)x,(int)y,16, 16);
  549.     }
  550.    
  551.     public void tick() {
  552.        
  553.        
  554.         x += velX;
  555.         y += velY;
  556.                
  557.         if(y <= 110 || y >= Game.HEIGHT - 48) velY *= -1;
  558.         if(x <= 0 || x >= Game.WIDTH - 16) velX *= -1;
  559.        
  560.         if(Game.Trail == 1) handler.addObject(new Trail(x, y, ID.Trail, Color.cyan, 16, 16, 0.10f, handler));
  561.        
  562.     }
  563.  
  564.     public void render(Graphics g) {
  565.         g.setColor(Color.cyan);
  566.         g.fillRect((int)x,(int)y, 16, 16);
  567.    
  568.     }
  569.    
  570. }
  571.  
  572. ____________________________________________________________________________________________________________________________
  573.  
  574. --SmartEnemy.java--
  575. ____________________________________________________________________________________________________________________________   
  576.  
  577. package com.wave.main;
  578. import java.awt.Color;
  579. import java.awt.Graphics;
  580. import java.awt.Rectangle;
  581.  
  582. public class SmartEnemy extends GameObject{
  583.        private Handler handler;
  584.        private GameObject player;
  585.        public SmartEnemy(int x, int y, ID id, Handler handler){
  586.                super(x,y,id);
  587.                this.handler = handler;
  588.                for(int i = 0; i < handler.object.size(); i++ ){
  589.                        if(handler.object.get(i).getId() == ID.Player) player = handler.object.get(i);
  590.                }      
  591.        }
  592.        public Rectangle getBounds(){
  593.                return new Rectangle((int) x,(int) y, 16, 16);
  594.        }
  595.        public void tick(){
  596.                x += velX;
  597.                y += velY;
  598.                float diffX = x - player.getX() - 16;
  599.                float diffY = y - player.getY() - 16;
  600.                float distance = (float) Math.sqrt((x-player.getX())*(x-player.getX())+(y-player.getY())*(y-player.getY()));
  601.                velX = ((-1 / distance) * diffX);
  602.                velY = ((-1 / distance) * diffY);
  603.                if(Game.Trail == 1) handler.addObject(new Trail( x, y, ID.Trail, new Color(139, 69, 19), 16, 16, 0.02f,handler));
  604.                
  605.        }
  606.        public void render(Graphics g){
  607.                g.setColor(new Color(139, 69, 19));
  608.                g.fillRect((int)x,(int)y,16,16);
  609.        }
  610. }
  611.  
  612. ____________________________________________________________________________________________________________________________
  613.  
  614. --Point.java--
  615. ____________________________________________________________________________________________________________________________
  616.  
  617. package com.wave.main;
  618.  
  619. import java.awt.Color;
  620. import java.awt.Graphics;
  621. import java.awt.Rectangle;
  622. import java.util.Random;
  623.  
  624. public class Point extends GameObject {
  625.  
  626.     Random r = new Random();
  627.     Handler handler;
  628.    
  629.     public Point(float x, float y, ID id, Handler handler) {
  630.         super(x, y, id);
  631.         this.handler = handler;
  632.     }
  633.    
  634.     public Rectangle getBounds() {
  635.        
  636.         return new Rectangle((int)x, (int)y, 16, 16);
  637.     }
  638.  
  639.     public void tick() {
  640.        
  641.     }
  642.  
  643.     public void render(Graphics g) {
  644.        
  645.         g.setColor(Color.yellow);
  646.         g.fillRect((int)x,(int)y, 16, 16);
  647.        
  648.     }
  649.  
  650.    
  651. }
  652.    
  653. ____________________________________________________________________________________________________________________________
  654.  
  655. --HealthPickup.java--
  656. ____________________________________________________________________________________________________________________________
  657.  
  658. package com.wave.main;
  659.  
  660. import java.awt.Color;
  661. import java.awt.Graphics;
  662. import java.awt.Rectangle;
  663. import java.util.Random;
  664.  
  665. public class HealthPickup extends GameObject{
  666.    
  667.     Random r = new Random();
  668.     Handler handler;
  669.  
  670.     public HealthPickup(float x, float y, ID id, Handler handler) {
  671.         super(x, y, id);
  672.         this.handler = handler;
  673.     }
  674.    
  675.     public Rectangle getBounds() {
  676.        
  677.         return new Rectangle((int)x, (int)y, 16, 16);
  678.     }
  679.    
  680.     public void tick() {
  681.        
  682.     }
  683.  
  684.     public void render(Graphics g) {
  685.        
  686.         g.setColor(Color.green);
  687.         g.fillRect((int)x,(int)y, 16, 16);
  688.        
  689.     }
  690. }
  691.  
  692. ____________________________________________________________________________________________________________________________
  693.  
  694. --MenuParticle.java--
  695. ____________________________________________________________________________________________________________________________
  696.  
  697. package com.wave.main;
  698.  
  699. import java.awt.Color;
  700. import java.awt.Graphics;
  701. import java.awt.Rectangle;
  702. import java.util.Random;
  703.  
  704. public class MenuParticle extends GameObject {
  705.    
  706.     private Handler handler;
  707.    
  708.     private Random r = new Random();
  709.  
  710.     private Color col = new Color(r.nextInt(255), r.nextInt(255), r.nextInt(255));
  711.    
  712.     public MenuParticle(int x, int y, ID id, Handler handler) {
  713.         super(x, y, id);
  714.        
  715.         this.handler = handler;
  716.        
  717.         velX = 3;
  718.         velY = 5;
  719.        
  720.     }
  721.    
  722. public Rectangle getBounds() {
  723.        
  724.         return new Rectangle((int)x,(int)y,16, 16);
  725.     }
  726.    
  727.     public void tick() {
  728.        
  729.        
  730.         x += velX;
  731.         y += velY;
  732.                
  733.         if(y <= 0 || y >= Game.HEIGHT - 48) velY *= -1;
  734.         if(x <= 0 || x >= Game.WIDTH - 16) velX *= -1;
  735.        
  736.         if(Game.Trail == 1) handler.addObject(new Trail(x, y, ID.Trail, col, 16, 16, 0.02f, handler));
  737.        
  738.     }
  739.  
  740.     public void render(Graphics g) {
  741.         g.setColor(col);   
  742.         g.fillRect((int)x,(int)y, 16, 16);
  743.    
  744.     }
  745.    
  746. }
  747.  
  748. ____________________________________________________________________________________________________________________________
  749.  
  750. --ID.java--
  751. ____________________________________________________________________________________________________________________________
  752.  
  753. package com.wave.main;
  754.  
  755. public enum ID {
  756.    
  757.     Player(),
  758.     BasicEnemy(),
  759.     FastEnemy(),
  760.     SmartEnemy(),
  761.     Point(),
  762.     HealthPickup(),
  763.     MenuParticle(),
  764.     Trail();
  765.    
  766. }
  767.  
  768. ____________________________________________________________________________________________________________________________
  769.  
  770. --Player.java--
  771. ____________________________________________________________________________________________________________________________
  772.  
  773. package com.wave.main;
  774.  
  775. import java.awt.Color;
  776. import java.awt.Graphics;
  777. import java.awt.Rectangle;
  778. import java.util.Random;
  779.  
  780. public class Player extends GameObject {
  781.    
  782.     Random r = new Random();
  783.     Handler handler;
  784.    
  785.     public Player(int x, int y, ID id, Handler handler) {
  786.         super(x, y, id);
  787.         this.handler = handler;
  788.    
  789.  
  790.     }
  791.        
  792.     public Rectangle getBounds() {
  793.        
  794.         return new Rectangle((int)x, (int)y, 32, 32);
  795.     }
  796.    
  797.     public void tick() {
  798.         x += velX;
  799.         y += velY;
  800.        
  801.         //System.out.println("x: " + x);
  802.         //System.out.println("y: " + y);
  803.        
  804.         x = Game.clamp(x, 0, Game.WIDTH - 38);
  805.         y = Game.clamp(y, 110, Game.HEIGHT - 61);
  806.        
  807.         collision();
  808.     }
  809.    
  810.     private void collision() {
  811.         for(int i = 0; i < handler.object.size(); i++) {
  812.            
  813.             GameObject tempObject = handler.object.get(i);
  814.            
  815.             if(tempObject.getId() == ID.BasicEnemy || tempObject.getId() == ID.FastEnemy || tempObject.getId() == ID.SmartEnemy) {
  816.                 if(getBounds().intersects(tempObject.getBounds())) {
  817.                     //collision code
  818.                     HUD.HEALTH-=100;
  819.                    
  820.                 }
  821.             }
  822.             if(tempObject.getId() == ID.Point) {
  823.                 if(getBounds().intersects(tempObject.getBounds())) {
  824.                 HUD.score+=100;
  825.                 handler.removeObject(handler.object.get(i));
  826.                 }
  827.             }
  828.            
  829.             if(tempObject.getId() == ID.HealthPickup) {
  830.                 if(getBounds().intersects(tempObject.getBounds())) {
  831.                 HUD.HEALTH+=2000;
  832.                 handler.removeObject(handler.object.get(i));
  833.                 }
  834.             }
  835.         }
  836.     }
  837.    
  838.     public void render(Graphics g) {
  839.         g.setColor(Color.white);
  840.         g.fillRect((int)x,(int)y, 32, 32);
  841.        
  842.     }
  843.  
  844. }
  845.  
  846. ____________________________________________________________________________________________________________________________
  847.  
  848. --HUD.java--
  849. ____________________________________________________________________________________________________________________________
  850.  
  851. package com.wave.main;
  852.  
  853. import java.awt.Color;
  854. import java.awt.Graphics;
  855. import java.util.Random;
  856.  
  857. public class HUD {
  858.    
  859.     private Handler handler;
  860.    
  861.     private Random r = new Random();
  862.    
  863.     public static int HEALTH = 10000;
  864.     private int redValue = 255;
  865.     private int greenValue = 255;
  866.    
  867.     public static int score = 0;
  868.     public static int scoreNeed = 1000;
  869.     public static int scoreNeed2 = 0;
  870.     public static int healthNeed = 2500;
  871.     public static int level = 1;
  872.    
  873.     public HUD(Handler handler) {
  874.         this.handler = handler;
  875.        
  876.         r = new Random();
  877.     }
  878.    
  879.     public void tick() {
  880.        
  881.    
  882.         HEALTH = (int) Game.clamp(HEALTH, 0, 10000);
  883.         greenValue = (int) Game.clamp(greenValue, 0, 255);
  884.        
  885.         greenValue = (HEALTH * 2) / 100;
  886.        
  887.         redValue = 255 - greenValue;
  888.        
  889.         if(HEALTH == 0){
  890.             Game.gameState = Game.STATE.Gameover;
  891.             while(!handler.object.isEmpty()) {
  892.                 handler.object.removeFirst();
  893.             }
  894.             for(int i = 0; i < 25; i++) {
  895.                     handler.addObject(new MenuParticle(r.nextInt(Game.WIDTH), r.nextInt(Game.HEIGHT), ID.MenuParticle, handler));
  896.                
  897.             }
  898.            
  899.         }
  900.        
  901.         if(Game.gameState == Game.STATE.Game) {
  902.         score+=1;
  903.         scoreNeed2+=1;
  904.         HEALTH++;
  905.     }
  906.    
  907.         if(score >= scoreNeed) {
  908.             level++;
  909.             scoreNeed += 1000;
  910.         }
  911.        
  912.        
  913.        
  914.     }
  915.    
  916.     public void render(Graphics g) {
  917.         //HUD Bar
  918.         g.setColor(Color.darkGray);
  919.         g.fillRect(0, 0, Game.WIDTH, 110);
  920.         g.setColor(Color.gray);
  921.         g.fillRect(0, 0, Game.WIDTH, 105);
  922.         g.setColor(Color.black);
  923.         g.drawRect(-1, 0, Game.WIDTH, 105);
  924.         g.setColor(Color.lightGray);
  925.         g.fillRect(0, 0, Game.WIDTH, 100);
  926.         g.setColor(Color.black);
  927.         g.drawRect(-1, -1, Game.WIDTH, 100);
  928.        
  929.        
  930.         //Health Bar BG Shadow
  931.         g.setColor(Color.black);
  932.         g.fillRect(20, 20, 209, 33);
  933.                
  934.         //Health Bar BG
  935.         g.setColor(Color.gray);
  936.         g.fillRect(16, 16, 208, 32);
  937.    
  938.         //Health Bar BG Outline
  939.         g.setColor(Color.darkGray);
  940.         g.drawRect(16, 16, 208, 32);
  941.        
  942.         //Health Bar
  943.         g.setColor(new Color(redValue, greenValue, 0));
  944.         g.fillRect(20, 20, (HEALTH * 2) / 100, 24);
  945.    
  946.         //Health Bar Outline
  947.         g.setColor(Color.black);
  948.         g.drawRect(20, 20, (HEALTH * 2) / 100, 24);
  949.        
  950.         //Score and Level Text
  951.         g.setColor(Color.black);
  952.         g.drawString("Score: " + score, 16, 70);
  953.         g.drawString("Level: " + level, 16, 82);
  954.        
  955.         //Player Info
  956.         g.setColor(Color.black);
  957.         g.drawString("Player: ", 280, 16);
  958.        
  959.         g.setColor(Color.white);
  960.         g.fillRect(340, 30, 32, 32);
  961.         g.setColor(Color.black);
  962.         g.drawRect(340, 30, 32, 32);
  963.        
  964.         //Collect Info
  965.         g.setColor(Color.black);
  966.         g.drawString("Collect: ", 420, 16);
  967.        
  968.         g.setColor(Color.yellow);
  969.         g.fillRect(460, 30, 16, 16);
  970.         g.setColor(Color.black);
  971.         g.drawRect(460, 30, 16, 16);
  972.         g.setColor(Color.green);
  973.         g.fillRect(500, 30, 16, 16);
  974.         g.setColor(Color.black);
  975.         g.drawRect(500, 30, 16, 16);
  976.  
  977.         //Avoid Info
  978.         g.setColor(Color.black);
  979.         g.drawString("Avoid: ", 560, 16);
  980.        
  981.         g.setColor(Color.red);
  982.         g.fillRect(580, 30, 16, 16);
  983.         g.setColor(Color.black);
  984.         g.drawRect(580, 30, 16, 16);
  985.         g.setColor(Color.cyan);
  986.         g.fillRect(620, 30, 16, 16);
  987.         g.setColor(Color.black);
  988.         g.drawRect(620, 30, 16, 16);
  989.         g.setColor(new Color(139, 69, 19));
  990.         g.fillRect(660, 30, 16, 16);
  991.         g.setColor(Color.black);
  992.         g.drawRect(660, 30, 16, 16);
  993.        
  994.        
  995.        
  996.     }
  997.    
  998. }
  999.  
  1000. ____________________________________________________________________________________________________________________________
  1001.  
  1002. --KeyInput.java--
  1003. ____________________________________________________________________________________________________________________________
  1004.  
  1005. package com.wave.main;
  1006.  
  1007. import java.awt.event.KeyAdapter;
  1008. import java.awt.event.KeyEvent;
  1009. import java.util.Random;
  1010.  
  1011. public class KeyInput extends KeyAdapter{
  1012.  
  1013.     private Handler handler;
  1014.    
  1015.     private Random r = new Random();
  1016.    
  1017.     private boolean[] keyDown = new boolean[4];
  1018.    
  1019.     public KeyInput(Handler handler){
  1020.         this.handler = handler;
  1021.         r = new Random();
  1022.        
  1023.         keyDown[0] = false;
  1024.         keyDown[1] = false;
  1025.         keyDown[2] = false;
  1026.         keyDown[3] = false;
  1027.     }
  1028.    
  1029.     public void keyPressed(KeyEvent e){
  1030.         int key = e.getKeyCode();
  1031.        
  1032.         for(int i = 0; i < handler.object.size(); i++){
  1033.            
  1034.             GameObject tempObject = handler.object.get(i);
  1035.            
  1036.             if(tempObject.getId() == ID.Player){
  1037.                 //key events for Player1
  1038.                 if(key == KeyEvent.VK_W || key == KeyEvent.VK_UP) { tempObject.setVelY(-5); keyDown[0] = true; } //UP
  1039.                 if(key == KeyEvent.VK_S || key == KeyEvent.VK_DOWN) { tempObject.setVelY(5); keyDown[1] = true;} //DOWN
  1040.                 if(key == KeyEvent.VK_D || key == KeyEvent.VK_RIGHT) { tempObject.setVelX(5); keyDown[2] = true;} //RIGHT
  1041.                 if(key == KeyEvent.VK_A || key == KeyEvent.VK_LEFT) { tempObject.setVelX(-5); keyDown[3] = true;} //LEFT
  1042.                  
  1043.             }
  1044.         }
  1045.        
  1046.         //Exit
  1047.         if(key == KeyEvent.VK_ESCAPE) System.exit(1);
  1048.        
  1049.         //Trail Toggle
  1050.         if(Game.Trail == 1) {
  1051.             if(key == KeyEvent.VK_T) Game.Trail = 0;
  1052.         }
  1053.         else {
  1054.             if(key == KeyEvent.VK_T) Game.Trail = 1;
  1055.         }
  1056.        
  1057.         //Enter Menu
  1058.         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) {
  1059.             if(Game.gameState == Game.STATE.Game) {
  1060.                 if(key == KeyEvent.VK_M) Game.gameState = Game.STATE.PreMenu;
  1061.            
  1062.             }
  1063.         if(Game.gameState == Game.STATE.PreMenu) {
  1064.  
  1065.             if(key == KeyEvent.VK_BACK_SPACE) {
  1066.                 Game.gameState = Game.STATE.Game;
  1067.             }
  1068.            
  1069.             if(key == KeyEvent.VK_ENTER) { 
  1070.                 Game.gameState = Game.STATE.Menu;
  1071.                 while(!handler.object.isEmpty()) {
  1072.                     handler.object.removeFirst();
  1073.                 }
  1074.                 for(int i = 0; i < 25; i++) {
  1075.                     handler.addObject(new MenuParticle(r.nextInt(Game.WIDTH), r.nextInt(Game.HEIGHT), ID.MenuParticle, handler));
  1076.                 }
  1077.                     HUD.HEALTH=10000;
  1078.                     HUD.score = 0;
  1079.                     HUD.scoreNeed = 1000;
  1080.                     HUD.scoreNeed2 = 0;
  1081.                     HUD.healthNeed = 2500;
  1082.                     HUD.level = 1;
  1083.                     Spawn.needLevel = 1;               
  1084.                
  1085.                 }      
  1086.             }
  1087.         }
  1088.            
  1089.         //Pause
  1090.         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) {
  1091.             if(Game.gameState == Game.STATE.Game) {
  1092.                 if(key == KeyEvent.VK_P) { Game.gameState = Game.STATE.Pause;
  1093.                 key = KeyEvent.CHAR_UNDEFINED;
  1094.                 }
  1095.             }
  1096.         }
  1097.            
  1098.         if (Game.gameState == Game.STATE.Pause) {
  1099.             if(key == KeyEvent.VK_P) Game.gameState = Game.STATE.Game;
  1100.         }
  1101.        
  1102.         //Gameover
  1103.         if (Game.gameState == Game.STATE.Gameover) {
  1104.             if(key == KeyEvent.VK_ENTER) {
  1105.                
  1106.             Game.gameState = Game.STATE.Menu;
  1107.            
  1108.             HUD.HEALTH=10000;
  1109.             HUD.score = 0;
  1110.             HUD.scoreNeed = 1000;
  1111.             HUD.scoreNeed2 = 0;
  1112.             HUD.healthNeed = 2500;
  1113.             HUD.level = 1;
  1114.             Spawn.needLevel = 1;
  1115.             Gameover.moneyCalc = false;
  1116.             }
  1117.         }
  1118.        
  1119.     }
  1120.  
  1121.     public void keyReleased(KeyEvent e){
  1122.         int key = e.getKeyCode();  
  1123.        
  1124.         for(int i = 0; i < handler.object.size(); i++){
  1125.            
  1126.             GameObject tempObject = handler.object.get(i);
  1127.            
  1128.             if(tempObject.getId() == ID.Player){
  1129.                 if(key == KeyEvent.VK_W || key == KeyEvent.VK_UP) keyDown[0] = false; //tempObject.setVelY(0); //UP
  1130.                 if(key == KeyEvent.VK_S || key == KeyEvent.VK_DOWN) keyDown[1] = false; //tempObject.setVelY(0); //DOWN
  1131.                 if(key == KeyEvent.VK_D || key == KeyEvent.VK_RIGHT) keyDown[2] = false; //tempObject.setVelX(0); //RIGHT
  1132.                 if(key == KeyEvent.VK_A || key == KeyEvent.VK_LEFT) keyDown[3] = false; //tempObject.setVelX(0); //LEFT
  1133.                
  1134.                 //Vertical Movement
  1135.                 if(!keyDown[0] && !keyDown[1]) tempObject.setVelY(0);
  1136.                
  1137.                 //Horizontal Movement
  1138.                 if(!keyDown[2] && !keyDown[3]) tempObject.setVelX(0);
  1139.             }
  1140.         }
  1141.     }
  1142. }
  1143.  
  1144. ____________________________________________________________________________________________________________________________
  1145.  
  1146. --Menu.java--
  1147. ____________________________________________________________________________________________________________________________
  1148.  
  1149. package com.wave.main;
  1150.  
  1151. import java.awt.Color;
  1152. import java.awt.Font;
  1153. import java.awt.Graphics;
  1154. import java.awt.event.MouseAdapter;
  1155. import java.awt.event.MouseEvent;
  1156.  
  1157. public class Menu extends MouseAdapter {
  1158.  
  1159.     private Handler handler;
  1160.    
  1161.     public Menu(Handler handler) {
  1162.         this.handler = handler;
  1163.        
  1164.     }
  1165.    
  1166.     public void mousePressed(MouseEvent e) {
  1167.        
  1168.         int mx = e.getX();
  1169.         int my = e.getY();
  1170.        
  1171.         //Play
  1172.         if(Game.gameState == Game.STATE.Menu) {
  1173.        
  1174.             if(mouseOver(mx, my, Game.WIDTH/2 -100, 140, 200, 64)) {
  1175.                 Game.gameState = Game.STATE.Game;
  1176.                 while(!handler.object.isEmpty()) {
  1177.                     handler.object.removeFirst();
  1178.                 }
  1179.                 handler.addObject(new Player( Game.WIDTH/2 - 16, Game.HEIGHT/2, ID.Player, handler));
  1180.             }
  1181.        
  1182.             if(mouseOver(mx, my,Game.WIDTH/2 -100, 220, 200, 64)) {
  1183.                 Game.gameState = Game.STATE.Help;
  1184.             }
  1185.        
  1186.             //Quit
  1187.             if(mouseOver(mx, my, Game.WIDTH/2 -100, 300, 200, 64)) {
  1188.                 System.exit(1);
  1189.             }
  1190.            
  1191.             //Shop
  1192.             if(mouseOver(mx, my, Game.WIDTH/2 -100, 300, 200, 64)) {
  1193.            
  1194.             }
  1195.         }
  1196.     }
  1197.    
  1198.     public void mouseReleased(MouseEvent e) {
  1199.        
  1200.     }
  1201.    
  1202.      private boolean mouseOver(int mx, int my, int x, int y, int width, int height){
  1203.         if(mx > x && mx < x + width){
  1204.                 if(my > y && my < y + height){
  1205.                         return true;
  1206.                 }else return false;
  1207.         }else return false;}
  1208.    
  1209.     public void tick() {
  1210.        
  1211.     }
  1212.  
  1213.     public void render(Graphics g) {
  1214.         Font ArialS = new Font("arial", 1, 25);
  1215.         Font ArialL = new Font("arial", 1, 50);
  1216.        
  1217.        
  1218.         //BG
  1219.         g.setColor(Color.darkGray);
  1220.         g.fillRoundRect(186, 28, 350, 440, 150, 150);
  1221.         g.setColor(Color.lightGray);
  1222.         g.fillRoundRect(190, 32, 340, 430, 150, 150);
  1223.         g.setColor(Color.black);
  1224.         g.drawRoundRect(190, 32, 340, 430, 150, 150);
  1225.        
  1226.         //Title
  1227.         g.setFont(ArialS);
  1228.         g.drawString("Wave Survival Beta 1.2.0", Game.WIDTH/2 - 148, 80);
  1229.         g.setFont(ArialL);
  1230.         g.drawString("Menu", Game.WIDTH/2 - 64, 130);
  1231.         //Start
  1232.         g.setColor(Color.green);
  1233.         g.fillRoundRect(Game.WIDTH/2 -100, 140, 200, 64, 75, 150);
  1234.         g.setColor(Color.black);
  1235.         g.drawRoundRect(Game.WIDTH/2 -100, 140, 200, 64, 75, 150);
  1236.         g.drawString("Start", Game.WIDTH/2 - 58, 188);
  1237.        
  1238.         //Help
  1239.         g.setColor(Color.blue);
  1240.         g.fillRoundRect(Game.WIDTH/2 -100, 220, 200, 64, 75, 150);
  1241.         g.setColor(Color.black);
  1242.         g.drawRoundRect(Game.WIDTH/2 -100, 220, 200, 64, 75, 150);
  1243.         g.drawString("Help", Game.WIDTH/2 - 52, 268);
  1244.        
  1245.         //Quit
  1246.         g.setColor(Color.red);
  1247.         g.fillRoundRect(Game.WIDTH/2 -100, 300, 200, 64, 75, 150);
  1248.         g.setColor(Color.black);
  1249.         g.drawRoundRect(Game.WIDTH/2 -100, 300, 200, 64, 75, 150);
  1250.         g.drawString("Quit", Game.WIDTH/2 - 50, 348);
  1251.        
  1252.         //Shop
  1253.     /*  g.setColor(Color.yellow);
  1254.     *   g.fillRoundRect(Game.WIDTH/2 -100, 380, 200, 64, 75, 150);
  1255.     *   g.setColor(Color.black);
  1256.     *   g.drawRoundRect(Game.WIDTH/2 -100, 380, 200, 64, 75, 150);
  1257.     *   g.drawString("Shop", Game.WIDTH/2 - 62, 428);
  1258.     */
  1259.        
  1260.         //Coming Soon for Shop
  1261.         g.setColor(Color.black);
  1262.         g.fillRoundRect(Game.WIDTH/2 -100, 380, 200, 64, 75, 150);
  1263.         g.drawRoundRect(Game.WIDTH/2 -100, 380, 200, 64, 75, 150);
  1264.         g.setColor(Color.white);
  1265.         g.setFont(ArialS);
  1266.         g.drawString("Coming Soon", Game.WIDTH/2 - 78, 422);
  1267.        
  1268.         //Credits
  1269.         g.drawString("Created By: SneakyLunatic69", Game.WIDTH/2 - 170, 496);
  1270.     }  
  1271.  
  1272. }
  1273.  
  1274. ____________________________________________________________________________________________________________________________
  1275.  
  1276. --Help.java--
  1277. ____________________________________________________________________________________________________________________________
  1278.  
  1279. package com.wave.main;
  1280.  
  1281. import java.awt.Color;
  1282. import java.awt.Font;
  1283. import java.awt.Graphics;
  1284. import java.awt.event.MouseAdapter;
  1285. import java.awt.event.MouseEvent;
  1286.  
  1287. public class Help extends MouseAdapter {
  1288.    
  1289.     @SuppressWarnings("unused")
  1290.     private Handler handler;
  1291.    
  1292.     public Help(Handler handler) {
  1293.         this.handler = handler;
  1294.     }
  1295.  
  1296. public void mousePressed(MouseEvent e) {
  1297.        
  1298.     int mx = e.getX();
  1299.     int my = e.getY();
  1300.        
  1301.     //Go Back to Menu
  1302.        
  1303.     if(Game.gameState == Game.STATE.Help) {
  1304.         if(mouseOver(mx, my, Game.WIDTH/2 + 50, 380, 270, 78)) {
  1305.             Game.gameState = Game.STATE.Menu;
  1306.         }
  1307.     }
  1308. }
  1309.  
  1310. public void mouseReleased(MouseEvent e) {
  1311.    
  1312. }
  1313.        
  1314. private boolean mouseOver(int mx, int my, int x, int y, int width, int height){
  1315.     if(mx > x && mx < x + width){
  1316.         if(my > y && my < y + height){
  1317.             return true;
  1318.         }else return false;
  1319.     }else return false;}
  1320.    
  1321.     public void tick() {
  1322.        
  1323.     }
  1324.  
  1325.     public void render(Graphics g) {
  1326.         Font ArialS = new Font("arial", 1, 20);
  1327.         Font ArialM = new Font("arial", 1, 25);
  1328.         Font ArialL = new Font("arial", 1, 50);
  1329.        
  1330.         //Titles
  1331.         g.setFont(ArialL);
  1332.         g.setColor(Color.white);
  1333.         g.drawString("Objective:", 10, 50);
  1334.         g.drawString("Controls:", 10, 250);
  1335.        
  1336.         //Objective Info
  1337.         g.setFont(ArialM);
  1338.         g.drawString("Survive the onslaught of enemies flying across the screen!", 10, 100);
  1339.         g.drawString("Collect yellow coins to increase your score.", 10, 130);
  1340.         g.setFont(ArialS);
  1341.         g.drawString("Collect green health power-ups to regenerate health and survive longer!", 10, 160);
  1342.        
  1343.         //Controls Info
  1344.         g.setFont(ArialM);
  1345.         g.drawString("WASD or Arrow Keys: Move Around!", 10, 300);
  1346.         g.drawString("T: Toggle Enemy trails.", 10, 330);
  1347.         g.drawString("P: Pause/Unpause the game.", 10, 360);
  1348.         g.drawString("Esc: Exit the Game.", 10, 390);
  1349.         g.drawString("M: Go to the Menu.", 10, 420);
  1350.        
  1351.         g.setFont(ArialL);
  1352.         g.setColor(Color.blue);
  1353.         g.fillRoundRect(Game.WIDTH/2 + 50, 380, 270, 78, 75, 150);
  1354.         g.setColor(Color.white);
  1355.         g.drawRoundRect(Game.WIDTH/2 + 50, 380, 270, 78, 75, 150);
  1356.         g.setColor(Color.black);
  1357.         g.drawString("Go Back", Game.WIDTH/2 + 78, 436);
  1358.     }
  1359.    
  1360. }
  1361.  
  1362.  
  1363. ____________________________________________________________________________________________________________________________
  1364.  
  1365. --Gameover.java--
  1366. ____________________________________________________________________________________________________________________________
  1367.  
  1368. package com.wave.main;
  1369.  
  1370. import java.awt.Color;
  1371. import java.awt.Font;
  1372. import java.awt.Graphics;
  1373.  
  1374. public class Gameover {
  1375.    
  1376.     public static int Money;
  1377.     public static int moneyEarned;
  1378.     public static boolean moneyCalc = false;
  1379.    
  1380.     public Gameover() {
  1381.        
  1382.     }
  1383.    
  1384.     public void tick() {
  1385.        
  1386.         if(moneyCalc == false) {
  1387.         Money = Money + (HUD.score / 1000) + HUD.level;
  1388.         moneyCalc = true;
  1389.         }
  1390.        
  1391.         moneyEarned = (HUD.score / 1000) + HUD.level;
  1392.        
  1393.     }
  1394.  
  1395.     public void render(Graphics g) {
  1396.        
  1397.         Font ArialS = new Font("arial", 1, 25);
  1398.         Font ArialM = new Font("arial", 1, 35);
  1399.         Font ArialL = new Font("arial", 1, 50);
  1400.        
  1401.         g.setFont(ArialL);
  1402.         g.setColor(Color.black);
  1403.         g.drawString("Gameover", Game.WIDTH/2 - 123, 100);
  1404.         g.setColor(Color.red);
  1405.         g.drawString("Gameover", Game.WIDTH/2 - 125, 98);
  1406.        
  1407.         g.setFont(ArialM);
  1408.         g.setColor(Color.black);
  1409.         g.drawString("Press Enter to return to Menu.", Game.WIDTH/2 - 245, 480);
  1410.         g.setColor(Color.red);
  1411.         g.drawString("Press Enter to return to Menu", Game.WIDTH/2 - 247, 478);
  1412.        
  1413.         g.setFont(ArialS);
  1414.         g.setColor(Color.white);
  1415.         g.drawString("Score: ", Game.WIDTH/2 - 100, 150);
  1416.         g.drawString(String.valueOf(HUD.score), Game.WIDTH/2 + 20, 150);
  1417.         g.drawString("Level: ", Game.WIDTH/2 - 100, 190);
  1418.         g.drawString(String.valueOf(HUD.level), Game.WIDTH/2 + 50, 190);
  1419.         g.drawString("Money Earned: ", Game.WIDTH/2 - 125, 350);
  1420.         g.drawString(String.valueOf(moneyEarned), Game.WIDTH/2 + 90, 350);
  1421.         g.drawString("Money Total: ", Game.WIDTH/2 - 125, 380);
  1422.         g.drawString(String.valueOf(Money), Game.WIDTH/2 + 90, 380);
  1423.        
  1424.     }
  1425.    
  1426. }
  1427.  
  1428. ____________________________________________________________________________________________________________________________
  1429.  
  1430. --Shop.java--
  1431. ____________________________________________________________________________________________________________________________
  1432.  
  1433. package com.wave.main;
  1434.  
  1435. import java.awt.Graphics;
  1436.  
  1437. public class Shop {
  1438.  
  1439.     public Shop() {
  1440.        
  1441.     }
  1442.    
  1443.     public void tick() {
  1444.        
  1445.     }
  1446.  
  1447.     public void render(Graphics g) {
  1448.    
  1449.     }
  1450.    
  1451. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement