増幅器。
Inheritance: IFilter
Ejemplo n.º 1
0
        public void FacadeHomeTheater_SimplifiesInterface()
        {
            Amplifier         amp    = new Amplifier();
            Tuner             tuner  = new Tuner();
            DvdPlayer         dvd    = new DvdPlayer();
            CdPlayer          cd     = new CdPlayer();
            Projector         proj   = new Projector();
            Screen            screen = new Screen();
            TheaterLights     light  = new TheaterLights();
            PopcornPopper     pop    = new PopcornPopper();
            HomeTheaterFacade facade = new HomeTheaterFacade(amp, tuner, dvd, cd, proj, light, screen, pop);

            facade.WatchMovie("Inception");
            facade.endMovie();
        }
Ejemplo n.º 2
0
        private void Facade_Click(object sender, RoutedEventArgs e)
        {
            var theaterLights = new TheaterLights();
            var screen        = new Screen();
            var popcornPopper = new PopcornPopper();
            var projector     = new Projector();
            var dvdPlayer     = new DvdPlayer(projector);
            var tuner         = new Tuner();
            var cdPlayer      = new CdPlayer();
            var amplifier     = new Amplifier(tuner, cdPlayer, dvdPlayer);

            var homeTheaterFacade = new HomeTheaterFacade(amplifier, tuner, cdPlayer, dvdPlayer, theaterLights, screen, popcornPopper);

            homeTheaterFacade.WatchMovie();
        }
        public HomeTheatherFacade()
        {
            amp       = new Amplifier();
            tuner     = new Tuner();
            dvd       = new DvdPlayer();
            cd        = new CdPlayer();
            projector = new Projector();
            lights    = new TheaterLights();
            screen    = new Screen();
            popper    = new PopcornPopper();

            lights.Name    = "TheaterLights";
            projector.Name = "Projector";
            amp.Name       = "Amplifier";
            popper.Name    = "Popcorn";
        }
        private static void FacadePattern()
        {
            Amplifier     amp       = new Amplifier("amplifier");
            Tuner         tuner     = new Tuner("tuner", amp);
            DvdPlayer     dvd       = new DvdPlayer("Dvd Player", amp);
            CdPlayer      cd        = new CdPlayer("CD Player", amp);
            Projector     projector = new Projector("Projector", dvd);
            Screen        screen    = new Screen("Screen");
            TheaterLights lights    = new TheaterLights("Theater lights");
            PopcornPopper popper    = new PopcornPopper("Popcorn popper");

            HomeTheaterFacade homeTheater = new HomeTheaterFacade(amp, tuner, dvd, cd, projector, screen, lights, popper);

            homeTheater.watchMovie("Raiders of the Lost Ark");
            homeTheater.endMovie();
        }
Ejemplo n.º 5
0
        static void Main(string[] args)
        {
            var amplifier     = new Amplifier();
            var cdPlayer      = new CdPlayer(amplifier);
            var dvdPlayer     = new DvdPlayer(amplifier);
            var tuner         = new Tuner(amplifier);
            var theaterLights = new TheteaterLight();
            var popCornPopper = new PopcornPopper();
            var screen        = new Screen();
            var projector     = new Projector(dvdPlayer);

            HomeTheaterFacade homeTheater = new HomeTheaterFacade(amplifier, tuner, dvdPlayer, cdPlayer,
                                                                  theaterLights, popCornPopper, screen, projector);

            homeTheater.WatchMovie("Mr Bean");
        }
Ejemplo n.º 6
0
    static void Main()
    {
        Amplifier     amp       = new Amplifier();
        Tuner         tuner     = new Tuner();
        DvdPlayer     dvd       = new DvdPlayer();
        CdPlayer      cd        = new CdPlayer();
        Projector     projector = new Projector();
        Screen        screen    = new Screen();
        TheaterLights lights    = new TheaterLights();
        PopcornPopper popper    = new PopcornPopper();

        HomeTheaterFacade homeTheater = new HomeTheaterFacade(amp, tuner, dvd, cd, projector, screen, lights, popper);

        homeTheater.WatchMovie("Raiders of the Lost Ark");
        homeTheater.EndMovie();
    }
