diff --git a/src/main/java/main/Tanks.java b/src/main/java/main/Tanks.java index e7a9aa8f..a98ee48d 100755 --- a/src/main/java/main/Tanks.java +++ b/src/main/java/main/Tanks.java @@ -9,6 +9,7 @@ import tanksonline.TanksOnlineServer; import java.io.File; +import java.util.Arrays; public class Tanks { @@ -17,20 +18,19 @@ public static void main(String[] args) Game.framework = Game.Framework.lwjgl; int port = 8080; + // Relaunches the .jar if Mac OS X is detected. boolean relaunch = System.getProperties().toString().contains("Mac OS X"); - for (int i = 0; i < args.length; i++) + // Goes through arguments and applies specified settings. + for (String arg : args) { - if (args[i].equals("online_server")) + if (arg.equals("online_server")) Game.isOnlineServer = true; - - if (args[i].startsWith("port=")) - port = Integer.parseInt(args[i].split("=")[1]); - - if (args[i].equals("debug")) + if (arg.matches("port=\\d+")) + port = Integer.parseInt(arg.split("=")[1]); + if (arg.equals("debug")) Game.debug = true; - - if (args[i].equals("mac") || args[i].equals("no_relaunch")) + if (arg.equals("mac") || arg.equals("no_relaunch")) relaunch = false; } @@ -38,6 +38,7 @@ public static void main(String[] args) { if (relaunch && Game.framework == Game.Framework.lwjgl) { + // Attempts to relaunch from the .jar file. try { String path = new File(Tanks.class.getProtectionDomain().getCodeSource().getLocation().toURI()).getPath(); @@ -63,7 +64,14 @@ public static void main(String[] args) if (Game.framework == Game.Framework.lwjgl) { - Game.game.window = new LWJGLWindow("Tanks", 1400, 900 + Drawing.drawing.statsHeight, Game.absoluteDepthBase, new GameUpdater(), new GameDrawer(), new GameWindowHandler(), Game.vsync, !Panel.showMouseTarget); + // Creates and configures the LWJGL window. + Game.game.window = new LWJGLWindow( + "Tanks", + 1400, 900 + Drawing.drawing.statsHeight, + Game.absoluteDepthBase, + new GameUpdater(), new GameDrawer(), new GameWindowHandler(), + Game.vsync, !Panel.showMouseTarget + ); Game.game.window.antialiasingEnabled = Game.antialiasing; } @@ -81,21 +89,21 @@ public static void main(String[] args) } } - /* - Call this method to launch Tanks with extensions directly instead of loading them from a jar file! - This is useful if you want to test an extension without exporting it as a jar file. - The integer array passed determines the order in which these extensions will be added to the full list - (which includes extensions loaded from separate jar files traditionally) + /** + * Call this method to launch Tanks with extensions directly instead of loading them from a jar file! + * This is useful if you want to test an extension without exporting it as a jar file. + * The integer array passed determines the order in which these extensions will be added to the full list + * (which includes extensions loaded from separate jar files traditionally) */ public static void launchWithExtensions(String[] args, Extension[] extensions, int[] order) { Game.extraExtensions = extensions; Game.extraExtensionOrder = order; + + // Append "no_relaunch" to the arguments. + String[] newArgs = Arrays.copyOf(args, args.length + 1); + newArgs[args.length] = "no_relaunch"; - String[] args2 = new String[args.length + 1]; - System.arraycopy(args, 0, args2, 0, args.length); - args2[args.length] = "no_relaunch"; - - main(args2); + main(newArgs); } } diff --git a/src/main/java/tanks/IGameObject.java b/src/main/java/tanks/IGameObject.java index 5e3ecd70..e9a77110 100755 --- a/src/main/java/tanks/IGameObject.java +++ b/src/main/java/tanks/IGameObject.java @@ -1,6 +1,3 @@ package tanks; -public interface IGameObject -{ - -} +public interface IGameObject {} \ No newline at end of file diff --git a/src/main/java/tanks/Movable.java b/src/main/java/tanks/Movable.java index cca82512..3a964cd2 100755 --- a/src/main/java/tanks/Movable.java +++ b/src/main/java/tanks/Movable.java @@ -72,16 +72,17 @@ public void update() double vY2 = this.vY; double vZ2 = this.vZ; - ArrayList removeAttributes = new ArrayList<>(); - for (int i = 0; i < this.attributes.size(); i++) + ArrayList toRemove = new ArrayList<>(); + for (AttributeModifier a : attributes) { - AttributeModifier a = this.attributes.get(i); - if (a.expired) - removeAttributes.add(a); - + { + // Adds attribute to list to later get removed. + toRemove.add(a); + } + a.update(); - + if (!a.expired && a.type.equals("velocity")) { vX2 = a.getValue(vX2); @@ -90,13 +91,11 @@ public void update() } } - for (int i = 0; i < removeAttributes.size(); i++) + for (AttributeModifier a : toRemove) { - this.attributes.remove(removeAttributes.get(i)); + attributes.remove(a); } - removeAttributes.clear(); - this.lastFinalVX = vX2 * ScreenGame.finishTimer / ScreenGame.finishTimerMax; this.lastFinalVY = vY2 * ScreenGame.finishTimer / ScreenGame.finishTimerMax; this.lastFinalVZ = vZ2 * ScreenGame.finishTimer / ScreenGame.finishTimerMax; @@ -234,7 +233,7 @@ public void setPolarMotion(double angle, double velocity) double velX = velocity * Math.cos(angle); double velY = velocity * Math.sin(angle); this.vX = velX; - this.vY = velY; + this.vY = velY; } public void set3dPolarMotion(double angle1, double angle2, double velocity) @@ -253,7 +252,7 @@ public void addPolarMotion(double angle, double velocity) double velX = velocity * Math.cos(angle); double velY = velocity * Math.sin(angle); this.vX += velX; - this.vY += velY; + this.vY += velY; } public void add3dPolarMotion(double angle1, double angle2, double velocity) @@ -270,7 +269,7 @@ public void add3dPolarMotion(double angle1, double angle2, double velocity) public void moveInDirection(double x, double y, double amount) { this.posX += amount * x; - this.posY += amount * y; + this.posY += amount * y; } public double getSpeed() @@ -318,9 +317,9 @@ public void addUnduplicateAttribute(AttributeModifier m) { this.attributes.remove(i); i--; - } + } } - + this.attributes.add(m); } diff --git a/src/main/java/tanks/bullet/BulletLaser.java b/src/main/java/tanks/bullet/BulletLaser.java index 2bab7257..cd8c7155 100755 --- a/src/main/java/tanks/bullet/BulletLaser.java +++ b/src/main/java/tanks/bullet/BulletLaser.java @@ -6,6 +6,10 @@ import tanks.hotbar.item.ItemBullet; import tanks.tank.Tank; +/** + * A laser which can be fired by a Tank. + * @see tanks.tank.TankRed + */ public class BulletLaser extends BulletInstant { public static String bullet_name = "laser"; diff --git a/src/main/java/tanks/obstacle/ObstacleTeleporter.java b/src/main/java/tanks/obstacle/ObstacleTeleporter.java index dc9ebffb..6a184fad 100755 --- a/src/main/java/tanks/obstacle/ObstacleTeleporter.java +++ b/src/main/java/tanks/obstacle/ObstacleTeleporter.java @@ -7,6 +7,9 @@ import java.util.ArrayList; +/** + * A teleporter which randomly transports the player to another teleporter in the level + */ public class ObstacleTeleporter extends Obstacle { public double cooldown; diff --git a/src/main/java/tanks/tank/TankBlack.java b/src/main/java/tanks/tank/TankBlack.java index d9c6bb52..79831e26 100755 --- a/src/main/java/tanks/tank/TankBlack.java +++ b/src/main/java/tanks/tank/TankBlack.java @@ -3,6 +3,9 @@ import tanks.Game; import tanks.bullet.Bullet; +/** + * A smart, very fast tank which fires rockets + */ public class TankBlack extends TankAIControlled { public double strafeDirection = Math.PI / 2; diff --git a/src/main/java/tanks/tank/TankBlue.java b/src/main/java/tanks/tank/TankBlue.java index 34feed21..9dd23389 100755 --- a/src/main/java/tanks/tank/TankBlue.java +++ b/src/main/java/tanks/tank/TankBlue.java @@ -4,6 +4,9 @@ import tanks.Game; import tanks.bullet.BulletElectric; +/** + * A stationary tank which shoots stunning electricity that arcs between targets + */ public class TankBlue extends TankAIControlled { public TankBlue(String name, double x, double y, double angle) diff --git a/src/main/java/tanks/tank/TankBoss.java b/src/main/java/tanks/tank/TankBoss.java index 04f87a8e..a45e6917 100755 --- a/src/main/java/tanks/tank/TankBoss.java +++ b/src/main/java/tanks/tank/TankBoss.java @@ -10,6 +10,9 @@ import java.util.ArrayList; +/** + * A big boss tank which spawns other tanks and takes 5 regular bullets to destroy + */ public class TankBoss extends TankAIControlled { public ArrayList spawned = new ArrayList<>(); diff --git a/src/main/java/tanks/tank/TankBrown.java b/src/main/java/tanks/tank/TankBrown.java index 59f4eda1..f4baf0ff 100755 --- a/src/main/java/tanks/tank/TankBrown.java +++ b/src/main/java/tanks/tank/TankBrown.java @@ -2,8 +2,12 @@ import tanks.Game; +/** + * A primitive stationary tank + */ public class TankBrown extends TankAIControlled { + public TankBrown(String name, double x, double y, double angle) { super(name, x, y, Game.tile_size, 150, 80, 0, angle, ShootAI.wander); diff --git a/src/main/java/tanks/tank/TankCyan.java b/src/main/java/tanks/tank/TankCyan.java index 2bce5be5..c01cf419 100755 --- a/src/main/java/tanks/tank/TankCyan.java +++ b/src/main/java/tanks/tank/TankCyan.java @@ -8,6 +8,9 @@ import java.util.Arrays; +/** + * A support tank which shoots freezing bullets that deal low damage + */ public class TankCyan extends TankAIControlled { public TankCyan(String name, double x, double y, double angle) diff --git a/src/main/java/tanks/tank/TankDarkGreen.java b/src/main/java/tanks/tank/TankDarkGreen.java index ee17f002..8a132238 100755 --- a/src/main/java/tanks/tank/TankDarkGreen.java +++ b/src/main/java/tanks/tank/TankDarkGreen.java @@ -3,6 +3,9 @@ import tanks.Game; import tanks.bullet.Bullet; +/** + * A fast tank which rapidly fires many small, low-damage bullets + */ public class TankDarkGreen extends TankAIControlled { public TankDarkGreen(String name, double x, double y, double angle) diff --git a/src/main/java/tanks/tank/TankDummy.java b/src/main/java/tanks/tank/TankDummy.java index 7039475f..5fb26743 100755 --- a/src/main/java/tanks/tank/TankDummy.java +++ b/src/main/java/tanks/tank/TankDummy.java @@ -2,6 +2,10 @@ import tanks.Game; +/** + * A dummy tank used to practice your aim + * @see TankDummyLoadingScreen + */ public class TankDummy extends Tank { public TankDummy(String name, double x, double y, double angle) diff --git a/src/main/java/tanks/tank/TankDummyLoadingScreen.java b/src/main/java/tanks/tank/TankDummyLoadingScreen.java index d2864229..81b0708b 100755 --- a/src/main/java/tanks/tank/TankDummyLoadingScreen.java +++ b/src/main/java/tanks/tank/TankDummyLoadingScreen.java @@ -2,6 +2,9 @@ import tanks.Game; +/** + * A spinning tank shown on the loading screen + */ public class TankDummyLoadingScreen extends Tank { public static final double size_multiplier = 1.5; diff --git a/src/main/java/tanks/tank/TankGold.java b/src/main/java/tanks/tank/TankGold.java index 524284a6..95ab413c 100755 --- a/src/main/java/tanks/tank/TankGold.java +++ b/src/main/java/tanks/tank/TankGold.java @@ -8,6 +8,9 @@ import tanks.event.EventShootBullet; import tanks.event.EventTankUpdateColor; +/** + * A tank which speeds up its allies and becomes explosive as a last stand + */ public class TankGold extends TankAIControlled { boolean suicidal = false; diff --git a/src/main/java/tanks/tank/TankGray.java b/src/main/java/tanks/tank/TankGray.java index 9569c867..4e4d32f2 100755 --- a/src/main/java/tanks/tank/TankGray.java +++ b/src/main/java/tanks/tank/TankGray.java @@ -2,6 +2,10 @@ import tanks.Game; +/** + * A primitive mobile tank + * @see TankBrown + */ public class TankGray extends TankAIControlled { public TankGray(String name, double x, double y, double angle) diff --git a/src/main/java/tanks/tank/TankGreen.java b/src/main/java/tanks/tank/TankGreen.java index aa50cc9d..e9b42077 100755 --- a/src/main/java/tanks/tank/TankGreen.java +++ b/src/main/java/tanks/tank/TankGreen.java @@ -3,6 +3,9 @@ import tanks.Game; import tanks.bullet.Bullet; +/** + * A deadly stationary tank which shoots rockets that bounce twice + */ public class TankGreen extends TankAIControlled { public TankGreen(String name, double x, double y, double angle) diff --git a/src/main/java/tanks/tank/TankLightPink.java b/src/main/java/tanks/tank/TankLightPink.java index ff136649..6d4e8032 100755 --- a/src/main/java/tanks/tank/TankLightPink.java +++ b/src/main/java/tanks/tank/TankLightPink.java @@ -5,6 +5,9 @@ import tanks.event.EventTankLightPinkAngry; import tanks.event.EventTankUpdateColor; +/** + * A tank which gets angry on line of sight + */ public class TankLightPink extends TankAIControlled { public double angerTimer = 0; @@ -30,6 +33,7 @@ public TankLightPink(String name, double x, double y, double angle) this.description = "A tank which gets angry---on line of sight"; } + @Override public void postUpdate() { double prevTimer = this.angerTimer; @@ -87,6 +91,7 @@ public void postUpdate() } } + @Override public void shoot() { if (this.angerTimer <= 0) diff --git a/src/main/java/tanks/tank/TankMagenta.java b/src/main/java/tanks/tank/TankMagenta.java index 7b3ceffd..89cb9a72 100755 --- a/src/main/java/tanks/tank/TankMagenta.java +++ b/src/main/java/tanks/tank/TankMagenta.java @@ -2,6 +2,9 @@ import tanks.Game; +/** + * A medium-speed smart tank + */ public class TankMagenta extends TankAIControlled { public TankMagenta(String name, double x, double y, double angle) diff --git a/src/main/java/tanks/tank/TankMaroon.java b/src/main/java/tanks/tank/TankMaroon.java index 2fbc1fb0..8568480a 100755 --- a/src/main/java/tanks/tank/TankMaroon.java +++ b/src/main/java/tanks/tank/TankMaroon.java @@ -3,6 +3,9 @@ import tanks.Game; import tanks.bullet.Bullet; +/** + * A tank which shoots huge bullets which bounce 3 times and can't be stopped + */ public class TankMaroon extends TankAIControlled { public TankMaroon(String name, double x, double y, double angle) @@ -31,6 +34,7 @@ public TankMaroon(String name, double x, double y, double angle) this.description = "A tank which shoots huge bullets which---bounce 3 times and can't be stopped"; } + @Override public void reactToTargetEnemySight() { this.currentlySeeking = false; diff --git a/src/main/java/tanks/tank/TankMedic.java b/src/main/java/tanks/tank/TankMedic.java index 46db03d1..25969fe9 100755 --- a/src/main/java/tanks/tank/TankMedic.java +++ b/src/main/java/tanks/tank/TankMedic.java @@ -9,6 +9,9 @@ import tanks.event.EventLayMine; import tanks.event.EventTankUpdateColor; +/** + * A tank which adds extra health to its allies and becomes explosive as a last stand + */ public class TankMedic extends TankAIControlled { boolean suicidal = false; @@ -153,6 +156,7 @@ public void updateTarget() this.targetEnemy = nearest; } + @Override public void reactToTargetEnemySight() { if (this.suicidal && this.targetEnemy != null) @@ -162,6 +166,7 @@ public void reactToTargetEnemySight() } } + @Override public boolean isInterestingPathTarget(Movable m) { return m instanceof Tank && Team.isAllied(m, this) && m != this && ((Tank) m).health - ((Tank) m).baseHealth < 1 && !(m instanceof TankMedic); diff --git a/src/main/java/tanks/tank/TankMimic.java b/src/main/java/tanks/tank/TankMimic.java index 71a183e2..24cdcd1f 100755 --- a/src/main/java/tanks/tank/TankMimic.java +++ b/src/main/java/tanks/tank/TankMimic.java @@ -8,6 +8,9 @@ import tanks.gui.screen.ScreenGame; import tanks.registry.RegistryTank; +/** + * A tank which mimics the closest tank it sees + */ public class TankMimic extends TankAIControlled { public Tank possessingTank = null; @@ -186,6 +189,7 @@ public void updateTarget() super.updateTarget(); } + @Override public boolean isInterestingPathTarget(Movable m) { return m instanceof Tank && !(m instanceof TankMimic) && ((Tank) m).size == this.size; diff --git a/src/main/java/tanks/tank/TankMini.java b/src/main/java/tanks/tank/TankMini.java index 509c180f..0431f612 100755 --- a/src/main/java/tanks/tank/TankMini.java +++ b/src/main/java/tanks/tank/TankMini.java @@ -3,6 +3,9 @@ import tanks.Game; import tanks.bullet.Bullet; +/** + * A small, primitive tank which shoots tiny, low damage bullets + */ public class TankMini extends TankAIControlled { public TankPink tank; diff --git a/src/main/java/tanks/tank/TankMint.java b/src/main/java/tanks/tank/TankMint.java index 4ed74626..79a50a5b 100755 --- a/src/main/java/tanks/tank/TankMint.java +++ b/src/main/java/tanks/tank/TankMint.java @@ -3,6 +3,9 @@ import tanks.Game; import tanks.bullet.Bullet; +/** + * A tank which shoots fast rocket bullets + */ public class TankMint extends TankAIControlled { public TankMint(String name, double x, double y, double angle) diff --git a/src/main/java/tanks/tank/TankMustard.java b/src/main/java/tanks/tank/TankMustard.java index d84ad6e6..0ad35f6e 100755 --- a/src/main/java/tanks/tank/TankMustard.java +++ b/src/main/java/tanks/tank/TankMustard.java @@ -4,6 +4,10 @@ import tanks.bullet.BulletArc; import tanks.event.EventShootBullet; +/** + * A stationary tank which lobs bullets over walls + * @see TankBrown + */ public class TankMustard extends TankAIControlled { public double radius = 1000; diff --git a/src/main/java/tanks/tank/TankNPC.java b/src/main/java/tanks/tank/TankNPC.java index 16f9559c..eafb6450 100644 --- a/src/main/java/tanks/tank/TankNPC.java +++ b/src/main/java/tanks/tank/TankNPC.java @@ -23,6 +23,9 @@ import static tanks.gui.screen.ScreenGame.shopOffset; +/** + * @see TankDummy + */ public class TankNPC extends TankDummy { public static final InputBindingGroup select = new InputBindingGroup("viewNPC", new InputBinding(InputBinding.InputType.keyboard, InputCodes.KEY_E)); diff --git a/src/main/java/tanks/tank/TankOrange.java b/src/main/java/tanks/tank/TankOrange.java index f3b2f349..fbfb1ebf 100755 --- a/src/main/java/tanks/tank/TankOrange.java +++ b/src/main/java/tanks/tank/TankOrange.java @@ -7,6 +7,9 @@ import tanks.bullet.BulletFlame; import tanks.event.EventShootBullet; +/** + * A short-range tank which shoots fire + */ public class TankOrange extends TankAIControlled { public TankOrange(String name, double x, double y, double angle) @@ -34,11 +37,14 @@ public void shoot() { if (this.targetEnemy != null && Movable.distanceBetween(this, this.targetEnemy) < 400 && this.cooldown <= 0 && !this.disabled && !this.destroy) { + // Casts a ray and tries to get the game object it hits. Ray a = new Ray(this.posX, this.posY, this.angle, 0, this); Movable m = a.getTarget(); + // Checks if it hit a game object. if (!(m == null)) { + // Checks if the game object is an enemy. if (m.equals(this.targetEnemy)) { Drawing.drawing.playGlobalSound("flame.ogg"); diff --git a/src/main/java/tanks/tank/TankOrangeRed.java b/src/main/java/tanks/tank/TankOrangeRed.java index 56bf6b12..d0400b74 100755 --- a/src/main/java/tanks/tank/TankOrangeRed.java +++ b/src/main/java/tanks/tank/TankOrangeRed.java @@ -9,6 +9,9 @@ import tanks.event.EventLayMine; import tanks.event.EventShootBullet; +/** + * A tank which shoots explosive bullets + */ public class TankOrangeRed extends TankAIControlled { public TankOrangeRed(String name, double x, double y, double angle) @@ -40,7 +43,9 @@ public TankOrangeRed(String name, double x, double y, double angle) this.description = "A tank which shoots explosive bullets"; } - /** Actually fire a bullet*/ + /** + * Actually fire a bullet + */ @Override public void launchBullet(double offset) { @@ -76,6 +81,7 @@ public void shoot() Ray a2 = new Ray(this.posX, this.posY, an, this.bulletBounces, this); a2.size = this.bulletSize; + // TODO figure out why this is necessary or if there's no point in getting the target of the ray a2.getTarget(); a2.ignoreDestructible = this.ignoreDestructible; @@ -95,11 +101,12 @@ public void shoot() Movable m = a.getTarget(); + // Checks if the target is an enemy. if (!Team.isAllied(this, m)) { - for (Movable mm: Game.movables) + for (Movable m2: Game.movables) { - if (Team.isAllied(mm, this) && mm instanceof Tank && !((Tank) mm).resistExplosions && this.team.friendlyFire && Math.pow(mm.posX - a.posX, 2) + Math.pow(mm.posY - a.posY, 2) <= Math.pow(Game.tile_size * 2.5, 2)) + if (Team.isAllied(m2, this) && m2 instanceof Tank && !((Tank) m2).resistExplosions && this.team.friendlyFire && Math.pow(m2.posX - a.posX, 2) + Math.pow(m2.posY - a.posY, 2) <= Math.pow(Game.tile_size * 2.5, 2)) return; } diff --git a/src/main/java/tanks/tank/TankPink.java b/src/main/java/tanks/tank/TankPink.java index 60f0b938..ebb29978 100755 --- a/src/main/java/tanks/tank/TankPink.java +++ b/src/main/java/tanks/tank/TankPink.java @@ -8,6 +8,9 @@ import tanks.obstacle.Obstacle; import tanks.registry.RegistryTank; +/** + * A tank which spawns mini tanks and shoots 2-bounce rockets + */ public class TankPink extends TankAIControlled { public int spawnedMinis = 0; diff --git a/src/main/java/tanks/tank/TankPlayer.java b/src/main/java/tanks/tank/TankPlayer.java index bb2203d9..50330219 100755 --- a/src/main/java/tanks/tank/TankPlayer.java +++ b/src/main/java/tanks/tank/TankPlayer.java @@ -17,6 +17,9 @@ import tanks.hotbar.item.ItemBullet; import tanks.hotbar.item.ItemRemote; +/** + * A tank that is controlled by the player. + */ public class TankPlayer extends Tank implements IPlayerTank, IServerPlayerTank { public static Item default_bullet; @@ -197,13 +200,9 @@ else if (x == 1 && y == -1) if (this.cooldown > 0) this.cooldown -= Panel.frameFrequency; - boolean shoot = false; - if (!Game.game.window.touchscreen && Game.game.input.shoot.isPressed()) - shoot = true; + boolean shoot = !Game.game.window.touchscreen && Game.game.input.shoot.isPressed(); - boolean mine = false; - if (!Game.game.window.touchscreen && Game.game.input.mine.isPressed()) - mine = true; + boolean mine = !Game.game.window.touchscreen && Game.game.input.mine.isPressed(); boolean showRange = false; Hotbar h = Game.player.hotbar; diff --git a/src/main/java/tanks/tank/TankPlayerController.java b/src/main/java/tanks/tank/TankPlayerController.java index f3535dc7..9b2d069a 100755 --- a/src/main/java/tanks/tank/TankPlayerController.java +++ b/src/main/java/tanks/tank/TankPlayerController.java @@ -170,13 +170,9 @@ else if (x == 1 && y == -1) this.setPolarMotion(this.getPolarDirection(), maxVelocity); } - boolean shoot = false; - if (!Game.game.window.touchscreen && Game.game.input.shoot.isPressed()) - shoot = true; + boolean shoot = !Game.game.window.touchscreen && Game.game.input.shoot.isPressed(); - boolean mine = false; - if (!Game.game.window.touchscreen && Game.game.input.mine.isPressed()) - mine = true; + boolean mine = !Game.game.window.touchscreen && Game.game.input.mine.isPressed(); boolean showRange = false; Hotbar h = Game.player.hotbar; diff --git a/src/main/java/tanks/tank/TankPlayerMimic.java b/src/main/java/tanks/tank/TankPlayerMimic.java index 61fcb06f..1ec023e6 100755 --- a/src/main/java/tanks/tank/TankPlayerMimic.java +++ b/src/main/java/tanks/tank/TankPlayerMimic.java @@ -1,5 +1,9 @@ package tanks.tank; +/** + * Mimic of a tank player that is controlled by the logic of {@link TankPurple}. + * @see TankPlayer + */ public class TankPlayerMimic extends TankPurple { public TankPlayerMimic(String name, double x, double y, double angle) diff --git a/src/main/java/tanks/tank/TankPurple.java b/src/main/java/tanks/tank/TankPurple.java index 16723a79..97c19402 100755 --- a/src/main/java/tanks/tank/TankPurple.java +++ b/src/main/java/tanks/tank/TankPurple.java @@ -2,6 +2,9 @@ import tanks.Game; +/** + * A smart, fast tank which can lay mines + */ public class TankPurple extends TankAIControlled { public TankPurple(String name, double x, double y, double angle) diff --git a/src/main/java/tanks/tank/TankRed.java b/src/main/java/tanks/tank/TankRed.java index db961f5b..3e532719 100755 --- a/src/main/java/tanks/tank/TankRed.java +++ b/src/main/java/tanks/tank/TankRed.java @@ -5,6 +5,9 @@ import tanks.event.EventShootBullet; import tanks.event.EventTankRedUpdateCharge; +/** + * A stationary tank which shoots {@link BulletLaser}s. + */ public class TankRed extends TankAIControlled { public boolean lineOfSight = false; diff --git a/src/main/java/tanks/tank/TankWhite.java b/src/main/java/tanks/tank/TankWhite.java index 290447fa..29d79d11 100755 --- a/src/main/java/tanks/tank/TankWhite.java +++ b/src/main/java/tanks/tank/TankWhite.java @@ -5,6 +5,9 @@ import tanks.Game; import tanks.event.EventTankUpdateVisibility; +/** + * An invisible smart tank. + */ public class TankWhite extends TankAIControlled { boolean vanish = false; diff --git a/src/main/java/tanks/tank/TankYellow.java b/src/main/java/tanks/tank/TankYellow.java index 22a29031..a1e62b65 100755 --- a/src/main/java/tanks/tank/TankYellow.java +++ b/src/main/java/tanks/tank/TankYellow.java @@ -2,6 +2,9 @@ import tanks.Game; +/** + * A tank which lays many {@link Mine}s. + */ public class TankYellow extends TankAIControlled { public TankYellow(String name, double x, double y, double angle) diff --git a/src/main/java/tanks/tank/TeleporterOrb.java b/src/main/java/tanks/tank/TeleporterOrb.java index 17783f76..9db41212 100755 --- a/src/main/java/tanks/tank/TeleporterOrb.java +++ b/src/main/java/tanks/tank/TeleporterOrb.java @@ -3,6 +3,11 @@ import tanks.*; import tanks.event.EventTankTeleport; +/** + * The orb that transfers the player's tank which is fired from the teleporter. + * @see TankPlayer + * @see tanks.obstacle.ObstacleTeleporter + */ public class TeleporterOrb extends Movable { public Tank tank;