From bafc8e419d1cec337fd88b6516616be1d014f096 Mon Sep 17 00:00:00 2001 From: jdm13003 Date: Tue, 26 Apr 2016 21:20:24 -0400 Subject: [PATCH] fix --- resources/level0.png | Bin 0 -> 8381 bytes src/main/Game.java | 176 +++++++++++++++++++++++++------------------ 2 files changed, 102 insertions(+), 74 deletions(-) create mode 100644 resources/level0.png diff --git a/resources/level0.png b/resources/level0.png new file mode 100644 index 0000000000000000000000000000000000000000..3358d2e5df8945e63da5ed5ef730ac4877178fa0 GIT binary patch literal 8381 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 Wal(vhmGT!`(o)w`tGZ|Z`+or|{;UE3 literal 0 HcmV?d00001 diff --git a/src/main/Game.java b/src/main/Game.java index 12331e3..837dcb6 100644 --- a/src/main/Game.java +++ b/src/main/Game.java @@ -19,41 +19,53 @@ import entity.EntityTypeC; import entity.EntityTypeD; public class Game extends Canvas implements Runnable{ - + private static final long serialVersionUID = 1L; public static final int Width = 800; public static final int Height = 600; public final String Title = "spaaaaaace"; - + private boolean gameon = false; private Thread thread; - - + + private BufferedImage image = new BufferedImage(Width, Height, BufferedImage.TYPE_INT_RGB); private BufferedImage spriteSheet = null; private BufferedImage background = null; - + private BufferedImage level0 = null; + private BufferedImage level1 = null; + private BufferedImage level2 = null; + private BufferedImage level3 = null; + private BufferedImage level4 = null; + private BufferedImage level5 = null; + private BufferedImage level6 = null; + private int is_shooting = 0; private int is_shooting2 = 0; - + private int enemy_count = 1; - private int kills = 0; + private int Tiekills = 0; private int SDcount = 0; + private int SDkills = 0; + private int Score = 0; + private int level = 0; + private int delay = 0; public LinkedList ea; public LinkedList eb; public LinkedList ec; public LinkedList ed; - + + public static enum STATE { MENU, GAME }; public static STATE State = STATE.MENU; - + Random r = new Random(); - - + + //private BufferedImage player; private Player p; private Player2 p2; @@ -62,16 +74,16 @@ public class Game extends Canvas implements Runnable{ private Menu menu; public static int numberOfPlayers = 2; public static boolean padraicmode = false; - + public void init() { requestFocus(); BufferedImageLoader loader = new BufferedImageLoader(); try{ - + spriteSheet = loader.loadimage("/sprite_sheet.png"); background = loader.loadimage("/background.png"); - + }catch(IOException e){ e.printStackTrace(); } @@ -92,25 +104,25 @@ public class Game extends Canvas implements Runnable{ ed = c.getEntityD(); c.createEnemy(enemy_count); } - - - + + + public static void main(String args[]){ Game game = new Game(); - + game.setPreferredSize(new Dimension(Width, Height)); - + JFrame screen = new JFrame(game.Title); screen.add(game); screen.pack(); screen.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); screen.setResizable(false); screen.setVisible(true); - + game.start(); } - + private synchronized void start(){ if (gameon) return; @@ -118,7 +130,7 @@ public class Game extends Canvas implements Runnable{ thread = new Thread(this); thread.start(); } - + private synchronized void stop(){ if (!gameon) return; @@ -130,8 +142,8 @@ public class Game extends Canvas implements Runnable{ } System.exit(1); } - - + + //game loop public void run() { init(); @@ -160,10 +172,10 @@ public class Game extends Canvas implements Runnable{ updates = 0; frames = 0; } - + } stop(); - + } @@ -172,21 +184,21 @@ public class Game extends Canvas implements Runnable{ p.tick(); c.tick(); if(numberOfPlayers == 2){ - p2.tick(); + p2.tick(); } } - if(kills >= enemy_count){ + if(Tiekills >= enemy_count){ if (enemy_count == 10){ c.createSD(SDcount); enemy_count = 2; SDcount++; c.createEnemy(enemy_count); }else{ - enemy_count +=1; - kills = 0; - c.createEnemy(enemy_count); + enemy_count +=1; + Tiekills = 0; + c.createEnemy(enemy_count); }} - + } private void render(){ BufferStrategy bufferstrat = this.getBufferStrategy(); @@ -203,7 +215,7 @@ public class Game extends Canvas implements Runnable{ p.render(g); c.render(g); if(numberOfPlayers == 2){ - p2.render(g); + p2.render(g); } }else if(State == STATE.MENU){ menu.render(g); @@ -211,14 +223,14 @@ public class Game extends Canvas implements Runnable{ ///////////////// g.dispose(); bufferstrat.show(); - + } public void keyPressed(KeyEvent e){ int key = e.getKeyCode(); if(State == STATE.GAME){ if(key == KeyEvent.VK_RIGHT){ p.setVelX(6); - + } else if(key == KeyEvent.VK_LEFT){ p.setVelX(-6); } else if(key == KeyEvent.VK_DOWN){ @@ -230,28 +242,30 @@ public class Game extends Canvas implements Runnable{ is_shooting = 0; } if(is_shooting == 0){ - c.addEntity(new Laser(p.getX(),p.getY(), tp, this));} + c.addEntity(new Laser(p.getX(),p.getY(), tp, this));} is_shooting++; - } else if(key == KeyEvent.VK_A){ - p2.setVelX(-4); - } else if(key == KeyEvent.VK_D){ - p2.setVelX(4); - }else if(key == KeyEvent.VK_S){ - p2.setVelY(4); - }else if(key == KeyEvent.VK_W){ - p2.setVelY(-4); - }else if(key == KeyEvent.VK_SPACE ){ - if(is_shooting2 == 4){ - is_shooting2 = 0; + } + if(numberOfPlayers == 2){ + if(key == KeyEvent.VK_A){ + p2.setVelX(-4); + } else if(key == KeyEvent.VK_D){ + p2.setVelX(4); + }else if(key == KeyEvent.VK_S){ + p2.setVelY(4); + }else if(key == KeyEvent.VK_W){ + p2.setVelY(-4); + }else if(key == KeyEvent.VK_SPACE ){ + if(is_shooting2 == 4){ + is_shooting2 = 0; + } + if(is_shooting2 == 0){ + c.addEntity(new Laser(p2.getX(),p2.getY(), tp, this));} + is_shooting2++; } - if(is_shooting2 == 0){ - c.addEntity(new Laser(p2.getX(),p2.getY(), tp, this));} - is_shooting2++; - } - } - + }} + } - + public void keyReleased(KeyEvent e){ int key = e.getKeyCode(); if(key == KeyEvent.VK_RIGHT){ @@ -264,40 +278,54 @@ public class Game extends Canvas implements Runnable{ p.setVelY(0); } else if(key == KeyEvent.VK_L){ is_shooting = 0; - } else if(key == KeyEvent.VK_A){ - p2.setVelX(0); - } else if(key == KeyEvent.VK_D){ - p2.setVelX(0); - }else if(key == KeyEvent.VK_S){ - p2.setVelY(0); - }else if(key == KeyEvent.VK_W){ - p2.setVelX(0); - }else if(key == KeyEvent.VK_SPACE ){ - - is_shooting2 = 0; - - } - + if(numberOfPlayers == 2){ + if(key == KeyEvent.VK_A){ + p2.setVelX(0); + } else if(key == KeyEvent.VK_D){ + p2.setVelX(0); + }else if(key == KeyEvent.VK_S){ + p2.setVelY(0); + }else if(key == KeyEvent.VK_W){ + p2.setVelY(0); + }else if(key == KeyEvent.VK_SPACE ){ + + is_shooting2 = 0; + + + }} + } - + public BufferedImage getSpriteSheet(){ return spriteSheet; } - + public int getScore(){ + return Score; + } + public void setScore(int score){ + Score = score; + } public int getEnemy_count() { return enemy_count; } public void setEnemy_count(int enemy_count) { this.enemy_count = enemy_count; } - public int getKills() { - return kills; + public int getSDKills(){ + return SDkills; } - public void setKills(int kills) { - this.kills = kills; + public void setSDKills(int SDkill){ + SDkills = SDkill; + } + public int getTieKills() { + return Tiekills; + } + public void setTieKills(int kills) { + this.Tiekills = kills; } public boolean getPadraic(){ return padraicmode; } + }