diff --git a/src/Main.java b/src/Main.java index 398b6c5..25b5c99 100644 --- a/src/Main.java +++ b/src/Main.java @@ -1,5 +1,4 @@ import java.awt.*; - import javax.swing.*; public class Main extends JFrame{ @@ -16,9 +15,10 @@ public class Main extends JFrame{ container.setLayout(new BorderLayout(10,10)); MockGui mg = new MockGui(640,640,32, NUM, nodes); StatGui sg= new StatGui(0,0); + container.add(mg, BorderLayout.CENTER); container.add(sg, BorderLayout.LINE_END); - sg.setPreferredSize(new Dimension(200,600)); + sg.setPreferredSize(new Dimension(210,600)); MapTowerDefense map = new MapTowerDefense(100, NUM, nodes, mg, sg); mg.setMap(map); @@ -27,18 +27,12 @@ public class Main extends JFrame{ frame.add(container); frame.pack(); - frame.setSize(860,670); + frame.setSize(850,670); frame.setVisible(true); - map.createMinion(MinionTypes.BASIC); - try { - Thread.sleep(50); - } catch (InterruptedException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } map.createMinion(MinionTypes.BASIC); mg.step(); + } private static void setupDefaultNodes() diff --git a/src/MockGui.java b/src/MockGui.java index 8c2830a..cdd8e00 100644 --- a/src/MockGui.java +++ b/src/MockGui.java @@ -60,6 +60,10 @@ public class MockGui extends JPanel{ map.getStatGui().updateHealth(); map.getStatGui().updateMoney(); map.getStatGui().updateNumTowers(); + map.getStatGui().updateBasicSellLabel(); + map.getStatGui().updateAOESellLabel(); + map.getStatGui().updateAOEUpgradeLabel(); + map.getStatGui().updateBasicUpgradeLabel(); map.getMF().assignAllDamage(); if (i > 63) { @@ -199,20 +203,29 @@ public class MockGui extends JPanel{ int i = 0; while (i < TF.getNum()) { int[] local = hash(TF.getTowerArray()[i].getTowerXlocation(), TF.getTowerArray()[i].getTowerYlocation()); - drawBasicTower(TF.getTowerArray()[i], local[0], local[1], g); + drawBasicTower(TF.getTowerArray()[i], local[0], local[1], g); i++; } } - public void drawBasicTower(TowerMock tm, int x, int y, Graphics g){ - //g.setColor(new Color(24,24,24)); - //g.fillRect(x, y, 32, 32); + public void drawBasicTower(TowerMock tm, int x, int y, Graphics g) { + g.drawImage(tm.getSprite(),x , y, null); + } - public void drawBasicAttack(int x, int y, Graphics g){ - g.setColor(Color.yellow); + public void drawBasicAttack(int x, int y, int level, Graphics g){ + if(level == 1){ + g.setColor(Color.YELLOW); + } + else if(level == 2){ + g.setColor(Color.ORANGE); + } + else if(level ==3){ + g.setColor(Color.RED); + } + g.fillRoundRect(x, y, 7, 7, 7, 7); } @@ -226,27 +239,35 @@ public class MockGui extends JPanel{ int halfDotY = (((TF.getTowerArray()[i]._ylocation * 32) + 15)+ (TF.getTowerArray()[i].currentTarget.getY() + 15))/2; int minionDotX = TF.getTowerArray()[i].currentTarget.getX() + 15; int minionDotY = TF.getTowerArray()[i].currentTarget.getY()+15; - drawBasicAttack(towerDotX,towerDotY, g); - drawBasicAttack((towerDotX + halfDotX)/2, (towerDotY + halfDotY)/2, g); - drawBasicAttack(halfDotX, halfDotY, g); - drawBasicAttack((halfDotX + minionDotX)/2, (halfDotY + minionDotY)/2, g); - drawBasicAttack(minionDotX, minionDotY, g); + drawBasicAttack(towerDotX,towerDotY, TF.getTowerArray()[i].getLevel(), g); + drawBasicAttack((towerDotX + halfDotX)/2, (towerDotY + halfDotY)/2, TF.getTowerArray()[i].getLevel(), g); + drawBasicAttack(halfDotX, halfDotY, TF.getTowerArray()[i].getLevel(), g); + drawBasicAttack((halfDotX + minionDotX)/2, (halfDotY + minionDotY)/2, TF.getTowerArray()[i].getLevel(), g); + drawBasicAttack(minionDotX, minionDotY, TF.getTowerArray()[i].getLevel(), g); } } } - public void drawAOEAttack(int x, int y, int range, Graphics g){ - g.setColor(Color.MAGENTA); - g.drawOval(x-70, y-70, 140, 140); - g.drawOval(x-65, y-65, 130, 130); - g.drawOval(x-60, y-60, 120, 120); + public void drawAOEAttack(int x, int y, int range, int level, Graphics g){ + if(level == 1){ + g.setColor(Color.BLUE); + } + else if(level == 2){ + g.setColor(Color.MAGENTA); + } + else if(level ==3){ + g.setColor(Color.CYAN); + } + g.drawOval((int)(x - ( range*1.8)/2),(int)( y - ( range*1.8)/2),(int)( range*1.8), (int)( range*1.8)); + g.drawOval((int)(x - ( range*1.6)/2),(int)( y - ( range*1.6)/2),(int)( range*1.6), (int)( range*1.6)); + g.drawOval((int)(x - ( range*1.4)/2),(int)( y - ( range*1.4)/2),(int)( range*1.4), (int)( range*1.4)); } public void drawAllAOEAttacks(TowerFactory TF, Graphics g){ for(int i = 1; i < TF.getNum(); i++){ if( TF.getTowerArray()[i].basicDealDamage() && TF.getTowerArray()[i].type == TowerTypes.AOE){ - drawAOEAttack((TF.getTowerArray()[i]._xlocation * 32) + 15, (TF.getTowerArray()[i]._ylocation *32) + 15,TF.getTowerArray()[i].getRange(), g); + drawAOEAttack((TF.getTowerArray()[i]._xlocation * 32) + 15, (TF.getTowerArray()[i]._ylocation *32) + 15,TF.getTowerArray()[i].getRange(), TF.getTowerArray()[i].getLevel(), g); } } @@ -268,20 +289,29 @@ public class MockGui extends JPanel{ else if(map.getStatGui().gettowerPlacerVar() == 1){ map.getTF().createBasicTower(local[0], local[1], TowerTypes.BASIC); } - //sell tower + //sell tower click check if(map.getStatGui().gettowerPlacerVar() == 3){ - - for(int i=1; i