Weapon create(WeaponType type) { Weapon w; switch (type) { case FIREBALL: w = new Fireball(); break; case LASER: w = new Laser(); break; case MISSILE: w = new Missile(); break; case SHIBOLEET: w = new Shiboleet(board); break; default: w = null; break; } w.type = type; w.wf = this; if (w != null) w.board = board; return w; }