From ff52b3ec6fda6705883331eaef41c5a2e45c0e6f Mon Sep 17 00:00:00 2001 From: zachg Date: Thu, 14 Apr 2011 20:22:35 -0400 Subject: [PATCH 1/7] MAGNETZ FUCKIN MAGIC --- Resources/pics/Towers/Metal/armEast.png | Bin 0 -> 3814 bytes Resources/pics/Towers/Metal/armNorth.png | Bin 0 -> 3832 bytes Resources/pics/Towers/Metal/armSouth.png | Bin 0 -> 3805 bytes Resources/pics/Towers/Metal/armWest.png | Bin 0 -> 3826 bytes src/Board.java | 11 ++++++----- 5 files changed, 6 insertions(+), 5 deletions(-) create mode 100644 Resources/pics/Towers/Metal/armEast.png create mode 100644 Resources/pics/Towers/Metal/armNorth.png create mode 100644 Resources/pics/Towers/Metal/armSouth.png create mode 100644 Resources/pics/Towers/Metal/armWest.png diff --git a/Resources/pics/Towers/Metal/armEast.png b/Resources/pics/Towers/Metal/armEast.png new file mode 100644 index 0000000000000000000000000000000000000000..5ba92e90da1e887cfc24e374fc98c2a840f53ea4 GIT binary patch literal 3814 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 uZnQSktFF-= literal 0 HcmV?d00001 diff --git a/Resources/pics/Towers/Metal/armSouth.png b/Resources/pics/Towers/Metal/armSouth.png new file mode 100644 index 0000000000000000000000000000000000000000..11af05e8680ac69aaf46764867c8f525c064f4ef GIT binary patch literal 3805 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 literal 0 HcmV?d00001 diff --git a/src/Board.java b/src/Board.java index bcd22db..8233c17 100644 --- a/src/Board.java +++ b/src/Board.java @@ -266,15 +266,16 @@ public void run() { } - - // Check to make sure trash hasn't exited the board - if (trash.get(i).getY() + 30 > Util.boardHeight) { + if(trash.get(i).getImage()==null){ trash.remove(i); - landFillScore += 1; } - if(trash.get(i).getImage()==null){ + // Check to make sure trash hasn't exited the board + else if (trash.get(i).getY() + 30 > Util.boardHeight) { trash.remove(i); + landFillScore += 1; + System.out.println(landFillScore); } + } for(int i=0; i Date: Thu, 14 Apr 2011 22:47:05 -0400 Subject: [PATCH 2/7] a lot of stuff was done --- Resources/pics/Trash/aluminum.png | Bin 0 -> 4286 bytes Resources/pics/Trash/car.png | Bin 0 -> 4490 bytes src/Board.java | 47 ++++++++-- src/Main.java | 24 +++-- src/Menu.java | 3 +- src/Trash.java | 145 +++++++++++++++++------------- src/Util.java | 2 +- src/WaveGen.java | 53 +++++++---- 8 files changed, 178 insertions(+), 96 deletions(-) create mode 100644 Resources/pics/Trash/aluminum.png create mode 100644 Resources/pics/Trash/car.png diff --git a/Resources/pics/Trash/aluminum.png b/Resources/pics/Trash/aluminum.png new file mode 100644 index 0000000000000000000000000000000000000000..336aa19cb276aafd7e359b6498d9d76ab60426b3 GIT binary patch literal 4286 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 literal 0 HcmV?d00001 diff --git a/Resources/pics/Trash/car.png b/Resources/pics/Trash/car.png new file mode 100644 index 0000000000000000000000000000000000000000..930e0ddeda25459506709923463f363a30d36141 GIT binary patch literal 4490 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 messages=new ArrayList(); @@ -63,7 +67,8 @@ public class Board extends JPanel implements Runnable { ArrayList towers = new ArrayList(); // not sure if this should be static but am trying to add towers on button press ArrayList pathX = new ArrayList(); ArrayList pathY = new ArrayList(); - + //Wavegen + WaveGen Wave = new WaveGen(this); public Board() { setDoubleBuffered(true); @@ -78,10 +83,8 @@ public Board() { ii = new ImageIcon(this.getClass().getResource("pics/landfill.png")); landFill = ii.getImage(); - WaveGen Wave = new WaveGen(20, 35, TRASH_SPEED, Util.pathPad, types); - trash = Wave.getWave(); - messages=Wave.getMessages(level); + } @@ -195,6 +198,9 @@ public void removeMoney(int cost) { public int getBudget() { return budget; } + public void setBudget(int aBudget){ + budget = aBudget; + } public void startMusic() { String path = System.getProperty("user.dir"); @@ -235,7 +241,8 @@ public void run() { ingame = true; while (true) { - + trash = Wave.getWave(level); + messages=Wave.getMessages(level); while (trash.size() > 0) { counter++; @@ -273,6 +280,7 @@ public void run() { else if (trash.get(i).getY() + 30 > Util.boardHeight) { trash.remove(i); landFillScore += 1; + escapedTrash +=1; System.out.println(landFillScore); } @@ -312,10 +320,9 @@ else if (trash.get(i).getY() + 30 > Util.boardHeight) { repaint(); level++; + calculateBonus(); - WaveGen Wave = new WaveGen(48, 35, 1, Util.pathPad, types); - trash = Wave.getWave(); - messages=Wave.getMessages(level); + inBetweenLevels = true; if (level > 5) { @@ -326,6 +333,15 @@ else if (trash.get(i).getY() + 30 > Util.boardHeight) { ingame = false; + } + private void calculateBonus(){ + double multiplier = 1; + multiplier = (airQual/1000) * multiplier; + multiplier = (level/4) + multiplier; + multiplier = multiplier - (escapedTrash/100); + + budget += (int)(multiplier*150); + } private void calculateScore(Tower tower, Trash trash){ @@ -346,6 +362,19 @@ private void resetTowers() { } } + public boolean onTower(int x, int y){ + for(int i=0; i=x && tY<=y && tY+tH>=y){ + return true; + } + } + return false; + } // Method to determine if the user is adding the tower on top of the path public boolean inPath(int x, int y) { diff --git a/src/Main.java b/src/Main.java index 310a73d..3e34023 100644 --- a/src/Main.java +++ b/src/Main.java @@ -20,27 +20,35 @@ public class Main extends JFrame { Board board; //Helps define where different components are -JJ - private BorderLayout LayoutMGR=new BorderLayout(); + // private BorderLayout LayoutMGR=new BorderLayout(); +// private FlowLayout LayoutMGR = new FlowLayout(); public Main() { - this.setLayout(LayoutMGR); + this.setLayout(null); Board board= new Board(); - add(board,BorderLayout.CENTER); + setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setSize(900,650); setLocationRelativeTo(null); setTitle("Trashed"); setResizable(false); - + + board.setBounds(0, 0, 600, 650); + board.setPreferredSize(new Dimension(600,650)); + board.setMaximumSize(new Dimension(600,650)); JPanel menu=new Menu(board); - menu.setSize(300, 650); + menu.setSize(300, 550); - menu.setPreferredSize(new Dimension(300,650)); - menu.setMaximumSize(new Dimension(300,650)); - add(menu,BorderLayout.LINE_END); + + menu.setBounds(600, 0, 300, 550); + menu.setPreferredSize(new Dimension(300,550)); + menu.setMaximumSize(new Dimension(300,550)); + add(menu); + add(board); + setVisible(true); } diff --git a/src/Menu.java b/src/Menu.java index 0201a39..4ba33ac 100644 --- a/src/Menu.java +++ b/src/Menu.java @@ -25,6 +25,7 @@ public class Menu extends JPanel implements Runnable { private String currentTowerDirection = "South"; public Menu(Board board) { + setDoubleBuffered(true); gameBoard = board; board.addMouseListener(new Mouse()); board.addMouseMotionListener(new Mouse()); @@ -314,7 +315,7 @@ public void run() { while (true) { long pause = 0; - + repaint(); timeDiff = System.currentTimeMillis() - beforeTime; sleep = DELAY - timeDiff; diff --git a/src/Trash.java b/src/Trash.java index 76ca209..beb7aaf 100644 --- a/src/Trash.java +++ b/src/Trash.java @@ -20,6 +20,9 @@ public class Trash{ }else if(type==Util.TrashType.plastic){ ImageIcon ii = new ImageIcon(this.getClass().getResource("pics/Trash/plastic.png")); trashPic = ii.getImage(); + }else if(type==Util.TrashType.aluminum){ + ImageIcon ii = new ImageIcon(this.getClass().getResource("pics/Trash/aluminum.png")); + trashPic = ii.getImage(); }else{ ImageIcon ii = new ImageIcon(this.getClass().getResource("pics/Trash/paper.png")); trashPic = ii.getImage(); @@ -76,70 +79,90 @@ public void followPath(ArrayList X, ArrayList Y){ } +private boolean willTowerFire(Tower tower){ + + if(tower.getType()==Util.TowerType.compost){ + if(this.type==Util.TrashType.food){ + return true; + } + }else if(tower.getType()==Util.TowerType.incenerator){ + return true; + }else if(tower.getType()==Util.TowerType.metal){ + if(this.type==Util.TrashType.metal){ + return true; + } + }else if(tower.getType()==Util.TowerType.recycle){ + if(this.type==Util.TrashType.paper || this.type==Util.TrashType.plastic){ + return true; + } + } + + return false; + } + public boolean detectCollisions(Tower tower, ArrayList X, ArrayList Y){ - - double distX, distY,angle; - int tempCurPath = curPath; - double tempX = x; - double tempY = y; - - if((tower.getType()==Util.TowerType.recycle && type==Util.TrashType.plastic) || (tower.getType()==Util.TowerType.incenerator && type==Util.TrashType.paper)){ - - for(int i=0; i=X.size()){ - tempCurPath=0; - } - } - angle=Math.atan2(distY, distX); - tempX=tempX+speed*Math.round(Math.cos(angle)); - tempY=tempY+speed*Math.round(Math.sin(angle)); - } - //if any 4 corners of trash inside 4 corners of range: FIRE! - //Tower Coords: - //(x,y) = (curTower.getX, curTower.getY()+2*curTower.getMidY()) - //(x,y) = (curTower.getX, curTower.getY()+2*curTower.getMidY()+curTower.getRange()) - //(x,y) = (curTower.getX + curTower.getWidth, curTower.getY()+2*curTower.getMidY()) - //(x,y) = (curTower.getX + curTower.getWidth, curTower.getY()+2*curTower.getMidY()+curTower.getRange()) - //Trash Coords: - //(x,y) = (x,y) - //(x,y) = (x + trashPic.getWidth(null),y) - //(x,y) = (x,y + trashPic.getHeight(null)) - //(x,y) = (x + trashPic.getWidth(null), y + trashPic.getHeight(null); + if(Math.abs(distX)+Math.abs(distY)=X.size()){ + tempCurPath=0; + } + } + angle=Math.atan2(distY, distX); + tempX=tempX+speed*Math.round(Math.cos(angle)); + tempY=tempY+speed*Math.round(Math.sin(angle)); + } + //if any 4 corners of trash inside 4 corners of range: FIRE! + //Tower Coords: + //(x,y) = (curTower.getX, curTower.getY()+2*curTower.getMidY()) + //(x,y) = (curTower.getX, curTower.getY()+2*curTower.getMidY()+curTower.getRange()) + //(x,y) = (curTower.getX + curTower.getWidth, curTower.getY()+2*curTower.getMidY()) + //(x,y) = (curTower.getX + curTower.getWidth, curTower.getY()+2*curTower.getMidY()+curTower.getRange()) + //Trash Coords: + //(x,y) = (x,y) + //(x,y) = (x + trashPic.getWidth(null),y) + //(x,y) = (x,y + trashPic.getHeight(null)) + //(x,y) = (x + trashPic.getWidth(null), y + trashPic.getHeight(null); - if(tower.getDirection().equalsIgnoreCase("South")){ - if(tempX+trashPic.getWidth(null)/2>=tower.getX()+tower.getWidth()/2-Math.ceil(speed/2) && tempX+trashPic.getWidth(null)/2<=tower.getX() + tower.getWidth()/2+Math.ceil(speed/2)){ - if((tempY>=tower.getY()+tower.getBaseImage().getHeight(null) && tempY<=tower.getY()+tower.getBaseImage().getHeight(null)+tower.getRange())){ - return true; - } - } - }else if(tower.getDirection().equalsIgnoreCase("East")){ - if(tempY+ trashPic.getHeight(null)/2>=tower.getY()+tower.getHeight()/2-Math.ceil(speed/2) && tempY+ trashPic.getHeight(null)/2<=tower.getY()+tower.getHeight()/2+Math.ceil(speed/2)){ - if((tempX>=tower.getX()+tower.getBaseImage().getWidth(null) && tempX<=tower.getX()+tower.getBaseImage().getWidth(null)+tower.getRange())){ - return true; - } - } - }else if(tower.getDirection().equalsIgnoreCase("North")){ - if((tempX+trashPic.getWidth(null)/2>=tower.getX()+tower.getWidth()/2-Math.ceil(speed/2) && tempX+trashPic.getWidth(null)/2<=tower.getX() + tower.getWidth()/2+Math.ceil(speed/2))){ - if((tempY+ trashPic.getHeight(null)<=tower.getY() && tempY+ trashPic.getHeight(null)>=tower.getY()-tower.getRange())){ - return true; - } - } - }else if(tower.getDirection().equalsIgnoreCase("West")){ - if((tempY+ trashPic.getHeight(null)/2>=tower.getY()+tower.getHeight()/2-Math.ceil(speed/2) && tempY+ trashPic.getHeight(null)/2<=tower.getY()+tower.getHeight()/2+Math.ceil(speed/2))){ - if((tempX+ trashPic.getWidth(null)<=tower.getX() && tempX+ trashPic.getWidth(null)>=tower.getX()-tower.getRange())){ - return true; - } - } - } - } - return false; - } - + if(tower.getDirection().equalsIgnoreCase("South")){ + if(tempX+trashPic.getWidth(null)/2>=tower.getX()+tower.getWidth()/2-Math.ceil(speed/2) && tempX+trashPic.getWidth(null)/2<=tower.getX() + tower.getWidth()/2+Math.ceil(speed/2)){ + if((tempY>=tower.getY()+tower.getBaseImage().getHeight(null) && tempY<=tower.getY()+tower.getBaseImage().getHeight(null)+tower.getRange())){ + return true; + } + } + }else if(tower.getDirection().equalsIgnoreCase("East")){ + if(tempY+ trashPic.getHeight(null)/2>=tower.getY()+tower.getHeight()/2-Math.ceil(speed/2) && tempY+ trashPic.getHeight(null)/2<=tower.getY()+tower.getHeight()/2+Math.ceil(speed/2)){ + if((tempX>=tower.getX()+tower.getBaseImage().getWidth(null) && tempX<=tower.getX()+tower.getBaseImage().getWidth(null)+tower.getRange())){ + return true; + } + } + }else if(tower.getDirection().equalsIgnoreCase("North")){ + if((tempX+trashPic.getWidth(null)/2>=tower.getX()+tower.getWidth()/2-Math.ceil(speed/2) && tempX+trashPic.getWidth(null)/2<=tower.getX() + tower.getWidth()/2+Math.ceil(speed/2))){ + if((tempY+ trashPic.getHeight(null)<=tower.getY() && tempY+ trashPic.getHeight(null)>=tower.getY()-tower.getRange())){ + return true; + } + } + }else if(tower.getDirection().equalsIgnoreCase("West")){ + if((tempY+ trashPic.getHeight(null)/2>=tower.getY()+tower.getHeight()/2-Math.ceil(speed/2) && tempY+ trashPic.getHeight(null)/2<=tower.getY()+tower.getHeight()/2+Math.ceil(speed/2))){ + if((tempX+ trashPic.getWidth(null)<=tower.getX() && tempX+ trashPic.getWidth(null)>=tower.getX()-tower.getRange())){ + return true; + } + } + } + } + return false; + } public boolean isKilled(){ return beenKilled; diff --git a/src/Util.java b/src/Util.java index bfd250c..d940d6a 100644 --- a/src/Util.java +++ b/src/Util.java @@ -1,7 +1,7 @@ public class Util { enum TowerType {incenerator, compactor, recycle,windmill,compost,metal}; - enum TrashType {paper, plastic, metal,food}; + enum TrashType {paper, plastic, metal,food, aluminum}; //Board Dimensions used for making the path static final int boardWidth=600; diff --git a/src/WaveGen.java b/src/WaveGen.java index 3085603..c775671 100644 --- a/src/WaveGen.java +++ b/src/WaveGen.java @@ -4,26 +4,47 @@ //update public class WaveGen { + Board theBoard; - private ArrayList wave= new ArrayList(); - - - public WaveGen(int num, int spacing, double speed, int initY, Util.TrashType[] types){ - - int curX=-30; - - for(int i=0; i wave= new ArrayList(); + + public ArrayList getWave(int level){ + int num =0; + int spacing = 0; + int initY= Util.pathPad; + int speed= 0; + ArrayList types = new ArrayList(); + if (level ==1){ + num =10; + spacing = 135; + speed =2; + types.add(Util.TrashType.paper); + + + }else if (level ==2){ + + + num =20; + spacing = 85; + speed =3; + types.add(Util.TrashType.paper); + + } + int curX=-30; + + for(int i=0; i getWave(){ - return wave; + return wave; + + } public ArrayList getMessages(int level) { From 93de1f2b8bd0e4afd290da4750a3685e60898d40 Mon Sep 17 00:00:00 2001 From: zachg Date: Mon, 18 Apr 2011 23:11:12 -0400 Subject: [PATCH 3/7] makin some levelz --- Resources/pics/Trash/{car.png => metal.png} | Bin Resources/pics/welcome2.png | Bin 96126 -> 41811 bytes Resources/pics/welcome3.png | Bin 0 -> 42159 bytes src/Board.java | 9 ++++-- src/Menu.java | 9 ++++-- src/Trash.java | 7 ++++- src/WaveGen.java | 30 ++++++++++++++++---- 7 files changed, 44 insertions(+), 11 deletions(-) rename Resources/pics/Trash/{car.png => metal.png} (100%) create mode 100644 Resources/pics/welcome3.png diff --git a/Resources/pics/Trash/car.png b/Resources/pics/Trash/metal.png similarity index 100% rename from Resources/pics/Trash/car.png rename to Resources/pics/Trash/metal.png diff --git a/Resources/pics/welcome2.png b/Resources/pics/welcome2.png index 557567912d821f00e6a34882f07934e4731ee23d..1c6d475a357a91349cb1fc0bb97906d0cadc6563 100644 GIT binary patch delta 39393 zcma&O1z40{zcmafh$txCf`EX4q=ckW(#_CAcZzh~A}t^S(gIQ<(hUwNEg;<`-OWhD zx5xi;&U?=LKG%27TyqWJ<;)#>@84R#wbq`i9n7J2j1R1L?hvA(-62FrOa4Sw$`^_Q zp(XmsO1{wWnB2Pb^q`#ZWPI1CE&JB&1wm!F%I=0m7BynK!m9uMqQDG6+4w6etbGDY zXTDAi$YK$du3_PejSC#iqL2 z!C%cbOOhzeH}CxAypVwAR}7q+GB(c~#UPJljC=VTY{;}-pH-nbTkoCPRU&NEV_MS* z<4v!HM4pCtp2pi=3&KJ=T3TACkQb^%H8T$2$^0%e#yd~rM}|a*(^~(-kKN`2av0#@ zPNvUJ%5LyIP(FdZdD+>z>+*@C=bf^N0;@;p=;;1JcLM?fPA*o(qEJVKaGk3s?3fd} zJ1xpPmz^`?Zi2_obMRp+y4B$;_ras)oVL^8Ie2_Pyg@x^-NDD8qrcce9Sq~`G$!gT zH*4>pPTH9i^^W^X?BG;sowTA6Y~3kpFw~okQaVMF6c$>;2;*fCv1NbXJ0-IN`9DV^ zBqU5sPPUPsO#MiFzb5sAQZ5%CU$AM%`>^)=HT<2_Xg}sT-!{`SGBHiXxG|akJziDx zbXbK%#)n7w({dBqY{8|aT&;`yUv?utC@_L|w~MN)tA9CG&QVMJ^vNteN(nX+(`zLL z0)vt8Nyx$?*q5J&CjcCWA+`%wuVuihBCp;|r+sOOK`rm&{A-mtB_*ZgS-rXH#l^+s z(k~%no0w=aF$`o9zh~*(>9(B&BD%U{vxnBxJ}%$>N_^obwz9H^ z%Zn)+!^zKot8p$WDT!SD?X5SpwasL;E{78wExj+KwibGJ;v=e{sF(y#*_|@t43%Lp(T(4E)M@Zr>1}xe=^d;9v^SRN zz9cl4YcJ;yPxl0 zf%v|OCrO8Ur#_u#+&wJF^Gj^30GZq ~;(J~BA3EwfuhDt(o0-gui^E~I5elWgN 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 P1_jODhHlNV^p5)rMIBsx literal 96126 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�J-Zc?z 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 literal 0 HcmV?d00001 diff --git a/src/Board.java b/src/Board.java index 821becf..6a243fb 100644 --- a/src/Board.java +++ b/src/Board.java @@ -347,9 +347,14 @@ private void calculateBonus(){ private void calculateScore(Tower tower, Trash trash){ if(tower.type==Util.TowerType.incenerator){ - budget+=15; + budget+=10; airQual-=15; - }else{ + }else if (tower.type==Util.TowerType.recycle){ + airQual +=5; + budget+=15; + } + + else{ budget+=25; } diff --git a/src/Menu.java b/src/Menu.java index 4ba33ac..78da3b3 100644 --- a/src/Menu.java +++ b/src/Menu.java @@ -41,10 +41,10 @@ public Menu(Board board) { startWaveButton.addActionListener(new StartWaveButtonListener()); JButton windmillButton = new JButton("Add Windmill-$300"); windmillButton.addActionListener(new WindmillButtonListener()); - JButton metalButton = new JButton("Add Scrap Metal-$150"); + JButton metalButton = new JButton("Add Magnet-$150"); metalButton.addActionListener(new MetalButtonListener()); - add(recycleButton); add(inceneratorButton); + add(recycleButton); add(metalButton); add(windmillButton); add(startWaveButton); @@ -161,13 +161,16 @@ public void mousePressed(MouseEvent e) { // Detect a left click if (e.getButton() == 1) { + int towerRate = 1; Util.TowerType type = null; if (addInceneratorTower) { type = Util.TowerType.incenerator; + towerRate = 2; } else if ((addRecycleTower)) { type = Util.TowerType.recycle; + towerRate = 1; } else if ((addWindmillTower)) { @@ -181,7 +184,7 @@ public void mousePressed(MouseEvent e) { boolean isValid = validTower(mouseX, mouseY, type); if (type != null && isValid) { - gameBoard.addTower(new Tower(adjX, adjY, 1, 25, type, + gameBoard.addTower(new Tower(adjX, adjY, towerRate, 25, type, isValid, currentTowerDirection)); gameBoard.removeMoney(getCost(type)); gameBoard.pendingTower = null; diff --git a/src/Trash.java b/src/Trash.java index beb7aaf..22bdd05 100644 --- a/src/Trash.java +++ b/src/Trash.java @@ -20,6 +20,9 @@ public class Trash{ }else if(type==Util.TrashType.plastic){ ImageIcon ii = new ImageIcon(this.getClass().getResource("pics/Trash/plastic.png")); trashPic = ii.getImage(); + }else if(type==Util.TrashType.metal){ + ImageIcon ii = new ImageIcon(this.getClass().getResource("pics/Trash/metal.png")); + trashPic = ii.getImage(); }else if(type==Util.TrashType.aluminum){ ImageIcon ii = new ImageIcon(this.getClass().getResource("pics/Trash/aluminum.png")); trashPic = ii.getImage(); @@ -86,9 +89,11 @@ private boolean willTowerFire(Tower tower){ return true; } }else if(tower.getType()==Util.TowerType.incenerator){ + if (this.type==Util.TrashType.paper || this.type==Util.TrashType.plastic || this.type==Util.TrashType.food){ return true; + } }else if(tower.getType()==Util.TowerType.metal){ - if(this.type==Util.TrashType.metal){ + if(this.type==Util.TrashType.metal || this.type==Util.TrashType.aluminum){ return true; } }else if(tower.getType()==Util.TowerType.recycle){ diff --git a/src/WaveGen.java b/src/WaveGen.java index c775671..0127b1c 100644 --- a/src/WaveGen.java +++ b/src/WaveGen.java @@ -18,22 +18,39 @@ public ArrayList getWave(int level){ int initY= Util.pathPad; int speed= 0; ArrayList types = new ArrayList(); + if (level ==1){ num =10; spacing = 135; - speed =2; + speed =2; //high for testing purposes, should be 2 types.add(Util.TrashType.paper); - - + types.add(Util.TrashType.aluminum); + types.add(Util.TrashType.metal); + }else if (level ==2){ - - + num =20; spacing = 85; speed =3; types.add(Util.TrashType.paper); + + }else if (level ==3){ + num = 25; + spacing = 85; + speed =3; + types.add(Util.TrashType.paper); + types.add(Util.TrashType.plastic); + }else if (level ==4){ + num = 30; + spacing= 80; + speed = 4; + types.add(Util.TrashType.plastic); + types.add(Util.TrashType.aluminum); } + + + int curX=-30; for(int i=0; i getMessages(int level) { temp.add(new ImageIcon(this.getClass().getResource( "pics/welcome1.png"))); if (level == 2) + temp.add(new ImageIcon(this.getClass().getResource( + "pics/welcome3.png"))); + if (level == 3) temp.add(new ImageIcon(this.getClass().getResource( "pics/welcome2.png"))); return temp; From 39a9027cbfac3b115a63d26a0af15ad3415bd78e Mon Sep 17 00:00:00 2001 From: heelsfan23r Date: Sat, 23 Apr 2011 10:52:38 -0700 Subject: [PATCH 4/7] Edited src/Board.java via GitHub --- src/Board.java | 903 ++++++++++++++++++++++++------------------------- 1 file changed, 449 insertions(+), 454 deletions(-) diff --git a/src/Board.java b/src/Board.java index 6a243fb..8522ca3 100644 --- a/src/Board.java +++ b/src/Board.java @@ -1,454 +1,449 @@ -import java.awt.Color; -import java.awt.Font; -import java.awt.Graphics; -import java.awt.Graphics2D; -import java.awt.Image; -import java.awt.Toolkit; -import java.io.FileInputStream; -import java.io.FileNotFoundException; -import java.io.IOException; -import java.io.InputStream; -import java.util.ArrayList; -import sun.audio.*; -import javax.swing.ImageIcon; -import javax.swing.JPanel; - - -public class Board extends JPanel implements Runnable { - - /** - * - */ - private static final long serialVersionUID = -5438534791450927749L; - - // Global Variables - - private final int DELAY = 50; - - // Thread for the Board Class to run in seperately from everything else - private Thread animator; - - static Tower pendingTower; - - Util.TrashType[] types = { Util.TrashType.paper, Util.TrashType.plastic }; - private int TRASH_SPEED = 2; - - // Images - private Image background; - private Image landFill; - - // Fonts - private Font bigfont = new Font("Helvetica", Font.BOLD, 25); - private Font smallfont = new Font("Comic Sans", Font.BOLD, 16); - - // Audio Player - AudioStream as; - private static Boolean muted = true; - - /* Game State Variables */ - - // Game State Booleans - public static boolean inBetweenLevels = true; - private boolean ingame = true; - - // Game State Variables - private Integer budget = 150; - private Double airQual = 1000.0; - private Integer level = 1; - private Integer landFillScore = 0; - private Integer escapedTrash =0; - public Integer getLandFillScore() { - return landFillScore; - } - - // Game State Lists - static ArrayList messages=new ArrayList(); - ArrayList trash = new ArrayList(); - ArrayList towers = new ArrayList(); // not sure if this should be static but am trying to add towers on button press - ArrayList pathX = new ArrayList(); - ArrayList pathY = new ArrayList(); - //Wavegen - WaveGen Wave = new WaveGen(this); - public Board() { - - setDoubleBuffered(true); - - makeBoard(pathX, pathY); - - // My computer wants Board capitalized. -JJ - ImageIcon ii = new ImageIcon(this.getClass().getResource( - "pics/Board.png")); - background = ii.getImage(); - - ii = new ImageIcon(this.getClass().getResource("pics/landfill.png")); - landFill = ii.getImage(); - - - - - } - - public void addNotify() { - super.addNotify(); - animator = new Thread(this); - animator.start(); - } - - public void makeBoard(ArrayList pathX, ArrayList pathY) { - - pathX.add(0); - pathY.add(Util.pathPad); - - pathX.add(Util.boardWidth - Util.pathPad - Util.pathWidth); - pathY.add(Util.pathPad); - - pathX.add(Util.boardWidth - Util.pathPad - Util.pathWidth); - pathY.add(Util.pathPad + Util.pathHeight + Util.gapPad); - - pathX.add(Util.pathPad); - pathY.add(Util.pathPad + Util.pathHeight + Util.gapPad); - - pathX.add(Util.pathPad); - pathY.add(Util.pathPad + Util.pathHeight * 2 + Util.gapPad * 2); - - pathX.add(Util.boardWidth - Util.pathPad - Util.pathWidth); - pathY.add(Util.pathPad + Util.pathHeight * 2 + Util.gapPad * 2); - - pathX.add(Util.boardWidth - Util.pathPad - Util.pathWidth); - pathY.add(Util.boardHeight + Util.pathHeight); - - pathX.add(-Util.pathWidth); - pathY.add(Util.boardHeight + Util.pathHeight); - - pathX.add(-Util.pathWidth); - pathY.add(Util.pathPad); - } - - public void paint(Graphics g) { - super.paint(g); - Graphics2D g2d = (Graphics2D) g; - g2d.drawImage(background, 0, 0, this); - - if (ingame) { - - g2d.drawImage(landFill, 0, 0, this); - // Draw each piece of trash in our trash array onto the frame - for (int i = 0; i < trash.size(); i++) { - Trash curTrash = trash.get(i); - g2d.drawImage(curTrash.getImage(), (int) curTrash.getX(), - (int) curTrash.getY(), this); - } - - for (int i = 0; i < towers.size(); i++) { - Tower curTower = towers.get(i); - g2d.drawImage(curTower.getArmImage(), (int) curTower.getArmX(), - (int) curTower.getArmY(), this); - g2d.drawImage(curTower.getBaseImage(), (int) curTower.getX(), - (int) curTower.getY(), this); - - } - - // JJ - if (pendingTower != null - && (pendingTower.getX() != Integer.MIN_VALUE || pendingTower - .getY() != Integer.MIN_VALUE)) { - g2d.drawImage(pendingTower.getBaseImage(), - (int) pendingTower.getX(), (int) pendingTower.getY(), - this); - } - - - - if(inBetweenLevels) - { - if(messages.size()!=0) - g2d.drawImage(messages.get(0).getImage(),135,135 - ,this); - } - - } else { - g2d.setFont(bigfont); - g2d.drawString("GAME OVER", 250, 300); - - } - g2d.setFont(smallfont); - g2d.setColor(Color.RED); - g2d.drawString("Air Quality: " + airQual.toString() + " | Budget: $" - + budget.toString() + " | Level: " + level.toString() - + " | Trash Left: " + trash.size() + "00 lbs" + " | Landfill " - + landFillScore.toString() + "% Full", 5, 615); - - Toolkit.getDefaultToolkit().sync(); - g.dispose(); - - if (!AudioPlayer.player.isAlive()) { - startMusic(); - } - } - - public static void startWave() { - inBetweenLevels = false; - } - - public void removeMoney(int cost) { - - budget -= cost; - } - - public int getBudget() { - return budget; - } - public void setBudget(int aBudget){ - budget = aBudget; - } - - public void startMusic() { - String path = System.getProperty("user.dir"); - try { - - path += "/Resources/audio/Menu.au"; - InputStream in = new FileInputStream(path); - as = new AudioStream(in); - AudioPlayer.player.start(as); - - } catch (FileNotFoundException e1) { - e1.printStackTrace(); - } catch (IOException e) { - e.printStackTrace(); - } - muted = false; - } - - public boolean isMuted() { - return muted; - } - - public void stopMusic() { - AudioPlayer.player.stop((as)); - muted = true; - } - - public void run() { - - long beforeTime, timeDiff, sleep; - - beforeTime = System.currentTimeMillis(); - - int counter = 0; - - // startMusic(); - - ingame = true; - - while (true) { - trash = Wave.getWave(level); - messages=Wave.getMessages(level); - while (trash.size() > 0) { - counter++; - - long pause = 0; - while (inBetweenLevels) { - repaint(); - } - - for (int i = 0; i < trash.size(); i++) { - - trash.get(i).followPath(pathX, pathY); - - for (int j = 0; j < towers.size(); j++) { - // Windmills don't need to check for collisions - if (towers.get(j).getType() == Util.TowerType.windmill) { - break; - } - //towers.get(j).setFiring(true); - //System.out.println(!trash.get(i).isKilled() +" "+ !towers.get(j).getFiring() +" "+trash.get(i).detectCollisions(towers.get(j),pathX, pathY)); - if (!trash.get(i).isKilled() && !towers.get(j).getFiring() && trash.get(i).detectCollisions(towers.get(j),pathX, pathY)) { - //System.out.println("SHIT"); - calculateScore(towers.get(j),trash.get(i)); - towers.get(j).setFiring(true,trash.get(i)); - trash.get(i).setKilled(); - } - - - - } - - if(trash.get(i).getImage()==null){ - trash.remove(i); - } - // Check to make sure trash hasn't exited the board - else if (trash.get(i).getY() + 30 > Util.boardHeight) { - trash.remove(i); - landFillScore += 1; - escapedTrash +=1; - System.out.println(landFillScore); - } - - } - - for(int i=0; i 5) { - break; - } - - } - - ingame = false; - - } - private void calculateBonus(){ - double multiplier = 1; - multiplier = (airQual/1000) * multiplier; - multiplier = (level/4) + multiplier; - multiplier = multiplier - (escapedTrash/100); - - budget += (int)(multiplier*150); - - } - - private void calculateScore(Tower tower, Trash trash){ - - if(tower.type==Util.TowerType.incenerator){ - budget+=10; - airQual-=15; - }else if (tower.type==Util.TowerType.recycle){ - airQual +=5; - budget+=15; - } - - else{ - budget+=25; - } - - - } - - private void resetTowers() { - for (int i = 0; i < towers.size(); i++) { - towers.get(i).resetTower(); - } - } - - public boolean onTower(int x, int y){ - for(int i=0; i=x && tY<=y && tY+tH>=y){ - return true; - } - } - return false; - } - // Method to determine if the user is adding the tower on top of the path - public boolean inPath(int x, int y) { - - // Inside actual game board - if ((x > 0 && x > Util.boardWidth) || (y > 0 && y > Util.boardHeight)) { - return true; - } - - // First row - if ((x > 0 && x < Util.boardWidth - Util.pathPad - + (Util.towerWidth / 2)) - && (y > Util.pathPad - (Util.towerWidth / 2) && y < Util.pathPad - + Util.pathWidth + (Util.towerWidth / 2))) { - return true; - // First down - } else if ((x < Util.boardWidth - Util.pathPad + (Util.towerWidth / 2) && x > (Util.boardWidth - - Util.pathPad - Util.pathWidth - (Util.towerWidth / 2))) - && (y > Util.pathPad - (Util.towerWidth / 2) && (y < Util.pathPad - + Util.gapPad + (Util.towerWidth / 2)))) { - return true; - // First Switch Back - } else if (x < Util.boardWidth - Util.pathPad + (Util.towerWidth / 2) - && x > Util.pathPad - (Util.towerWidth / 2) - && y > Util.pathPad + Util.pathWidth + Util.gapPad - - (Util.towerWidth / 2) - && y < Util.pathPad + (2 * Util.pathWidth) + Util.gapPad - + (Util.towerWidth / 2)) { - return true; - // Second Down - } else if (x > Util.pathPad - (Util.towerWidth / 2) - && x < Util.pathPad + Util.pathWidth + (Util.towerWidth / 2) - && y > Util.pathPad + Util.pathWidth + Util.gapPad - - (Util.towerWidth / 2) - && y < Util.pathPad + 2 * Util.pathWidth + 2 * Util.gapPad - + (Util.towerWidth / 2)) { - return true; - // Second Switch Back - } else if (x > Util.pathPad - (Util.towerWidth / 2) - && x < Util.boardWidth - Util.pathPad + (Util.towerWidth / 2) - && y > Util.pathPad + 2 * Util.pathWidth + 2 * Util.gapPad - - (Util.towerWidth / 2) - && y < Util.pathPad + (3 * Util.pathWidth) + 2 * Util.gapPad - + (Util.towerWidth / 2)) { - return true; - // Third Down - } else if ((x < Util.boardWidth - Util.pathPad + (Util.towerWidth / 2) && x > (Util.boardWidth - - Util.pathPad - Util.pathWidth - (Util.towerWidth / 2))) - && y > Util.pathPad + (3 * Util.pathWidth) + 2 * Util.gapPad - + (Util.towerWidth / 2)) { - return true; - } - - return false; - } - - // JJ - public void addTower(Tower t) { - towers.add(t); - } - - public static void addPendingTower(Tower t) { - pendingTower = t; - } - - public static void removePendingTower() { - pendingTower = null; - } - - public int getLevel() { - return level; - } -} +import java.awt.Color; +import java.awt.Font; +import java.awt.Graphics; +import java.awt.Graphics2D; +import java.awt.Image; +import java.awt.Toolkit; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.io.InputStream; +import java.util.ArrayList; +import sun.audio.*; +import javax.swing.ImageIcon; +import javax.swing.JPanel; + + +public class Board extends JPanel implements Runnable { + + /** + * + */ + private static final long serialVersionUID = -5438534791450927749L; + + // Global Variables + + private final int DELAY = 50; + + // Thread for the Board Class to run in seperately from everything else + private Thread animator; + + static Tower pendingTower; + + Util.TrashType[] types = { Util.TrashType.paper, Util.TrashType.plastic }; + private int TRASH_SPEED = 2; + + // Images + private Image background; + private Image landFill; + + // Fonts + private Font bigfont = new Font("Helvetica", Font.BOLD, 25); + private Font smallfont = new Font("Comic Sans", Font.BOLD, 16); + + // Audio Player + AudioStream as; + private static Boolean muted = true; + + /* Game State Variables */ + + // Game State Booleans + public static boolean inBetweenLevels = true; + private boolean ingame = true; + + // Game State Variables + private Integer budget = 150; + Double airQual = 1000.0; + private Integer level = 1; + private Integer landFillScore = 0; + private Integer escapedTrash =0; + public Integer getLandFillScore() { + return landFillScore; + } + + // Game State Lists + static ArrayList messages=new ArrayList(); + ArrayList trash = new ArrayList(); + ArrayList towers = new ArrayList(); // not sure if this should be static but am trying to add towers on button press + ArrayList pathX = new ArrayList(); + ArrayList pathY = new ArrayList(); + //Wavegen + WaveGen Wave = new WaveGen(this); + public Board() { + + setDoubleBuffered(true); + + makeBoard(pathX, pathY); + + // My computer wants Board capitalized. -JJ + ImageIcon ii = new ImageIcon(this.getClass().getResource( + "pics/Board.png")); + background = ii.getImage(); + + ii = new ImageIcon(this.getClass().getResource("pics/landfill.png")); + landFill = ii.getImage(); + + + + + } + + public void addNotify() { + super.addNotify(); + animator = new Thread(this); + animator.start(); + } + + public void makeBoard(ArrayList pathX, ArrayList pathY) { + + pathX.add(0); + pathY.add(Util.pathPad); + + pathX.add(Util.boardWidth - Util.pathPad - Util.pathWidth); + pathY.add(Util.pathPad); + + pathX.add(Util.boardWidth - Util.pathPad - Util.pathWidth); + pathY.add(Util.pathPad + Util.pathHeight + Util.gapPad); + + pathX.add(Util.pathPad); + pathY.add(Util.pathPad + Util.pathHeight + Util.gapPad); + + pathX.add(Util.pathPad); + pathY.add(Util.pathPad + Util.pathHeight * 2 + Util.gapPad * 2); + + pathX.add(Util.boardWidth - Util.pathPad - Util.pathWidth); + pathY.add(Util.pathPad + Util.pathHeight * 2 + Util.gapPad * 2); + + pathX.add(Util.boardWidth - Util.pathPad - Util.pathWidth); + pathY.add(Util.boardHeight + Util.pathHeight); + + pathX.add(-Util.pathWidth); + pathY.add(Util.boardHeight + Util.pathHeight); + + pathX.add(-Util.pathWidth); + pathY.add(Util.pathPad); + } + + public void paint(Graphics g) { + super.paint(g); + Graphics2D g2d = (Graphics2D) g; + g2d.drawImage(background, 0, 0, this); + + if (ingame) { + + g2d.drawImage(landFill, 0, 0, this); + // Draw each piece of trash in our trash array onto the frame + for (int i = 0; i < trash.size(); i++) { + Trash curTrash = trash.get(i); + g2d.drawImage(curTrash.getImage(), (int) curTrash.getX(), + (int) curTrash.getY(), this); + } + + for (int i = 0; i < towers.size(); i++) { + Tower curTower = towers.get(i); + g2d.drawImage(curTower.getArmImage(), (int) curTower.getArmX(), + (int) curTower.getArmY(), this); + g2d.drawImage(curTower.getBaseImage(), (int) curTower.getX(), + (int) curTower.getY(), this); + + } + + // JJ + if (pendingTower != null + && (pendingTower.getX() != Integer.MIN_VALUE || pendingTower + .getY() != Integer.MIN_VALUE)) { + g2d.drawImage(pendingTower.getBaseImage(), + (int) pendingTower.getX(), (int) pendingTower.getY(), + this); + } + + + + if(inBetweenLevels) + { + if(messages.size()!=0) + g2d.drawImage(messages.get(0).getImage(),135,135 + ,this); + } + + } else { + g2d.setFont(bigfont); + g2d.drawString("GAME OVER", 250, 300); + + } + g2d.setFont(smallfont); + g2d.setColor(Color.RED); + g2d.drawString("Air Quality: " + airQual.toString() + " | Budget: $" + + budget.toString() + " | Level: " + level.toString() + + " | Trash Left: " + trash.size() + "00 lbs" + " | Landfill " + + landFillScore.toString() + "% Full", 5, 615); + + Toolkit.getDefaultToolkit().sync(); + g.dispose(); + + if (!AudioPlayer.player.isAlive()) { + startMusic(); + } + } + + public static void startWave() { + inBetweenLevels = false; + } + + public void removeMoney(int cost) { + + budget -= cost; + } + + public Integer getBudget() { + return budget; + } + public void setBudget(int aBudget){ + budget = aBudget; + } + + public void startMusic() { + String path = System.getProperty("user.dir"); + try { + + path += "/Resources/audio/Menu.au"; + InputStream in = new FileInputStream(path); + as = new AudioStream(in); + AudioPlayer.player.start(as); + + } catch (FileNotFoundException e1) { + e1.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } + muted = false; + } + + public boolean isMuted() { + return muted; + } + + public void stopMusic() { + AudioPlayer.player.stop((as)); + muted = true; + } + + public void run() { + + long beforeTime, timeDiff, sleep; + + beforeTime = System.currentTimeMillis(); + + int counter = 0; + + // startMusic(); + + ingame = true; + + while (true) { + trash = Wave.getWave(level); + messages=Wave.getMessages(level); + while (trash.size() > 0) { + counter++; + + long pause = 0; + while (inBetweenLevels) { + repaint(); + } + + for (int i = 0; i < trash.size(); i++) { + + trash.get(i).followPath(pathX, pathY); + + for (int j = 0; j < towers.size(); j++) { + // Windmills don't need to check for collisions + if (towers.get(j).getType() == Util.TowerType.windmill) { + break; + } + //towers.get(j).setFiring(true); + //System.out.println(!trash.get(i).isKilled() +" "+ !towers.get(j).getFiring() +" "+trash.get(i).detectCollisions(towers.get(j),pathX, pathY)); + if (!trash.get(i).isKilled() && !towers.get(j).getFiring() && trash.get(i).detectCollisions(towers.get(j),pathX, pathY)) { + //System.out.println("SHIT"); + calculateScore(towers.get(j),trash.get(i)); + towers.get(j).setFiring(true,trash.get(i)); + trash.get(i).setKilled(); + } + + + + } + + if(trash.get(i).getImage()==null){ + trash.remove(i); + } + // Check to make sure trash hasn't exited the board + else if (trash.get(i).getY() + 30 > Util.boardHeight) { + trash.remove(i); + landFillScore += 1; + escapedTrash +=1; + System.out.println(landFillScore); + } + + } + + for(int i=0; i 5) { + break; + } + + } + + ingame = false; + + } + private void calculateBonus(){ + double multiplier = 1; + multiplier = (airQual/1000) * multiplier; + multiplier = (level/4) + multiplier; + multiplier = multiplier - (escapedTrash/100); + + budget += (int)(multiplier*150); + + } + + private void calculateScore(Tower tower, Trash trash){ + + if(tower.type==Util.TowerType.incenerator){ + budget+=15; + airQual-=15; + }else{ + budget+=25; + } + + + } + + private void resetTowers() { + for (int i = 0; i < towers.size(); i++) { + towers.get(i).resetTower(); + } + } + + public boolean onTower(int x, int y){ + for(int i=0; i=x && tY<=y && tY+tH>=y){ + return true; + } + } + return false; + } + // Method to determine if the user is adding the tower on top of the path + public boolean inPath(int x, int y) { + + // Inside actual game board + if ((x > 0 && x > Util.boardWidth) || (y > 0 && y > Util.boardHeight)) { + return true; + } + + // First row + if ((x > 0 && x < Util.boardWidth - Util.pathPad + + (Util.towerWidth / 2)) + && (y > Util.pathPad - (Util.towerWidth / 2) && y < Util.pathPad + + Util.pathWidth + (Util.towerWidth / 2))) { + return true; + // First down + } else if ((x < Util.boardWidth - Util.pathPad + (Util.towerWidth / 2) && x > (Util.boardWidth + - Util.pathPad - Util.pathWidth - (Util.towerWidth / 2))) + && (y > Util.pathPad - (Util.towerWidth / 2) && (y < Util.pathPad + + Util.gapPad + (Util.towerWidth / 2)))) { + return true; + // First Switch Back + } else if (x < Util.boardWidth - Util.pathPad + (Util.towerWidth / 2) + && x > Util.pathPad - (Util.towerWidth / 2) + && y > Util.pathPad + Util.pathWidth + Util.gapPad + - (Util.towerWidth / 2) + && y < Util.pathPad + (2 * Util.pathWidth) + Util.gapPad + + (Util.towerWidth / 2)) { + return true; + // Second Down + } else if (x > Util.pathPad - (Util.towerWidth / 2) + && x < Util.pathPad + Util.pathWidth + (Util.towerWidth / 2) + && y > Util.pathPad + Util.pathWidth + Util.gapPad + - (Util.towerWidth / 2) + && y < Util.pathPad + 2 * Util.pathWidth + 2 * Util.gapPad + + (Util.towerWidth / 2)) { + return true; + // Second Switch Back + } else if (x > Util.pathPad - (Util.towerWidth / 2) + && x < Util.boardWidth - Util.pathPad + (Util.towerWidth / 2) + && y > Util.pathPad + 2 * Util.pathWidth + 2 * Util.gapPad + - (Util.towerWidth / 2) + && y < Util.pathPad + (3 * Util.pathWidth) + 2 * Util.gapPad + + (Util.towerWidth / 2)) { + return true; + // Third Down + } else if ((x < Util.boardWidth - Util.pathPad + (Util.towerWidth / 2) && x > (Util.boardWidth + - Util.pathPad - Util.pathWidth - (Util.towerWidth / 2))) + && y > Util.pathPad + (3 * Util.pathWidth) + 2 * Util.gapPad + + (Util.towerWidth / 2)) { + return true; + } + + return false; + } + + // JJ + public void addTower(Tower t) { + towers.add(t); + } + + public static void addPendingTower(Tower t) { + pendingTower = t; + } + + public static void removePendingTower() { + pendingTower = null; + } + + public Integer getLevel() { + return level; + } +} From c1da31197066f99f1bb302f0e9705ab2cf49cc3e Mon Sep 17 00:00:00 2001 From: heelsfan23r Date: Sat, 23 Apr 2011 10:53:20 -0700 Subject: [PATCH 5/7] Edited src/Main.java via GitHub --- src/Main.java | 109 ++++++++++++++++++++++++-------------------------- 1 file changed, 52 insertions(+), 57 deletions(-) diff --git a/src/Main.java b/src/Main.java index 3e34023..56b74fc 100644 --- a/src/Main.java +++ b/src/Main.java @@ -1,58 +1,53 @@ -import javax.swing.*; -import java.awt.BorderLayout; -import java.awt.Dimension; -import java.awt.FlowLayout; -import java.awt.GridLayout; - -import javax.swing.BoxLayout; -import javax.swing.JButton; -import javax.swing.JFrame; -import javax.swing.JPanel; - - -public class Main extends JFrame { - - /** - * - */ - private static final long serialVersionUID = 4648172894076113183L; - - Board board; - - //Helps define where different components are -JJ - // private BorderLayout LayoutMGR=new BorderLayout(); -// private FlowLayout LayoutMGR = new FlowLayout(); - - public Main() { - - this.setLayout(null); - - Board board= new Board(); - - setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); - setSize(900,650); - setLocationRelativeTo(null); - setTitle("Trashed"); - setResizable(false); - - board.setBounds(0, 0, 600, 650); - board.setPreferredSize(new Dimension(600,650)); - board.setMaximumSize(new Dimension(600,650)); - - JPanel menu=new Menu(board); - menu.setSize(300, 550); - - - menu.setBounds(600, 0, 300, 550); - menu.setPreferredSize(new Dimension(300,550)); - menu.setMaximumSize(new Dimension(300,550)); - add(menu); - add(board); - - - setVisible(true); - } - public static void main(String[] args) { - new Main(); - } +import javax.swing.*; +import java.awt.BorderLayout; +import java.awt.Dimension; +import java.awt.FlowLayout; +import java.awt.GridLayout; + +import javax.swing.BoxLayout; +import javax.swing.JButton; +import javax.swing.JFrame; +import javax.swing.JPanel; + + +public class Main extends JFrame { + + /** + * + */ + private static final long serialVersionUID = 4648172894076113183L; + + Board board; + + public Main() { + + this.setLayout(null); + + Board board= new Board(); + + setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + setSize(900,650); + setLocationRelativeTo(null); + setTitle("Trashed"); + setResizable(false); + board.setBounds(0, 0, 600, 600); + + + JPanel menu=new Menu(board); + menu.setBounds(600, 0, 300, 550); + + JPanel scoreBoard=new Scoreboard(board); + scoreBoard.setBounds(0,600,900, 50); + + + add(menu); + add(board); + add(scoreBoard); + + + setVisible(true); + } + public static void main(String[] args) { + new Main(); + } } From 28c4cb63176ec22aa6c2f29b0333ca23bd4bb617 Mon Sep 17 00:00:00 2001 From: heelsfan23r Date: Sat, 23 Apr 2011 10:54:01 -0700 Subject: [PATCH 6/7] Edited src/Menu.java via GitHub --- src/Menu.java | 56 +++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 41 insertions(+), 15 deletions(-) diff --git a/src/Menu.java b/src/Menu.java index 78da3b3..245dd39 100644 --- a/src/Menu.java +++ b/src/Menu.java @@ -4,8 +4,13 @@ import java.awt.event.MouseEvent; import javax.swing.JButton; +import javax.swing.JLabel; import javax.swing.JPanel; +import javax.swing.JTextArea; +import javax.swing.JTextPane; +import javax.swing.SwingConstants; import javax.swing.event.MouseInputListener; +import javax.swing.text.JTextComponent; public class Menu extends JPanel implements Runnable { @@ -23,28 +28,48 @@ public class Menu extends JPanel implements Runnable { static private boolean addMetalTower = false; private boolean startWave = false; private String currentTowerDirection = "South"; + private JLabel info = new JLabel(""); public Menu(Board board) { setDoubleBuffered(true); gameBoard = board; board.addMouseListener(new Mouse()); board.addMouseMotionListener(new Mouse()); - setLayout(layoutMGR); - // ActionListener AL=new ActionListener(); - JButton recycleButton = new JButton("Add Recycling-$200"); + setLayout(null); + + + info.setHorizontalAlignment(SwingConstants.CENTER); + info.setBounds(0,0, 300, 150); + + + JButton recycleButton = new JButton("Recycling-$200"); recycleButton.addActionListener(new RecycleButtonListener()); - JButton inceneratorButton = new JButton("Add Incenerator-$100"); + recycleButton.setBounds(0, 150, 150, 50); + + JButton inceneratorButton = new JButton("Incenerator-$100"); inceneratorButton.addActionListener(new InceneratorButtonListener()); - JButton muteButton = new JButton("Mute"); - muteButton.addActionListener(new MuteButtonListener()); + inceneratorButton.setBounds(150, 150, 150, 50); + + JButton metalButton = new JButton("Scrap Metal-$150"); + metalButton.addActionListener(new MetalButtonListener()); + metalButton.setBounds(0, 200, 150, 50); + + JButton windmillButton = new JButton("Windmill-$300"); + windmillButton.addActionListener(new WindmillButtonListener()); + windmillButton.setBounds(150, 200, 150, 50); + JButton startWaveButton = new JButton("Send Next Wave"); startWaveButton.addActionListener(new StartWaveButtonListener()); - JButton windmillButton = new JButton("Add Windmill-$300"); - windmillButton.addActionListener(new WindmillButtonListener()); - JButton metalButton = new JButton("Add Magnet-$150"); - metalButton.addActionListener(new MetalButtonListener()); - add(inceneratorButton); + startWaveButton.setBounds(0, 250, 300, 50); + + JButton muteButton = new JButton("Mute"); + muteButton.addActionListener(new MuteButtonListener()); + muteButton.setBounds(0, 300, 100, 50); + + + add(info); add(recycleButton); + add(inceneratorButton); add(metalButton); add(windmillButton); add(startWaveButton); @@ -82,6 +107,7 @@ public void actionPerformed(ActionEvent e) { if (gameBoard.getBudget() >= getCost(Util.TowerType.metal)) { addMetalTower = !addMetalTower; + info.setText("This tower is for picking up scrap metal"); addInceneratorTower = false; addRecycleTower = false; addWindmillTower = false; @@ -96,6 +122,7 @@ private class WindmillButtonListener implements ActionListener { public void actionPerformed(ActionEvent e) { if (gameBoard.getBudget() >= getCost(Util.TowerType.windmill)) { addWindmillTower = !addWindmillTower; + info.setText("Windmills help to reduce energy costs in your town and earn you money throughout the rounds"); addMetalTower = false; addInceneratorTower = false; addRecycleTower = false; @@ -110,6 +137,7 @@ private class RecycleButtonListener implements ActionListener { public void actionPerformed(ActionEvent e) { if (gameBoard.getBudget() >= getCost(Util.TowerType.recycle)) { addRecycleTower = !addRecycleTower; + info.setText("The recycle tower helps to properly dispose of the recycleable trash that is produced in the city. While more expensive than the incenerator, it has less of an imact on the enviorment"); addInceneratorTower = false; addMetalTower = false; addWindmillTower = false; @@ -161,16 +189,13 @@ public void mousePressed(MouseEvent e) { // Detect a left click if (e.getButton() == 1) { - int towerRate = 1; Util.TowerType type = null; if (addInceneratorTower) { type = Util.TowerType.incenerator; - towerRate = 2; } else if ((addRecycleTower)) { type = Util.TowerType.recycle; - towerRate = 1; } else if ((addWindmillTower)) { @@ -184,7 +209,7 @@ public void mousePressed(MouseEvent e) { boolean isValid = validTower(mouseX, mouseY, type); if (type != null && isValid) { - gameBoard.addTower(new Tower(adjX, adjY, towerRate, 25, type, + gameBoard.addTower(new Tower(adjX, adjY, 1, 25, type, isValid, currentTowerDirection)); gameBoard.removeMoney(getCost(type)); gameBoard.pendingTower = null; @@ -280,6 +305,7 @@ private void resetButtons() { addInceneratorTower = false; addRecycleTower = false; addWindmillTower = false; + info.setText(""); } public boolean validTower(int x, int y, Util.TowerType type) { From 1a12b8386f8137b76961414adb50c7e2aacff397 Mon Sep 17 00:00:00 2001 From: heelsfan23r Date: Sat, 23 Apr 2011 10:55:07 -0700 Subject: [PATCH 7/7] Edited src/WaveGen.java via GitHub --- src/WaveGen.java | 42 +++++++++++------------------------------- 1 file changed, 11 insertions(+), 31 deletions(-) diff --git a/src/WaveGen.java b/src/WaveGen.java index 0127b1c..c4decf1 100644 --- a/src/WaveGen.java +++ b/src/WaveGen.java @@ -1,4 +1,5 @@ import java.util.ArrayList; +import javax.swing.ImageIcon; import javax.swing.*; @@ -9,8 +10,9 @@ public class WaveGen { public WaveGen(Board aBoard){ theBoard=aBoard; } + private ArrayList wave= new ArrayList(); - + public ArrayList getWave(int level){ int num =0; @@ -18,39 +20,22 @@ public ArrayList getWave(int level){ int initY= Util.pathPad; int speed= 0; ArrayList types = new ArrayList(); - if (level ==1){ num =10; spacing = 135; - speed =2; //high for testing purposes, should be 2 + speed =2; types.add(Util.TrashType.paper); - types.add(Util.TrashType.aluminum); - types.add(Util.TrashType.metal); - + + }else if (level ==2){ - + + num =20; spacing = 85; speed =3; types.add(Util.TrashType.paper); - - }else if (level ==3){ - num = 25; - spacing = 85; - speed =3; - types.add(Util.TrashType.paper); - types.add(Util.TrashType.plastic); - }else if (level ==4){ - num = 30; - spacing= 80; - speed = 4; - types.add(Util.TrashType.plastic); - types.add(Util.TrashType.aluminum); } - - - int curX=-30; for(int i=0; i getWave(int level){ } -public ArrayList getMessages(int level) { + public ArrayList getMessages(int level) { ArrayList temp = new ArrayList(); // JJrandomShit if (level == 1) - temp.add(new ImageIcon(this.getClass().getResource( - "pics/welcome1.png"))); + temp.add(new ImageIcon(this.getClass().getResource("pics/welcome1.png"))); if (level == 2) - temp.add(new ImageIcon(this.getClass().getResource( - "pics/welcome3.png"))); - if (level == 3) - temp.add(new ImageIcon(this.getClass().getResource( - "pics/welcome2.png"))); + temp.add(new ImageIcon(this.getClass().getResource("pics/welcome2.png"))); return temp; } }