Added abstract class Weapon and classes Gun, Sword and Bullet.