Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Merge remote-tracking branch 'origin/master'
  • Loading branch information
ssl10003 committed Apr 24, 2015
2 parents 48e49ed + 7a37d35 commit fb00090
Show file tree
Hide file tree
Showing 3 changed files with 60 additions and 2 deletions.
9 changes: 9 additions & 0 deletions README.md
@@ -0,0 +1,9 @@
TowerDefense
============

Play the most exiting thing since sliced bread! Introducing the best Tower Defense gamed you've ever played. Does your tower defense game have characteres such as Sonic, the Depsicable Me minion, and a Speedy Gonzalez? I didn't think so. Does it have some of the best tower models rendered from industry-level computer graphics, that is java.awt.swing? Nope. Well try your hand today and use some of the best tower-power available. See if you can overcome the hordes of minions itching to knock down your Nexus!

From the creative talents of CSE 2102 students
Mock Tower Defense Game (R) All Rights Reserved.
Unauthorized Duplication Is A Violation Of Applicable Laws and punishable with at least 1 hour of playing this game.

49 changes: 47 additions & 2 deletions src/MockGui.java
Expand Up @@ -15,7 +15,9 @@ import java.io.File;
import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;

import javax.imageio.ImageIO;

import java.util.Random;


Expand Down Expand Up @@ -79,7 +81,11 @@ public class MockGui extends JPanel{
drawAllTowers(map.getTF(), g);
drawAllMinions(map.getMF(), g);
drawPlayerHealth(g);
drawAllBasicAttacks(map.getTF(),g);
drawAllAOEAttacks(map.getTF(),g);

}

public void drawGrid(int x, int y, int gridSize, Graphics g) {
g.setColor(new Color(99, 209, 62));
g.fillRect(0, 0, 32*20, 32*20);
Expand Down Expand Up @@ -203,8 +209,47 @@ public class MockGui extends JPanel{
//g.fillRect(x, y, 32, 32);
g.drawImage(tm.getSprite(),x , y, null);

//tm.getTowerXlocation()
//tm.getTowerYlocation()
}

public void drawBasicAttack(int x, int y, Graphics g){
g.setColor(Color.yellow);
g.fillRoundRect(x, y, 7, 7, 7, 7);
}

//if Basic tower is attacking, draw dots to where minion is
public void drawAllBasicAttacks(TowerFactory TF, Graphics g){
for(int i = 0; i < TF.getNum(); i++){
if(TF.getTowerArray()[i].basicDealDamage() && TF.getTowerArray()[i].type == TowerTypes.BASIC){
int towerDotX = (TF.getTowerArray()[i]._xlocation * 32) + 15;
int towerDotY = (TF.getTowerArray()[i]._ylocation *32) + 15;
int halfDotX = (((TF.getTowerArray()[i]._xlocation * 32) + 15)+ (TF.getTowerArray()[i].currentTarget.getX() + 15))/2;
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);
}
}

}

public void drawAOEAttack(int x, int y, 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 drawAllAOEAttacks(TowerFactory TF, Graphics g){
for(int i = 0; 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, g);

}
}
}


Expand Down
4 changes: 4 additions & 0 deletions src/TowerTypes.java
Expand Up @@ -37,6 +37,10 @@ public enum TowerTypes {
return this.toString();
}

public TowerTypes getTowerType(){
return this;
}

public BufferedImage getSprite()
{
return sprite;
Expand Down

0 comments on commit fb00090

Please sign in to comment.