Ejemplo n.º 7
0
        static void Main(string[] args)
        {
            Amplifier   amplifier   = new Amplifier();
            CD          cd          = new CD();
            DVD         dvd         = new DVD();
            Popper      popper      = new Popper();
            Projector   projector   = new Projector();
            Screen      screen      = new Screen();
            SoundSystem soundSystem = new SoundSystem();
            Tuner       tuner       = new Tuner();
            Control     control     = new Control(new HomeTheater1(popper, screen, projector, amplifier, soundSystem, dvd, cd, tuner));

            control.TurnOnDVD();

            Console.Read();
        }
Ejemplo n.º 8
0
        static void Main(string[] args)
        {
            IDvdPlayer   dvdPlayer   = new DvdPlayer();
            ICdPlayer    cdPlayer    = new CdPlayer();
            IAmplifier   amplifier   = new Amplifier();
            IProjector   projector   = new Projector();
            IHomeTheater homeTheater = new HomeTheaterFacade(projector, amplifier, dvdPlayer, cdPlayer);

            homeTheater.WatchMovie("Finding Nemo");
            homeTheater.EndMovie();

            homeTheater.PlayMusic("Beethoven Symphonie Number 6");
            homeTheater.StopMusic();

            Console.ReadKey();
        }
Ejemplo n.º 9
0
        public static void Problem1()
        {
            int maxOutput = 0;

            for (int a = 0; a < 5; a++)
            {
                for (int b = 0; b < 5; b++)
                {
                    if (b != a)
                    {
                        for (int c = 0; c < 5; c++)
                        {
                            if (c != a && c != b)
                            {
                                for (int d = 0; d < 5; d++)
                                {
                                    if (d != a && d != b && d != c)
                                    {
                                        for (int e = 0; e < 5; e++)
                                        {
                                            if (e != a && e != b && e != c && e != d)
                                            {
                                                int[] phases = { a, b, c, d, e };
                                                int   output = 0;

                                                for (int i = 0; i < 5; i++)
                                                {
                                                    amps[i]       = new Amplifier();
                                                    amps[i].Phase = phases[i];
                                                    amps[i].Input = output;
                                                    RunProgram(i);
                                                    output = amps[i].Output;
                                                }
                                                Console.WriteLine($"[{a},{b},{c},{d},{e}] = {output}");
                                                maxOutput = (output > maxOutput) ? output : maxOutput;
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }

            Console.WriteLine($"Day 7 - 1: {maxOutput}");
        }
Ejemplo n.º 10
0
    void Start()
    {
        osc = new Oscillator();
        env = new Envelope();
        lpf = new LowPassFilter(env);
        amp = new Amplifier(env);

        lpf.cutoff = 0.2f;
        lpf.envMod = 0.2f;

        seq = new Sequencer(bpm,
                            new int[]
        {
            30, 30, 42, 30,
            30, 29, 30, 29,
            30, 30, 42, 30,
            30, 42, 29, 30
        },
                            new bool[]
        {
            true, true, true, true,
            true, true, false, true,
            true, false, false, true,
            true, true, false, true
        }
                            );

        drums = new Sampler[drumClips.Length];
        for (var i = 0; i < drumClips.Length; i++)
        {
            drums[i] = new Sampler(drumClips[i]);
        }

        drumSeq = new MatrixSequencer(bpm, drumClips.Length, 16);
        drumSeq.SetTrack(0,
                         new bool[]
        {
            true, false, false, false,
            true, false, false, false,
            true, false, false, false,
            true, false, false, false
        }
                         );

        GetComponent <AudioSource>().clip = AudioClip.Create("(null)", 0xfffffff, 1, SynthConfig.kSampleRate, true, delegate(float[] data) {});
        GetComponent <AudioSource>().Play();
    }
Ejemplo n.º 11
0
        private static void TestFacadePattern()
        {
            string        brand = "Top-O-Line";
            Amplifier     a     = new Amplifier(brand);
            Tuner         t     = new Tuner();
            DvdPlayer     d     = new DvdPlayer(brand);
            CdPlayer      c     = new CdPlayer(brand);
            Projector     p     = new Projector(brand);
            Screen        s     = new Screen();
            TheaterLights l     = new TheaterLights();
            PopcornPopper pp    = new PopcornPopper();

            HomeTheaterFacade homeTheater = new HomeTheaterFacade(a, t, d, c, p, s, l, pp);

            Console.WriteLine(homeTheater.WatchMovie("Black Panther"));
            Console.WriteLine(homeTheater.EndMovie());
        }
Ejemplo n.º 12
0
        static void Main(string[] args)
        {
            Amplifier        amp           = new Amplifier();
            DvdPlayer        dvdPlayer     = new DvdPlayer();
            CdPlayer         cdPlayer      = new CdPlayer();
            TheaterLights    lights        = new TheaterLights();
            Projector        projector     = new Projector();
            Screen           screen        = new Screen();
            TheaterLights    theaterLights = new TheaterLights();
            Tuner            tuner         = new Tuner();
            PopcornPopper    popper        = new PopcornPopper();
            HomeSystemFacade homeSystem    = new HomeSystemFacade(amp, tuner, dvdPlayer, cdPlayer, projector,
                                                                  lights, screen, popper);

            homeSystem.watchMovie("Inside out");
            homeSystem.endMovie();
        }
Ejemplo n.º 13
0
        public static int Solution1()
        {
            var input = File.ReadAllText("data/day11.txt")
                        .Split(',')
                        .Select(BigInteger.Parse)
                        .ToList();

            var plane = Enumerable.Range(0, PLANE_SIZE)
                        .Select(l => Enumerable.Repeat(".", PLANE_SIZE).ToList())
                        .ToList();


            var currentInput     = BigInteger.Zero;
            var currentPos       = (X : PLANE_SIZE / 2, Y : PLANE_SIZE / 2);
            var currentDirection = Direction.UP;
            var amplifier        = new Amplifier(0, input);

            var points = new List <(int X, int Y)>();

            do
            {
                points.Add(currentPos);
                var outputColor = amplifier.GetOutput(currentInput);
                if (outputColor.final)
                {
                    break;
                }
                var outputDirection = amplifier.GetOutput();
                if (outputDirection.final)
                {
                    break;
                }

                currentDirection = outputDirection.value == BigInteger.One
                    ? Directions[Mod(Directions.FindIndex(x => x == currentDirection) + 1, 4)]
                    : Directions[Mod(Directions.FindIndex(x => x == currentDirection) - 1, 4)];

                plane[currentPos.Y][currentPos.X] = outputColor.value == 0 ? "." : "#";
                currentPos   = GetNextPosition(currentDirection, currentPos);
                currentInput = plane[currentPos.Y][currentPos.X] == "." ? BigInteger.Zero : BigInteger.One;
            } while (true);

            var result = points.GroupBy(x => new { x.X, x.Y }).Count();

            return(result);
        }
Ejemplo n.º 14
0
 public void Dispose()
 {
     amp       = null;
     tuner     = null;
     dvd       = null;
     cd        = null;
     projector = null;
     lights    = null;
     screen    = null;
     popper    = null;
     expectedWatchMovieOutput    = null;
     expectedEndMovieOutput      = null;
     expectedListenToCDOutput    = null;
     expectedEndCDOutput         = null;
     expectedListenToRadioOutput = null;
     expectedEndRadioOutput      = null;
     homeTheater = null;
 }
        public static void Test()
        {
            var amp       = new Amplifier();
            var tuner     = new Tuner();
            var dvd       = new DvdPlayer();
            var cd        = new CdPlayer();
            var projector = new Projector();
            var screen    = new Screen();
            var lights    = new TheaterLights();
            var popper    = new PopcornPopper();

            var homeTheaterFacade = new HomeTheaterFacade(
                amp, tuner, dvd, cd, projector, screen, lights, popper
                );

            homeTheaterFacade.WatchMovie("Raiders of the Lost Ark");
            homeTheaterFacade.EndMovie();
        }
Ejemplo n.º 16
0
 public HomeSystemFacade(Amplifier amp,
                         Tuner tuner,
                         DvdPlayer dvdPlayer,
                         CdPlayer cdPlayer,
                         Projector projector,
                         TheaterLights theaterLights,
                         Screen screen,
                         PopcornPopper popper
                         )
 {
     this.amp           = amp;
     this.dvdPlayer     = dvdPlayer;
     this.cdPlayer      = cdPlayer;
     this.projector     = projector;
     this.theaterLights = theaterLights;
     this.screen        = screen;
     this.popper        = popper;
 }
Ejemplo n.º 17
0
        static void Main(string[] args)
        {
            Tuner         _tuner     = new Tuner();
            DvdPlayer     _dvd       = new DvdPlayer();
            CdPlayer      _cd        = new CdPlayer();
            Projector     _projector = new Projector();
            TheaterLights _lights    = new TheaterLights();
            Screen        _screen    = new Screen();
            PopcornPopper _popper    = new PopcornPopper();
            Amplifier     _amp       = new Amplifier(_tuner, _dvd, _cd);

            HomeTheaterFacade homeTheater = new HomeTheaterFacade(_amp, _tuner, _dvd, _cd, _projector, _lights, _screen, _popper);

            homeTheater.WatchMovie("Raiders of the Lost Ark");
            homeTheater.EndMovie();

            Console.ReadLine();
        }
Ejemplo n.º 18
0
        public void FacadeTest()
        {
            Amplifier     amp       = new Amplifier("Top-O-Line Amplifier");
            Tuner         tuner     = new Tuner("Top-O-Line AM/FM Tuner", amp);
            DvdPlayer     dvd       = new DvdPlayer("Top-O-Line DVD Player", amp);
            CdPlayer      cd        = new CdPlayer("Top-O-Line CD Player", amp);
            Projector     projector = new Projector("Top-O-Line Projector", dvd);
            TheaterLights lights    = new TheaterLights("Theater Ceiling Lights");
            Screen        screen    = new Screen("Theater Screen");
            PopcornPopper popper    = new PopcornPopper("Popcorn Popper");

            HomeTheaterFacade homeTheater =
                new HomeTheaterFacade(amp, tuner, dvd, cd,
                                      projector, screen, lights, popper);

            homeTheater.WatchMovie("Raiders of the Lost Ark");
            homeTheater.EndMovie();
        }
Ejemplo n.º 19
0
        static void Main(string[] args)
        {
            Amplifier     _amp       = new Amplifier();
            Tuner         _tuner     = new Tuner();
            DvdPlayer     _dvd       = new DvdPlayer();
            CdPlayer      _cd        = new CdPlayer();
            Progector     _progector = new Progector();
            TheaterLights _lights    = new TheaterLights();
            Screen        _screen    = new Screen();
            PopcornPopper _popper    = new PopcornPopper();

            HomeTheaterFacade homeTheater = new HomeTheaterFacade(_amp, _tuner, _dvd, _cd, _progector, _lights, _screen, _popper);

            homeTheater.WatchMovie("Люди в черном");
            Console.WriteLine("\n\n\n");
            Thread.Sleep(2500);
            homeTheater.EndMovie();
        }
Ejemplo n.º 20
0
        static void Main(string[] args)
        {
            var amp       = new Amplifier();
            var tuner     = new Tuner();
            var dvd       = new DvdPlayer();
            var cd        = new CdPlayer();
            var projector = new Projector();
            var screen    = new Screen();
            var lights    = new TheaterLights();
            var popper    = new PopcornPopper();

            HomeTheaterFacade homeTheater = new HomeTheaterFacade(amp, tuner, dvd, cd, projector, screen, lights, popper);

            homeTheater.WatchMovie("Raiders of the Lost Ark");
            homeTheater.EndMovie();

            Console.ReadKey();
        }
 public HomeTheaterFacade(
     Amplifier amp,
     Tuner tuner,
     DvdPlayer dvd,
     CdPlayer cd,
     Projector projector,
     TheaterLights lights,
     Screen screen,
     PopcornPopper popper)
 {
     this.Amp       = amp;
     this.Tuner     = tuner;
     this.Dvd       = dvd;
     this.Cd        = cd;
     this.Projector = projector;
     this.Lights    = lights;
     this.Screen    = screen;
     this.Popper    = popper;
 }
Ejemplo n.º 22
0
 public HomeTheaterFacade(
     Amplifier amplifier,
     Tuner tuner,
     DvdPlayer dvd,
     CdPlayer cd,
     Projector projector,
     Screen screen,
     TheaterLights lights,
     PopcornPopper popper)
 {
     _amplifier      = amplifier;
     _tuner          = tuner;
     _dvd            = dvd;
     _cd             = cd;
     _projector      = projector;
     _screen         = screen;
     _theater_lights = lights;
     _popper         = popper;
 }
Ejemplo n.º 23
0
 public void Init()
 {
     amp       = new Amplifier("Top-O-Line Amplifier");
     tuner     = new Tuner("Top-O-Line Tuner", amp);
     dvd       = new DvdPlayer("Top-O-Line DVD Player", amp);
     cd        = new CdPlayer("Top-O-Line CD Player", amp);
     projector = new Projector("Top-O-Line Projector", dvd);
     lights    = new TheaterLights("Theater Ceiling Lights");
     screen    = new Screen("Theater Screen");
     popper    = new PopcornPopper("Popcorn Popper");
     expectedWatchMovieOutput    = new StringBuilder();
     expectedEndMovieOutput      = new StringBuilder();
     expectedListenToCDOutput    = new StringBuilder();
     expectedEndCDOutput         = new StringBuilder();
     expectedListenToRadioOutput = new StringBuilder();
     expectedEndRadioOutput      = new StringBuilder();
     homeTheater = new HomeTheaterFacade(amp, tuner,
                                         dvd, cd, projector, screen, lights, popper);
 }
Ejemplo n.º 24
0
 public HomeTheaterFacade(
     Amplifier amplifier,
     Tuner tuner,
     DvdPlayer dvdPlayer,
     CdPlayer cdPlayer,
     Projector projector,
     EnvironmentLight environmentLight,
     Screen screen,
     PopcornMachine popcornMachine
     )
 {
     _amplifier      = amplifier;
     _tuner          = tuner;
     _dvdPlayer      = dvdPlayer;
     _cdPlayer       = cdPlayer;
     _projector      = projector;
     _light          = environmentLight;
     _screen         = screen;
     _popcornMachine = popcornMachine;
 }
Ejemplo n.º 25
0
        public string Get(int id)
        {
            // return "value";
            Amplifier baseAmplifier = new Amplifier();

            Tuner     tuner    = new Tuner(baseAmplifier);
            DvdPlayer dvd      = new DvdPlayer(baseAmplifier);
            CdPlayer  cdPlayer = new CdPlayer(baseAmplifier);

            Amplifier         amp    = new Amplifier(tuner, dvd, cdPlayer);
            HomeTheaterFacade facade = new HomeTheaterFacade(amp, tuner, dvd, cdPlayer, new Projector(dvd), new Screen(),
                                                             new TheaterLights(), new Popper());

            if (id % 2 == 0)
            {
                return(facade.WatchMovie("Raiders"));
            }
            else
            {
                return(facade.EndMovie());
            }
        }
Ejemplo n.º 26
0
        protected override int SolvePartTwo()
        {
            phaseSettingSequences = GetPermutations(new int[] { 5, 6, 7, 8, 9 }, 5);
            int maxThrusterSignal = 0;

            for (int i = 0; i < amplifiers.Length; i++)
            {
                amplifiers[i] = new Amplifier(intcodeProgram.Copy());
            }
            foreach (IEnumerable <int> phaseSettingSequence in phaseSettingSequences)
            {
                for (int i = 0; i < amplifiers.Length; i++)
                {
                    amplifiers[i].SetPhaseSetting(phaseSettingSequence.ElementAt(i));
                }

                int endOfLoopOutput = -1;
                int output          = 0;

                while (endOfLoopOutput != output)
                {
                    for (int i = 0; i < amplifiers.Length; i++)
                    {
                        amplifiers[i].ClearInputs();
                        amplifiers[i].SetInput(output);
                        amplifiers[i].Execute();
                        output = amplifiers[i].GetOutput();
                    }

                    endOfLoopOutput = output;
                    if (endOfLoopOutput > maxThrusterSignal)
                    {
                        maxThrusterSignal = endOfLoopOutput;
                    }
                }
            }
            return(maxThrusterSignal);
        }
Ejemplo n.º 27
0
        static void PartA()
        {
            List <int> input     = ReadInput();
            List <int> phases    = Enumerable.Range(0, 5).ToList();
            var        perm      = Algorithms.HeapPermutation <int>(phases);
            int        maxSignal = int.MinValue;

            foreach (List <int> curPhase in perm)
            {
                int signal = 0;
                for (int i = 0; i < curPhase.Count; i++)
                {
                    Amplifier a = new Amplifier(input, signal, curPhase[i]);
                    RunProgram(a);
                    signal = a.reg;
                }
                if (signal > maxSignal)
                {
                    maxSignal = signal;
                }
            }
            Console.WriteLine("Part A: Result is {0}.", maxSignal);
        }
Ejemplo n.º 28
0
 public DvdPlayer(string name, Amplifier amp)
 {
     Name = name;
     Amp  = amp;
 }
Ejemplo n.º 29
0
 public Tuner(string description, Amplifier amplifier)
 {
     Description = description;
 }
Ejemplo n.º 30
0
        private static CurrentSpell ArcaneMageCommands(Player mage)
        {
            ConsoleKeyInfo enter = new ConsoleKeyInfo();

            Console.Clear();

            var counter = 1;

            while (enter.Key != ConsoleKey.Enter)
            {
                if (enter.Key == ConsoleKey.DownArrow)
                {
                    counter++;
                }
                else if (enter.Key == ConsoleKey.UpArrow)
                {
                    counter--;
                }

                GameTitle.GetTitle();
                string actionSelect = $"SELECT ACTION FOR {mage.Name}";
                string polymorph    = $"POLYMORPH-- DISABLE TARGET FOR 2 TURNS, COST: 200 MANA, COOLDOWN: 4";
                string arcaneBlast  = $"ARCANE BLAST-- DAMAGE:{mage.Spellpower * 3}, COST: 90 MANA, , NO COOLDOWN";
                string amplifier    = $"AMPLIFY MAGIC-- DOUBLE SPELL DAMAGE FOR NEXT 2 TURNS, COST: 250 MANA, COOLDOWN: 4";
                string manaRegen    = $"MANA REGENERATION-- GET 300 MANA, COOLDOWN: 3";
                Console.WriteLine("{0}", actionSelect);
                switch (counter)
                {
                case 1:
                    Console.ForegroundColor = ConsoleColor.Magenta;
                    Console.WriteLine("{0,2}", "-> " + polymorph);
                    Console.WriteLine("{0,2}", arcaneBlast);
                    Console.WriteLine("{0,2}", amplifier);
                    Console.WriteLine("{0,2}", manaRegen); break;

                case 2:
                    Console.ForegroundColor = ConsoleColor.Magenta;
                    Console.WriteLine("{0,2}", polymorph);
                    Console.WriteLine("{0,2}", "-> " + arcaneBlast);
                    Console.WriteLine("{0,2}", amplifier);
                    Console.WriteLine("{0,2}", manaRegen); break;

                case 3:
                    Console.ForegroundColor = ConsoleColor.Magenta;
                    Console.WriteLine("{0,2}", polymorph);
                    Console.WriteLine("{0,2}", arcaneBlast);
                    Console.WriteLine("{0,2}", "-> " + amplifier);
                    Console.WriteLine("{0,2}", manaRegen); break;

                case 4:
                    Console.ForegroundColor = ConsoleColor.Magenta;
                    Console.WriteLine("{0,2}", polymorph);
                    Console.WriteLine("{0,2}", arcaneBlast);
                    Console.WriteLine("{0,2}", amplifier);
                    Console.WriteLine("{0,2}", "-> " + manaRegen); break;

                default:
                    if (counter == 5)
                    {
                        counter = 1;
                        Console.ForegroundColor = ConsoleColor.Magenta;
                        Console.WriteLine("{0,2}", "-> " + polymorph);
                        Console.WriteLine("{0,2}", arcaneBlast);
                        Console.WriteLine("{0,2}", amplifier);
                        Console.WriteLine("{0,2}", manaRegen); break;
                    }
                    else if (counter == 0)
                    {
                        counter = 4;
                        Console.ForegroundColor = ConsoleColor.Magenta;
                        Console.WriteLine("{0,2}", polymorph);
                        Console.WriteLine("{0,2}", arcaneBlast);
                        Console.WriteLine("{0,2}", amplifier);
                        Console.WriteLine("{0,2}", "-> " + manaRegen); break;
                    }
                    break;
                }
                enter = Console.ReadKey();
                Console.Clear();
            }
            var currentSpell = new CurrentSpell();

            switch (counter)
            {
            case 1:
                var polymorph = new Polymorph();
                currentSpell = polymorph.GetPolymorph(mage);
                break;

            case 2:
                var arcaneBlast = new ArcaneBlast();
                currentSpell = arcaneBlast.GetArcaneBlast(mage);
                break;

            case 3:
                var amplifier = new Amplifier();
                currentSpell = amplifier.GetAmplifier(mage);
                break;

            default:
                var manaReg = new ManaRegeneration();
                currentSpell = manaReg.GetManaReg(mage);
                break;
            }

            return(currentSpell);
        }