public class Gun{ // Overview: Gun is a weapon that Tank uses to create and shoot a bullet. // Caution: every subtype of Gun must overide getBullet() protected int damage; protected int speed; //time before the next shot can be made protected int bSpeed; //the speed of the shell protected Shell bullet; Gun(){ damage = 1; speed = 1000; bSpeed = 100; } Gun(int damage, int speed, int bSpeed){ this.damage = damage; this.speed = speed; this.bSpeed = bSpeed; } public int getDamage(){ return damage; } public int getSpeed(){ return speed; } public int getBSpeed(){ return bSpeed; } public Shell getBullet(Direction dir){ //Effects:create a new bullet. bullet = new Shell(dir,damage,bSpeed); return bullet; } public void setDamage(int damage){ this.damage = damage; } public void setSpeed(int speed){ this.speed = speed; } }