public void AllItemsInBagArePresentInOutput()
    {
        var items = GetRandomItems(20, 100);

        var bag     = new RandomBag <int>(items);
        var results = new Dictionary <int, int>();

        while (!bag.Empty)
        {
            var value = bag.Next();

            if (!results.ContainsKey(value))
            {
                results.Add(value, 0);
            }

            results[value]++;
        }

        foreach (var item in items)
        {
            results[item]--;
        }

        Assert.IsFalse(results.Any(p => p.Value != 0));
    }
Example #2
0
        void Awake()
        {
            // Get an array with each value of TetrisPiece
            TetrisPiece[] tetrisPieceArray = (TetrisPiece[])Enum.GetValues(typeof(TetrisPiece));

            // Create the bag containing two instances of every value of TetrisPiece
            pieceBag = new RandomBag <TetrisPiece>(tetrisPieceArray, 2);

            // Gets 50 items from the bag. The bag will be filled with 14 TetrisPieces and
            // automatically refilled with 14 more when needed. No two pieces will ever be
            // more than 14 calls apart - and even that will only happen if that piece was
            // the first and last item in the current 14 piece bag filling.
            StringBuilder str = new StringBuilder();

            for (var i = 0; i < 50; i++)
            {
                str.Append(pieceBag.PopRandomItem());
                str.Append(", ");
            }

            Debug.Log(str);

            // Example output:
            // T, Z, J, Square, Z, S, L, L, S, Line, J, Line, Square, T, Square, Z,
            // S, T, Line, Square, Z, T, J, Line, S, L, J, L, S, Z, Line, J, Line,
            // J, L, L, S, T, T, Z, Square, Square, Z, T, S, Z, J, J, L, Line,
        }
    public void ItemsCannotBeRemovedWhenBagIsEmpty()
    {
        var bag = new RandomBag <int>();

        Assert.IsTrue(bag.Empty);
        Assert.Throws <InvalidOperationException>(() => bag.Next());
    }
Example #4
0
 void OnDrawGizmos()
 {
     if(test){
         test = false;
         RandomBag<int> bag = new RandomBag<int>(new System.Random());
         bag.add(1);
         bag.add(2);
     }
 }
Example #5
0
 void OnDrawGizmos()
 {
     if (test)
     {
         test = false;
         RandomBag <int> bag = new RandomBag <int>(new System.Random());
         bag.add(1);
         bag.add(2);
     }
 }
    public void BagCanBeCleared()
    {
        var bag = new RandomBag <int>(new[] { 1, 2, 3 });

        Assert.IsFalse(bag.Empty);

        bag.Clear();

        Assert.IsTrue(bag.Empty);
        Assert.AreEqual(0, bag.Count);
    }
Example #7
0
        public void ShouldEnumerateThroughEmptyBag()
        {
            // Given
            var bag = new RandomBag <int>();

            // When
            var result = bag.ToArray();

            // Then
            result.Length.ShouldBe(0);
        }
    public void ItemsCanBeAddedToBag()
    {
        var bag        = new RandomBag <int>();
        var startCount = bag.Count;

        bag.Add(7);
        Assert.AreEqual(startCount + 1, bag.Count);

        bag.Add(4, 3);
        Assert.AreEqual(startCount + 4, bag.Count);
    }
    public void ItemsCanBeRemovedFromBag()
    {
        var bag = new RandomBag <int>(new[] { 1, 2, 3 });

        Assert.IsFalse(bag.Empty);

        bag.Next();
        bag.Next();
        bag.Next();

        Assert.IsTrue(bag.Empty);
        Assert.AreEqual(0, bag.Count);
    }
Example #10
0
        /// <summary>
        /// 绘制连接图像。
        /// </summary>
        /// <param name="n">矩阵边长。</param>
        public static void Draw(int n, TextBox log, Log WinBox)
        {
            logBox = log;

            // 生成路径。
            log.AppendText("\r\n开始生成连接……");
            bag = RandomGrid.Generate(n);
            log.AppendText("\r\n生成连接完成");

            // 新建画布窗口。
            log.AppendText("\r\n启动画布……");
            Form2 matrix = new Form2();

            matrix.StartPosition = FormStartPosition.Manual;
            matrix.Location      = new Point(WinBox.Left - matrix.ClientRectangle.Width, WinBox.Top);
            matrix.Show();
            log.AppendText("\r\n画布已启动,开始绘图……");
            graphics = matrix.CreateGraphics();

            // 获取绘图区域。
            RectangleF rect  = matrix.ClientRectangle;
            float      unitX = rect.Width / (n + 1);
            float      unitY = rect.Height / (n + 1);

            // 绘制点。
            log.AppendText("\r\n绘制点……");
            points = new PointF[n * n];
            for (int row = 0; row < n; row++)
            {
                for (int col = 0; col < n; col++)
                {
                    points[row * n + col] = new PointF(unitX * (col + 1), unitY * (row + 1));
                    graphics.FillEllipse(Brushes.Black, unitX * (col + 1), unitY * (row + 1), 5, 5);
                }
            }
            log.AppendText("\r\n绘制点完成");

            // 绘制连接。
            log.AppendText("\r\n开始绘制连接……");
            connections = new List <Connection>();
            foreach (Connection c in bag)
            {
                connections.Add(c);
            }
            timer = new Timer
            {
                Interval = 500
            };
            timer.Tick += DrawOneLine;
            timer.Start();
        }
Example #11
0
        /// <summary>
        /// Constructor that initializes the tetromino mappings for generation
        /// </summary>
        public TetrominoFactory()
        {
            this.bag         = new RandomBag(6);
            tetrominoNames   = new char[] { 'o', 'i', 't', 'l', 'j', 's', 'z' };
            tetrominoMapping = new Dictionary <char, TetrominoData>();

            tetrominoMapping.Add('t', new TetrominoData(TRotationMatrix, JLSTZ_OffsetData, JLSTZ_StartingCenters));
            tetrominoMapping.Add('s', new TetrominoData(SRotationMatrix, JLSTZ_OffsetData, JLSTZ_StartingCenters));
            tetrominoMapping.Add('z', new TetrominoData(ZRotationMatrix, JLSTZ_OffsetData, JLSTZ_StartingCenters));
            tetrominoMapping.Add('o', new TetrominoData(ORotationMatrix, O_OffsetData, O_StartingCenters));
            tetrominoMapping.Add('i', new TetrominoData(IRotationMatrix, I_OffsetData, I_StartingCenters));
            tetrominoMapping.Add('l', new TetrominoData(LRotationMatrix, JLSTZ_OffsetData, JLSTZ_StartingCenters));
            tetrominoMapping.Add('j', new TetrominoData(JRotationMatrix, JLSTZ_OffsetData, JLSTZ_StartingCenters));
        }
        public void ShouldReturnRandomItemsFromBag()
        {
            var elements = new List <string> {
                "a", "b", "c", "d"
            };
            var bag = new RandomBag <string>(elements);

            for (int i = 0; i < elements.Count; i++)
            {
                var item = bag.GetItem();
                Assert.That(elements, Contains.Item(item));
                elements.Remove(item);
            }
        }
Example #13
0
        public void ShouldAdd()
        {
            // Given
            var operations = 50;
            var bag        = new RandomBag <int>();

            // When
            for (var i = 0; i < operations; i++)
            {
                bag.Add(i);
            }

            // Then
            bag.Size.ShouldBe(operations);
        }
    public void ItemsComeFromBagInRandomOrder()
    {
        var items   = GetRandomItems(50, 100);
        var bag     = new RandomBag <int>(items);
        var results = items.Select(i => bag.Next()).ToArray();

        int differences = 0;

        for (var index = 0; index < items.Length; index++)
        {
            if (items[index] != results[index])
            {
                differences++;
            }
        }

        Assert.Greater(differences, 0);
    }
Example #15
0
        public void ShouldEnumerateThroughBag()
        {
            // Given
            var operationsCount = 50;
            var capacity        = 50;
            var bag             = new RandomBag <int>();
            var masterList      = Enumerable.Range(0, capacity).ToList();

            // When
            foreach (var item in masterList)
            {
                bag.Add(item);
            }

            // Then
            for (var i = 0; i < operationsCount; i++)
            {
                var actualList = bag.ToList();
                actualList.ShouldNotBe(masterList);
            }
        }
Example #16
0
    /// <summary>
    /// 随机生成 n × n 网格中的所有连接。
    /// </summary>
    /// <param name="n">网格边长。</param>
    /// <returns>随机排序的连接。</returns>
    public static RandomBag <Connection> Generate(int n)
    {
        var result = new RandomBag <Connection>();
        var random = new Random();

        // 建立横向连接
        for (var i = 0; i < n; i++)
        {
            for (var j = 0; j < n - 1; j++)
            {
                if (random.Next(10) > 4)
                {
                    result.Add(new Connection(i * n + j, (i * n) + j + 1));
                }
                else
                {
                    result.Add(new Connection((i * n) + j + 1, i * n + j));
                }
            }
        }

        // 建立纵向连接
        for (var j = 0; j < n; j++)
        {
            for (var i = 0; i < n - 1; i++)
            {
                if (random.Next(10) > 4)
                {
                    result.Add(new Connection(i * n + j, ((i + 1) * n) + j));
                }
                else
                {
                    result.Add(new Connection(((i + 1) * n) + j, i * n + j));
                }
            }
        }

        return(result);
    }
Example #17
0
        public static int Attack()
        {
            switch (Fight.HeroLvl)
            {
            case 1:
                if (Lvl1Instantiated == false)
                {
                    var weapon1 = new RandomBag <int>((0, 10), (1, 12), (2, 6), (3, 8), (4, 10), (5, 12), (6, 12), (7, 10), (8, 8), (9, 6), (15, 6));

                    WeaponPool       = weapon1;
                    Lvl1Instantiated = true;
                }

                int RandomPulledInternal = WeaponPool.GetRandom();

                if (RandomPulledInternal == 0)
                {
                    Console.ForegroundColor = ConsoleColor.Yellow; Console.Write("\n\n\tYou Missed!"); Console.ResetColor();
                    return(RandomPulledInternal);
                }
                else if (RandomPulledInternal == 15)
                {
                    Console.ForegroundColor = ConsoleColor.Yellow; Console.Write("\n\n\tCritical Hit!  "); Console.ForegroundColor = ConsoleColor.Cyan; Console.Write(RandomPulledInternal); Console.ForegroundColor = ConsoleColor.Yellow; Console.Write(" damage!"); Console.ResetColor();
                    return(RandomPulledInternal);
                }
                Console.ForegroundColor = ConsoleColor.Cyan; Console.Write("\n\nYour attack did "); Console.ForegroundColor = ConsoleColor.Yellow; Console.Write(RandomPulledInternal); Console.ForegroundColor = ConsoleColor.Cyan; Console.Write(" damage."); Console.ResetColor();
                return(RandomPulledInternal);

            case 2:
                if (Lvl2Instantiated == false)
                {
                    var weapon2 = new RandomBag <int>((0, 9), (1, 11), (2, 6), (3, 8), (4, 10), (5, 12), (6, 13), (7, 10), (8, 8), (9, 6), (16, 7));

                    WeaponPool       = weapon2;
                    Lvl2Instantiated = true;
                }

                RandomPulledInternal = WeaponPool.GetRandom();

                if (RandomPulledInternal == 0)
                {
                    Console.ForegroundColor = ConsoleColor.Yellow; Console.Write("\n\n\tYou Missed!"); Console.ResetColor();
                    return(RandomPulledInternal);
                }
                else if (RandomPulledInternal == 16)
                {
                    Console.ForegroundColor = ConsoleColor.Yellow; Console.Write("\n\n\tCritical Hit!  "); Console.ForegroundColor = ConsoleColor.Cyan; Console.Write(RandomPulledInternal); Console.ForegroundColor = ConsoleColor.Yellow; Console.Write(" damage!"); Console.ResetColor();
                    return(RandomPulledInternal);
                }
                Console.ForegroundColor = ConsoleColor.Cyan; Console.Write("\n\nYour attack did "); Console.ForegroundColor = ConsoleColor.Yellow; Console.Write(RandomPulledInternal); Console.ForegroundColor = ConsoleColor.Cyan; Console.Write(" damage."); Console.ResetColor();
                return(RandomPulledInternal);

            case 3:
                if (Lvl3Instantiated == false)
                {
                    var weapon3 = new RandomBag <int>((0, 8), (1, 10), (3, 6), (4, 6), (5, 8), (6, 8), (7, 10), (8, 12), (9, 10), (10, 8), (11, 6), (18, 8));

                    WeaponPool       = weapon3;
                    Lvl3Instantiated = true;
                }

                RandomPulledInternal = WeaponPool.GetRandom();

                if (RandomPulledInternal == 0)
                {
                    Console.ForegroundColor = ConsoleColor.Yellow; Console.Write("\n\n\tYou Missed!"); Console.ResetColor();
                    return(RandomPulledInternal);
                }
                else if (RandomPulledInternal == 18)
                {
                    Console.ForegroundColor = ConsoleColor.Yellow; Console.Write("\n\n\tCritical Hit!  "); Console.ForegroundColor = ConsoleColor.Cyan; Console.Write(RandomPulledInternal); Console.ForegroundColor = ConsoleColor.Yellow; Console.Write(" damage!"); Console.ResetColor();
                    return(RandomPulledInternal);
                }
                Console.ForegroundColor = ConsoleColor.Cyan; Console.Write("\n\nYour attack did "); Console.ForegroundColor = ConsoleColor.Yellow; Console.Write(RandomPulledInternal); Console.ForegroundColor = ConsoleColor.Cyan; Console.Write(" damage."); Console.ResetColor();
                return(RandomPulledInternal);

            case 4:
                if (Lvl4Instantiated == false)
                {
                    var weapon4 = new RandomBag <int>((0, 7), (1, 10), (4, 5), (5, 5), (6, 6), (7, 8), (8, 9), (9, 10), (10, 12), (11, 10), (12, 8), (20, 10));

                    WeaponPool       = weapon4;
                    Lvl4Instantiated = true;
                }

                RandomPulledInternal = WeaponPool.GetRandom();

                if (RandomPulledInternal == 0)
                {
                    Console.ForegroundColor = ConsoleColor.Yellow; Console.Write("\n\n\tYou Missed!"); Console.ResetColor();
                    return(RandomPulledInternal);
                }
                else if (RandomPulledInternal == 20)
                {
                    Console.ForegroundColor = ConsoleColor.Yellow; Console.Write("\n\n\tCritical Hit!  "); Console.ForegroundColor = ConsoleColor.Cyan; Console.Write(RandomPulledInternal); Console.ForegroundColor = ConsoleColor.Yellow; Console.Write(" damage!"); Console.ResetColor();
                    return(RandomPulledInternal);
                }
                Console.ForegroundColor = ConsoleColor.Cyan; Console.Write("\n\nYour attack did "); Console.ForegroundColor = ConsoleColor.Yellow; Console.Write(RandomPulledInternal); Console.ForegroundColor = ConsoleColor.Cyan; Console.Write(" damage."); Console.ResetColor();
                return(RandomPulledInternal);

            case 5:
                if (Lvl5Instantiated == false)
                {
                    var weapon5 = new RandomBag <int>((0, 6), (1, 7), (5, 5), (6, 6), (7, 7), (8, 9), (9, 9), (10, 10), (11, 12), (12, 10), (13, 9), (22, 10));

                    WeaponPool       = weapon5;
                    Lvl5Instantiated = true;
                }

                RandomPulledInternal = WeaponPool.GetRandom();

                if (RandomPulledInternal == 0)
                {
                    Console.ForegroundColor = ConsoleColor.Yellow; Console.Write("\n\n\tYou Missed!"); Console.ResetColor();
                    return(RandomPulledInternal);
                }
                else if (RandomPulledInternal == 22)
                {
                    Console.ForegroundColor = ConsoleColor.Yellow; Console.Write("\n\n\tCritical Hit!  "); Console.ForegroundColor = ConsoleColor.Cyan; Console.Write(RandomPulledInternal); Console.ForegroundColor = ConsoleColor.Yellow; Console.Write(" damage!"); Console.ResetColor();
                    return(RandomPulledInternal);
                }
                Console.ForegroundColor = ConsoleColor.Cyan; Console.Write("\n\nYour attack did "); Console.ForegroundColor = ConsoleColor.Yellow; Console.Write(RandomPulledInternal); Console.ForegroundColor = ConsoleColor.Cyan; Console.Write(" damage."); Console.ResetColor();
                return(RandomPulledInternal);

            case 6:
                if (Lvl6Instantiated == false)
                {
                    var weapon6 = new RandomBag <int>((0, 5), (1, 6), (6, 4), (7, 5), (8, 6), (9, 8), (10, 10), (11, 12), (12, 14), (13, 10), (14, 9), (24, 11));

                    WeaponPool       = weapon6;
                    Lvl6Instantiated = true;
                }

                RandomPulledInternal = WeaponPool.GetRandom();

                if (RandomPulledInternal == 0)
                {
                    Console.ForegroundColor = ConsoleColor.Yellow; Console.Write("\n\n\tYou Missed!"); Console.ResetColor();
                    return(RandomPulledInternal);
                }
                else if (RandomPulledInternal == 24)
                {
                    Console.ForegroundColor = ConsoleColor.Yellow; Console.Write("\n\n\tCritical Hit!  "); Console.ForegroundColor = ConsoleColor.Cyan; Console.Write(RandomPulledInternal); Console.ForegroundColor = ConsoleColor.Yellow; Console.Write(" damage!"); Console.ResetColor();
                    return(RandomPulledInternal);
                }
                Console.ForegroundColor = ConsoleColor.Cyan; Console.Write("\n\nYour attack did "); Console.ForegroundColor = ConsoleColor.Yellow; Console.Write(RandomPulledInternal); Console.ForegroundColor = ConsoleColor.Cyan; Console.Write(" damage."); Console.ResetColor();
                return(RandomPulledInternal);

            case 7:
                if (Lvl7Instantiated == false)
                {
                    var weapon7 = new RandomBag <int>((0, 4), (1, 6), (7, 4), (8, 5), (9, 6), (10, 7), (11, 10), (12, 10), (13, 12), (14, 14), (15, 10), (26, 12));

                    WeaponPool       = weapon7;
                    Lvl7Instantiated = true;
                }

                RandomPulledInternal = WeaponPool.GetRandom();

                if (RandomPulledInternal == 0)
                {
                    Console.ForegroundColor = ConsoleColor.Yellow; Console.Write("\n\n\tYou Missed!"); Console.ResetColor();
                    return(RandomPulledInternal);
                }
                else if (RandomPulledInternal == 26)
                {
                    Console.ForegroundColor = ConsoleColor.Yellow; Console.Write("\n\n\tCritical Hit!  "); Console.ForegroundColor = ConsoleColor.Cyan; Console.Write(RandomPulledInternal); Console.ForegroundColor = ConsoleColor.Yellow; Console.Write(" damage!"); Console.ResetColor();
                    return(RandomPulledInternal);
                }
                Console.ForegroundColor = ConsoleColor.Cyan; Console.Write("\n\nYour attack did "); Console.ForegroundColor = ConsoleColor.Yellow; Console.Write(RandomPulledInternal); Console.ForegroundColor = ConsoleColor.Cyan; Console.Write(" damage."); Console.ResetColor();
                return(RandomPulledInternal);

            case 8:
                if (Lvl8Instantiated == false)
                {
                    var weapon8 = new RandomBag <int>((0, 3), (1, 3), (8, 4), (9, 4), (10, 5), (11, 6), (12, 8), (13, 12), (14, 14), (15, 16), (16, 12), (29, 13));

                    WeaponPool       = weapon8;
                    Lvl8Instantiated = true;
                }

                RandomPulledInternal = WeaponPool.GetRandom();

                if (RandomPulledInternal == 0)
                {
                    Console.ForegroundColor = ConsoleColor.Yellow; Console.Write("\n\n\tYou Missed!"); Console.ResetColor();
                    return(RandomPulledInternal);
                }
                else if (RandomPulledInternal == 29)
                {
                    Console.ForegroundColor = ConsoleColor.Yellow; Console.Write("\n\n\tCritical Hit!  "); Console.ForegroundColor = ConsoleColor.Cyan; Console.Write(RandomPulledInternal); Console.ForegroundColor = ConsoleColor.Yellow; Console.Write(" damage!"); Console.ResetColor();
                    return(RandomPulledInternal);
                }
                Console.ForegroundColor = ConsoleColor.Cyan; Console.Write("\n\nYour attack did "); Console.ForegroundColor = ConsoleColor.Yellow; Console.Write(RandomPulledInternal); Console.ForegroundColor = ConsoleColor.Cyan; Console.Write(" damage."); Console.ResetColor();
                return(RandomPulledInternal);

            case 9:
                if (Lvl9Instantiated == false)
                {
                    var weapon9 = new RandomBag <int>((0, 2), (1, 2), (9, 4), (10, 5), (11, 8), (12, 9), (13, 11), (14, 13), (15, 14), (16, 10), (17, 8), (32, 14));

                    WeaponPool       = weapon9;
                    Lvl9Instantiated = true;
                }

                RandomPulledInternal = WeaponPool.GetRandom();

                if (RandomPulledInternal == 0)
                {
                    Console.ForegroundColor = ConsoleColor.Yellow; Console.Write("\n\n\tYou Missed!"); Console.ResetColor();
                    return(RandomPulledInternal);
                }
                else if (RandomPulledInternal == 32)
                {
                    Console.ForegroundColor = ConsoleColor.Yellow; Console.Write("\n\n\tCritical Hit!  "); Console.ForegroundColor = ConsoleColor.Cyan; Console.Write(RandomPulledInternal); Console.ForegroundColor = ConsoleColor.Yellow; Console.Write(" damage!"); Console.ResetColor();
                    return(RandomPulledInternal);
                }
                Console.ForegroundColor = ConsoleColor.Cyan; Console.Write("\n\nYour attack did "); Console.ForegroundColor = ConsoleColor.Yellow; Console.Write(RandomPulledInternal); Console.ForegroundColor = ConsoleColor.Cyan; Console.Write(" damage."); Console.ResetColor();
                return(RandomPulledInternal);

            case 10:
                if (Lvl10Instantiated == false)
                {
                    var weapon10 = new RandomBag <int>((0, 2), (1, 2), (10, 4), (11, 4), (12, 5), (13, 6), (14, 8), (15, 10), (16, 13), (17, 15), (18, 8), (19, 8), (35, 15));

                    WeaponPool        = weapon10;
                    Lvl10Instantiated = true;
                }

                RandomPulledInternal = WeaponPool.GetRandom();

                if (RandomPulledInternal == 0)
                {
                    Console.ForegroundColor = ConsoleColor.Yellow; Console.Write("\n\n\n\tYou Missed!"); Console.ResetColor();
                    return(RandomPulledInternal);
                }
                else if (RandomPulledInternal == 35)
                {
                    Console.ForegroundColor = ConsoleColor.Yellow; Console.Write("\n\n\tCritical Hit!  "); Console.ForegroundColor = ConsoleColor.Cyan; Console.Write(RandomPulledInternal); Console.ForegroundColor = ConsoleColor.Yellow; Console.Write(" damage!"); Console.ResetColor();
                    return(RandomPulledInternal);
                }
                Console.ForegroundColor = ConsoleColor.Cyan; Console.Write("\n\nYour attack did "); Console.ForegroundColor = ConsoleColor.Yellow; Console.Write(RandomPulledInternal); Console.ForegroundColor = ConsoleColor.Cyan; Console.Write(" damage."); Console.ResetColor();
                return(RandomPulledInternal);
            }
            return(0);
        }
Example #18
0
        public static int Magic()
        {
            switch (Fight.HeroLvl)
            {
            case 1:
                if (Lvl1Instantiated == false)
                {
                    var magic1 = new RandomBag <int>((0, 10), (1, 10), (2, 18), (3, 32), (4, 24), (7, 6));

                    MagicPool        = magic1;
                    Lvl1Instantiated = true;
                }

                int RandomPulledInternal = MagicPool.GetRandom();

                if (RandomPulledInternal == 0)
                {
                    Console.ForegroundColor = ConsoleColor.Green; Console.Write("\n\n\tYou Healed "); Console.ForegroundColor = ConsoleColor.Yellow; Console.Write(HealLookup.GetHealValueFull(1)); Console.ForegroundColor = ConsoleColor.Green; Console.Write(" hit points."); Console.ResetColor();

                    Fight.HeroHP += HealLookup.GetHealValueFull(1);

                    if (Fight.HeroHP > Fight.HeroHPMax)
                    {
                        Fight.HeroHP = Fight.HeroHPMax;
                    }

                    Console.ForegroundColor = ConsoleColor.Green; Console.Write("\n\tYour current hit points are "); Console.ForegroundColor = ConsoleColor.Yellow; Console.Write("{0}", Fight.HeroHP); Console.ResetColor();

                    return(0);
                }
                else if (RandomPulledInternal == 1)
                {
                    Console.ForegroundColor = ConsoleColor.Green; Console.Write("\n\n\tYou Healed "); Console.ForegroundColor = ConsoleColor.Yellow; Console.Write(HealLookup.GetHealValueHalf(1)); Console.ForegroundColor = ConsoleColor.Green; Console.Write(" hit points."); Console.ResetColor();

                    Fight.HeroHP += HealLookup.GetHealValueHalf(1);

                    if (Fight.HeroHP > Fight.HeroHPMax)
                    {
                        Fight.HeroHP = Fight.HeroHPMax;
                    }

                    Console.ForegroundColor = ConsoleColor.Green; Console.Write("\n\tYour current hit points are "); Console.ForegroundColor = ConsoleColor.Yellow; Console.Write("{0}", Fight.HeroHP); Console.ResetColor();

                    return(0);
                }
                else if (RandomPulledInternal == 7)
                {
                    Console.ForegroundColor = ConsoleColor.Yellow; Console.Write("\n\n\tCritical Arcana!  "); Console.ForegroundColor = ConsoleColor.Magenta; Console.Write(RandomPulledInternal); Console.ForegroundColor = ConsoleColor.Yellow; Console.Write(" damage!"); Console.ResetColor();
                    return(RandomPulledInternal);
                }
                Console.ForegroundColor = ConsoleColor.Magenta; Console.Write("\n\nYour magic flame did "); Console.ForegroundColor = ConsoleColor.Yellow; Console.Write(RandomPulledInternal); Console.ForegroundColor = ConsoleColor.Magenta; Console.Write(" damage."); Console.ResetColor();
                return(RandomPulledInternal);

            case 2:
                if (Lvl2Instantiated == false)
                {
                    var magic2 = new RandomBag <int>((0, 10), (1, 10), (4, 20), (5, 31), (6, 23), (11, 6));

                    MagicPool        = magic2;
                    Lvl2Instantiated = true;
                }

                RandomPulledInternal = MagicPool.GetRandom();

                if (RandomPulledInternal == 0)
                {
                    Console.ForegroundColor = ConsoleColor.Green; Console.Write("\n\n\tYou Healed "); Console.ForegroundColor = ConsoleColor.Yellow; Console.Write(HealLookup.GetHealValueFull(2)); Console.ForegroundColor = ConsoleColor.Green; Console.Write(" hit points."); Console.ResetColor();

                    Fight.HeroHP += HealLookup.GetHealValueFull(2);

                    if (Fight.HeroHP > Fight.HeroHPMax)
                    {
                        Fight.HeroHP = Fight.HeroHPMax;
                    }

                    Console.ForegroundColor = ConsoleColor.Green; Console.Write("\n\tYour current hit points are "); Console.ForegroundColor = ConsoleColor.Yellow; Console.Write("{0}", Fight.HeroHP); Console.ResetColor();

                    return(0);
                }
                else if (RandomPulledInternal == 1)
                {
                    Console.ForegroundColor = ConsoleColor.Green; Console.Write("\n\n\tYou Healed "); Console.ForegroundColor = ConsoleColor.Yellow; Console.Write(HealLookup.GetHealValueHalf(2)); Console.ForegroundColor = ConsoleColor.Green; Console.Write(" hit points."); Console.ResetColor();

                    Fight.HeroHP += HealLookup.GetHealValueHalf(2);

                    if (Fight.HeroHP > Fight.HeroHPMax)
                    {
                        Fight.HeroHP = Fight.HeroHPMax;
                    }

                    Console.ForegroundColor = ConsoleColor.Green; Console.Write("\n\tYour current hit points are "); Console.ForegroundColor = ConsoleColor.Yellow; Console.Write("{0}", Fight.HeroHP); Console.ResetColor();

                    return(0);
                }
                else if (RandomPulledInternal == 11)
                {
                    Console.ForegroundColor = ConsoleColor.Yellow; Console.Write("\n\n\tCritical Arcana!  "); Console.ForegroundColor = ConsoleColor.Magenta; Console.Write(RandomPulledInternal); Console.ForegroundColor = ConsoleColor.Yellow; Console.Write(" damage!"); Console.ResetColor();
                    return(RandomPulledInternal);
                }
                Console.ForegroundColor = ConsoleColor.Magenta; Console.Write("\n\nYour frozen darts did "); Console.ForegroundColor = ConsoleColor.Yellow; Console.Write(RandomPulledInternal); Console.ForegroundColor = ConsoleColor.Magenta; Console.Write(" damage."); Console.ResetColor();
                return(RandomPulledInternal);

            case 3:
                if (Lvl3Instantiated == false)
                {
                    var magic3 = new RandomBag <int>((0, 10), (1, 10), (6, 22), (7, 30), (8, 21), (15, 7));

                    MagicPool        = magic3;
                    Lvl3Instantiated = true;
                }

                RandomPulledInternal = MagicPool.GetRandom();

                if (RandomPulledInternal == 0)
                {
                    Console.ForegroundColor = ConsoleColor.Green; Console.Write("\n\n\tYou Healed "); Console.ForegroundColor = ConsoleColor.Yellow; Console.Write(HealLookup.GetHealValueFull(3)); Console.ForegroundColor = ConsoleColor.Green; Console.Write(" hit points."); Console.ResetColor();

                    Fight.HeroHP += HealLookup.GetHealValueFull(3);

                    if (Fight.HeroHP > Fight.HeroHPMax)
                    {
                        Fight.HeroHP = Fight.HeroHPMax;
                    }

                    Console.ForegroundColor = ConsoleColor.Green; Console.Write("\n\tYour current hit points are "); Console.ForegroundColor = ConsoleColor.Yellow; Console.Write("{0}", Fight.HeroHP); Console.ResetColor();

                    return(0);
                }
                else if (RandomPulledInternal == 1)
                {
                    Console.ForegroundColor = ConsoleColor.Green; Console.Write("\n\n\tYou Healed "); Console.ForegroundColor = ConsoleColor.Yellow; Console.Write(HealLookup.GetHealValueHalf(3)); Console.ForegroundColor = ConsoleColor.Green; Console.Write(" hit points."); Console.ResetColor();

                    Fight.HeroHP += HealLookup.GetHealValueHalf(3);

                    if (Fight.HeroHP > Fight.HeroHPMax)
                    {
                        Fight.HeroHP = Fight.HeroHPMax;
                    }

                    Console.ForegroundColor = ConsoleColor.Green; Console.Write("\n\tYour current hit points are "); Console.ForegroundColor = ConsoleColor.Yellow; Console.Write("{0}", Fight.HeroHP); Console.ResetColor();

                    return(0);
                }
                else if (RandomPulledInternal == 15)
                {
                    Console.ForegroundColor = ConsoleColor.Yellow; Console.Write("\n\n\tCritical Arcana!  "); Console.ForegroundColor = ConsoleColor.Magenta; Console.Write(RandomPulledInternal); Console.ForegroundColor = ConsoleColor.Yellow; Console.Write(" damage!"); Console.ResetColor();
                    return(RandomPulledInternal);
                }
                Console.ForegroundColor = ConsoleColor.Magenta; Console.Write("\n\nYour plasma whip did "); Console.ForegroundColor = ConsoleColor.Yellow; Console.Write(RandomPulledInternal); Console.ForegroundColor = ConsoleColor.Magenta; Console.Write(" damage."); Console.ResetColor();
                return(RandomPulledInternal);

            case 4:
                if (Lvl4Instantiated == false)
                {
                    var magic4 = new RandomBag <int>((0, 10), (1, 10), (8, 21), (9, 30), (10, 22), (19, 7));

                    MagicPool        = magic4;
                    Lvl4Instantiated = true;
                }

                RandomPulledInternal = MagicPool.GetRandom();

                if (RandomPulledInternal == 0)
                {
                    Console.ForegroundColor = ConsoleColor.Green; Console.Write("\n\n\tYou Healed "); Console.ForegroundColor = ConsoleColor.Yellow; Console.Write(HealLookup.GetHealValueFull(4)); Console.ForegroundColor = ConsoleColor.Green; Console.Write(" hit points."); Console.ResetColor();

                    Fight.HeroHP += HealLookup.GetHealValueFull(4);

                    if (Fight.HeroHP > Fight.HeroHPMax)
                    {
                        Fight.HeroHP = Fight.HeroHPMax;
                    }

                    Console.ForegroundColor = ConsoleColor.Green; Console.Write("\n\tYour current hit points are "); Console.ForegroundColor = ConsoleColor.Yellow; Console.Write("{0}", Fight.HeroHP); Console.ResetColor();

                    return(0);
                }
                else if (RandomPulledInternal == 1)
                {
                    Console.ForegroundColor = ConsoleColor.Green; Console.Write("\n\n\tYou Healed "); Console.ForegroundColor = ConsoleColor.Yellow; Console.Write(HealLookup.GetHealValueHalf(4)); Console.ForegroundColor = ConsoleColor.Green; Console.Write(" hit points."); Console.ResetColor();

                    Fight.HeroHP += HealLookup.GetHealValueHalf(4);

                    if (Fight.HeroHP > Fight.HeroHPMax)
                    {
                        Fight.HeroHP = Fight.HeroHPMax;
                    }

                    Console.ForegroundColor = ConsoleColor.Green; Console.Write("\n\tYour current hit points are "); Console.ForegroundColor = ConsoleColor.Yellow; Console.Write("{0}", Fight.HeroHP); Console.ResetColor();

                    return(0);
                }
                else if (RandomPulledInternal == 19)
                {
                    Console.ForegroundColor = ConsoleColor.Yellow; Console.Write("\n\n\tCritical Arcana!  "); Console.ForegroundColor = ConsoleColor.Magenta; Console.Write(RandomPulledInternal); Console.ForegroundColor = ConsoleColor.Yellow; Console.Write(" damage!"); Console.ResetColor();
                    return(RandomPulledInternal);
                }
                Console.ForegroundColor = ConsoleColor.Magenta; Console.Write("\n\nYour fireball did "); Console.ForegroundColor = ConsoleColor.Yellow; Console.Write(RandomPulledInternal); Console.ForegroundColor = ConsoleColor.Magenta; Console.Write(" damage."); Console.ResetColor();
                return(RandomPulledInternal);

            case 5:
                if (Lvl5Instantiated == false)
                {
                    var magic5 = new RandomBag <int>((0, 10), (1, 10), (10, 20), (11, 31), (12, 21), (22, 8));

                    MagicPool        = magic5;
                    Lvl5Instantiated = true;
                }

                RandomPulledInternal = MagicPool.GetRandom();

                if (RandomPulledInternal == 0)
                {
                    Console.ForegroundColor = ConsoleColor.Green; Console.Write("\n\n\tYou Healed "); Console.ForegroundColor = ConsoleColor.Yellow; Console.Write(HealLookup.GetHealValueFull(5)); Console.ForegroundColor = ConsoleColor.Green; Console.Write(" hit points."); Console.ResetColor();

                    Fight.HeroHP += HealLookup.GetHealValueFull(5);

                    if (Fight.HeroHP > Fight.HeroHPMax)
                    {
                        Fight.HeroHP = Fight.HeroHPMax;
                    }

                    Console.ForegroundColor = ConsoleColor.Green; Console.Write("\n\tYour current hit points are "); Console.ForegroundColor = ConsoleColor.Yellow; Console.Write("{0}", Fight.HeroHP); Console.ResetColor();

                    return(0);
                }
                else if (RandomPulledInternal == 1)
                {
                    Console.ForegroundColor = ConsoleColor.Green; Console.Write("\n\n\tYou Healed "); Console.ForegroundColor = ConsoleColor.Yellow; Console.Write(HealLookup.GetHealValueHalf(5)); Console.ForegroundColor = ConsoleColor.Green; Console.Write(" hit points."); Console.ResetColor();

                    Fight.HeroHP += HealLookup.GetHealValueHalf(5);

                    if (Fight.HeroHP > Fight.HeroHPMax)
                    {
                        Fight.HeroHP = Fight.HeroHPMax;
                    }

                    Console.ForegroundColor = ConsoleColor.Green; Console.Write("\n\tYour current hit points are "); Console.ForegroundColor = ConsoleColor.Yellow; Console.Write("{0}", Fight.HeroHP); Console.ResetColor();

                    return(0);
                }
                else if (RandomPulledInternal == 22)
                {
                    Console.ForegroundColor = ConsoleColor.Yellow; Console.Write("\n\n\tCritical Arcana!  "); Console.ForegroundColor = ConsoleColor.Magenta; Console.Write(RandomPulledInternal); Console.ForegroundColor = ConsoleColor.Yellow; Console.Write(" damage!"); Console.ResetColor();
                    return(RandomPulledInternal);
                }
                Console.ForegroundColor = ConsoleColor.Magenta; Console.Write("\n\nYour winter's blade did "); Console.ForegroundColor = ConsoleColor.Yellow; Console.Write(RandomPulledInternal); Console.ForegroundColor = ConsoleColor.Magenta; Console.Write(" damage."); Console.ResetColor();
                return(RandomPulledInternal);

            case 6:
                if (Lvl6Instantiated == false)
                {
                    var magic6 = new RandomBag <int>((0, 10), (1, 10), (12, 21), (13, 32), (14, 18), (24, 9));

                    MagicPool        = magic6;
                    Lvl6Instantiated = true;
                }

                RandomPulledInternal = MagicPool.GetRandom();

                if (RandomPulledInternal == 0)
                {
                    Console.ForegroundColor = ConsoleColor.Green; Console.Write("\n\n\tYou Healed "); Console.ForegroundColor = ConsoleColor.Yellow; Console.Write(HealLookup.GetHealValueFull(6)); Console.ForegroundColor = ConsoleColor.Green; Console.Write(" hit points."); Console.ResetColor();

                    Fight.HeroHP += HealLookup.GetHealValueFull(6);

                    if (Fight.HeroHP > Fight.HeroHPMax)
                    {
                        Fight.HeroHP = Fight.HeroHPMax;
                    }

                    Console.ForegroundColor = ConsoleColor.Green; Console.Write("\n\tYour current hit points are "); Console.ForegroundColor = ConsoleColor.Yellow; Console.Write("{0}", Fight.HeroHP); Console.ResetColor();

                    return(0);
                }
                else if (RandomPulledInternal == 1)
                {
                    Console.ForegroundColor = ConsoleColor.Green; Console.Write("\n\n\tYou Healed "); Console.ForegroundColor = ConsoleColor.Yellow; Console.Write(HealLookup.GetHealValueHalf(6)); Console.ForegroundColor = ConsoleColor.Green; Console.Write(" hit points."); Console.ResetColor();

                    Fight.HeroHP += HealLookup.GetHealValueHalf(6);

                    if (Fight.HeroHP > Fight.HeroHPMax)
                    {
                        Fight.HeroHP = Fight.HeroHPMax;
                    }

                    Console.ForegroundColor = ConsoleColor.Green; Console.Write("\n\tYour current hit points are "); Console.ForegroundColor = ConsoleColor.Yellow; Console.Write("{0}", Fight.HeroHP); Console.ResetColor();

                    return(0);
                }
                else if (RandomPulledInternal == 24)
                {
                    Console.ForegroundColor = ConsoleColor.Yellow; Console.Write("\n\n\tCritical Arcana!  "); Console.ForegroundColor = ConsoleColor.Magenta; Console.Write(RandomPulledInternal); Console.ForegroundColor = ConsoleColor.Yellow; Console.Write(" damage!"); Console.ResetColor();
                    return(RandomPulledInternal);
                }
                Console.ForegroundColor = ConsoleColor.Magenta; Console.Write("\n\nYour light jolt did "); Console.ForegroundColor = ConsoleColor.Yellow; Console.Write(RandomPulledInternal); Console.ForegroundColor = ConsoleColor.Magenta; Console.Write(" damage."); Console.ResetColor();
                return(RandomPulledInternal);

            case 7:
                if (Lvl7Instantiated == false)
                {
                    var magic7 = new RandomBag <int>((0, 10), (1, 10), (15, 16), (16, 20), (17, 22), (18, 12), (28, 10));

                    MagicPool        = magic7;
                    Lvl7Instantiated = true;
                }

                RandomPulledInternal = MagicPool.GetRandom();

                if (RandomPulledInternal == 0)
                {
                    Console.ForegroundColor = ConsoleColor.Green; Console.Write("\n\n\tYou Healed "); Console.ForegroundColor = ConsoleColor.Yellow; Console.Write(HealLookup.GetHealValueFull(7)); Console.ForegroundColor = ConsoleColor.Green; Console.Write(" hit points."); Console.ResetColor();

                    Fight.HeroHP += HealLookup.GetHealValueFull(7);

                    if (Fight.HeroHP > Fight.HeroHPMax)
                    {
                        Fight.HeroHP = Fight.HeroHPMax;
                    }

                    Console.ForegroundColor = ConsoleColor.Green; Console.Write("\n\tYour current hit points are "); Console.ForegroundColor = ConsoleColor.Yellow; Console.Write("{0}", Fight.HeroHP); Console.ResetColor();

                    return(0);
                }
                else if (RandomPulledInternal == 1)
                {
                    Console.ForegroundColor = ConsoleColor.Green; Console.Write("\n\n\tYou Healed "); Console.ForegroundColor = ConsoleColor.Yellow; Console.Write(HealLookup.GetHealValueHalf(7)); Console.ForegroundColor = ConsoleColor.Green; Console.Write(" hit points."); Console.ResetColor();

                    Fight.HeroHP += HealLookup.GetHealValueHalf(7);

                    if (Fight.HeroHP > Fight.HeroHPMax)
                    {
                        Fight.HeroHP = Fight.HeroHPMax;
                    }

                    Console.ForegroundColor = ConsoleColor.Green; Console.Write("\n\tYour current hit points are "); Console.ForegroundColor = ConsoleColor.Yellow; Console.Write("{0}", Fight.HeroHP); Console.ResetColor();

                    return(0);
                }
                else if (RandomPulledInternal == 28)
                {
                    Console.ForegroundColor = ConsoleColor.Yellow; Console.Write("\n\n\tCritical Arcana!  "); Console.ForegroundColor = ConsoleColor.Magenta; Console.Write(RandomPulledInternal); Console.ForegroundColor = ConsoleColor.Yellow; Console.Write(" damage!"); Console.ResetColor();
                    return(RandomPulledInternal);
                }
                Console.ForegroundColor = ConsoleColor.Magenta; Console.Write("\n\nYour icicle storm did "); Console.ForegroundColor = ConsoleColor.Yellow; Console.Write(RandomPulledInternal); Console.ForegroundColor = ConsoleColor.Magenta; Console.Write(" damage."); Console.ResetColor();
                return(RandomPulledInternal);

            case 8:
                if (Lvl8Instantiated == false)
                {
                    var Magic8 = new RandomBag <int>((0, 10), (1, 10), (17, 16), (18, 18), (19, 22), (20, 13), (30, 11));

                    MagicPool        = Magic8;
                    Lvl8Instantiated = true;
                }

                RandomPulledInternal = MagicPool.GetRandom();

                if (RandomPulledInternal == 0)
                {
                    Console.ForegroundColor = ConsoleColor.Green; Console.Write("\n\n\tYou Healed "); Console.ForegroundColor = ConsoleColor.Yellow; Console.Write(HealLookup.GetHealValueFull(8)); Console.ForegroundColor = ConsoleColor.Green; Console.Write(" hit points."); Console.ResetColor();

                    Fight.HeroHP += HealLookup.GetHealValueFull(8);

                    if (Fight.HeroHP > Fight.HeroHPMax)
                    {
                        Fight.HeroHP = Fight.HeroHPMax;
                    }

                    Console.ForegroundColor = ConsoleColor.Green; Console.Write("\n\tYour current hit points are "); Console.ForegroundColor = ConsoleColor.Yellow; Console.Write("{0}", Fight.HeroHP); Console.ResetColor();

                    return(0);
                }
                else if (RandomPulledInternal == 1)
                {
                    Console.ForegroundColor = ConsoleColor.Green; Console.Write("\n\n\tYou Healed "); Console.ForegroundColor = ConsoleColor.Yellow; Console.Write(HealLookup.GetHealValueHalf(8)); Console.ForegroundColor = ConsoleColor.Green; Console.Write(" hit points."); Console.ResetColor();

                    Fight.HeroHP += HealLookup.GetHealValueHalf(8);

                    if (Fight.HeroHP > Fight.HeroHPMax)
                    {
                        Fight.HeroHP = Fight.HeroHPMax;
                    }

                    Console.ForegroundColor = ConsoleColor.Green; Console.Write("\n\tYour current hit points are "); Console.ForegroundColor = ConsoleColor.Yellow; Console.Write("{0}", Fight.HeroHP); Console.ResetColor();

                    return(0);
                }
                else if (RandomPulledInternal == 30)
                {
                    Console.ForegroundColor = ConsoleColor.Yellow; Console.Write("\n\n\tCritical Arcana!  "); Console.ForegroundColor = ConsoleColor.Magenta; Console.Write(RandomPulledInternal); Console.ForegroundColor = ConsoleColor.Yellow; Console.Write(" damage!"); Console.ResetColor();
                    return(RandomPulledInternal);
                }
                Console.ForegroundColor = ConsoleColor.Magenta; Console.Write("\n\nYour cone of flames did "); Console.ForegroundColor = ConsoleColor.Yellow; Console.Write(RandomPulledInternal); Console.ForegroundColor = ConsoleColor.Magenta; Console.Write(" damage."); Console.ResetColor();
                return(RandomPulledInternal);

            case 9:
                if (Lvl9Instantiated == false)
                {
                    var magic9 = new RandomBag <int>((0, 10), (1, 9), (19, 6), (20, 8), (21, 14), (22, 22), (23, 10), (24, 9), (34, 12));

                    MagicPool        = magic9;
                    Lvl9Instantiated = true;
                }

                RandomPulledInternal = MagicPool.GetRandom();

                if (RandomPulledInternal == 0)
                {
                    Console.ForegroundColor = ConsoleColor.Green; Console.Write("\n\n\tYou Healed "); Console.ForegroundColor = ConsoleColor.Yellow; Console.Write(HealLookup.GetHealValueFull(9)); Console.ForegroundColor = ConsoleColor.Green; Console.Write(" hit points."); Console.ResetColor();

                    Fight.HeroHP += HealLookup.GetHealValueFull(9);

                    if (Fight.HeroHP > Fight.HeroHPMax)
                    {
                        Fight.HeroHP = Fight.HeroHPMax;
                    }

                    Console.ForegroundColor = ConsoleColor.Green; Console.Write("\n\tYour current hit points are "); Console.ForegroundColor = ConsoleColor.Yellow; Console.Write("{0}", Fight.HeroHP); Console.ResetColor();

                    return(0);
                }
                else if (RandomPulledInternal == 1)
                {
                    Console.ForegroundColor = ConsoleColor.Green; Console.Write("\n\n\tYou Healed "); Console.ForegroundColor = ConsoleColor.Yellow; Console.Write(HealLookup.GetHealValueHalf(9)); Console.ForegroundColor = ConsoleColor.Green; Console.Write(" hit points."); Console.ResetColor();

                    Fight.HeroHP += HealLookup.GetHealValueHalf(9);

                    if (Fight.HeroHP > Fight.HeroHPMax)
                    {
                        Fight.HeroHP = Fight.HeroHPMax;
                    }

                    Console.ForegroundColor = ConsoleColor.Green; Console.Write("\n\tYour current hit points are "); Console.ForegroundColor = ConsoleColor.Yellow; Console.Write("{0}", Fight.HeroHP); Console.ResetColor();

                    return(0);
                }
                else if (RandomPulledInternal == 34)
                {
                    Console.ForegroundColor = ConsoleColor.Yellow; Console.Write("\n\n\tCritical Arcana!  "); Console.ForegroundColor = ConsoleColor.Magenta; Console.Write(RandomPulledInternal); Console.ForegroundColor = ConsoleColor.Yellow; Console.Write(" damage!"); Console.ResetColor();
                    return(RandomPulledInternal);
                }
                Console.ForegroundColor = ConsoleColor.Magenta; Console.Write("\n\nYour ball lightning did "); Console.ForegroundColor = ConsoleColor.Yellow; Console.Write(RandomPulledInternal); Console.ForegroundColor = ConsoleColor.Magenta; Console.Write(" damage."); Console.ResetColor();
                return(RandomPulledInternal);

            case 10:
                if (Lvl10Instantiated == false)
                {
                    var magic10 = new RandomBag <int>((0, 10), (1, 8), (21, 6), (22, 6), (23, 8), (24, 12), (25, 18), (26, 10), (27, 8), (38, 14));

                    MagicPool         = magic10;
                    Lvl10Instantiated = true;
                }

                RandomPulledInternal = MagicPool.GetRandom();

                if (RandomPulledInternal == 0)
                {
                    Console.ForegroundColor = ConsoleColor.Green; Console.Write("\n\n\tYou Healed "); Console.ForegroundColor = ConsoleColor.Yellow; Console.Write(HealLookup.GetHealValueFull(10)); Console.ForegroundColor = ConsoleColor.Green; Console.Write(" hit points."); Console.ResetColor();

                    Fight.HeroHP += HealLookup.GetHealValueFull(10);

                    if (Fight.HeroHP > Fight.HeroHPMax)
                    {
                        Fight.HeroHP = Fight.HeroHPMax;
                    }

                    Console.ForegroundColor = ConsoleColor.Green; Console.Write("\n\tYour current hit points are "); Console.ForegroundColor = ConsoleColor.Yellow; Console.Write("{0}", Fight.HeroHP); Console.ResetColor();

                    return(0);
                }
                else if (RandomPulledInternal == 1)
                {
                    Console.ForegroundColor = ConsoleColor.Green; Console.Write("\n\n\tYou Healed "); Console.ForegroundColor = ConsoleColor.Yellow; Console.Write(HealLookup.GetHealValueHalf(10)); Console.ForegroundColor = ConsoleColor.Green; Console.Write(" hit points."); Console.ResetColor();

                    Fight.HeroHP += HealLookup.GetHealValueHalf(10);

                    if (Fight.HeroHP > Fight.HeroHPMax)
                    {
                        Fight.HeroHP = Fight.HeroHPMax;
                    }

                    Console.ForegroundColor = ConsoleColor.Green; Console.Write("\n\tYour current hit points are "); Console.ForegroundColor = ConsoleColor.Yellow; Console.Write("{0}", Fight.HeroHP); Console.ResetColor();

                    return(0);
                }
                else if (RandomPulledInternal == 38)
                {
                    Console.ForegroundColor = ConsoleColor.Yellow; Console.Write("\n\n\tCritical Arcana!  "); Console.ForegroundColor = ConsoleColor.Magenta; Console.Write(RandomPulledInternal); Console.ForegroundColor = ConsoleColor.Yellow; Console.Write(" damage!"); Console.ResetColor();
                    return(RandomPulledInternal);
                }
                Console.ForegroundColor = ConsoleColor.Magenta; Console.Write("\n\nYour coruscating blaze did "); Console.ForegroundColor = ConsoleColor.Yellow; Console.Write(RandomPulledInternal); Console.ForegroundColor = ConsoleColor.Magenta; Console.Write(" damage."); Console.ResetColor();
                return(RandomPulledInternal);

            default:
                return(0);
            }
        }
Example #19
0
 /// <summary>
 /// default construictor
 /// </summary>
 public Deck() : base("FlashCards.Deck")
 {
     Cards        = new List <FlashCard>();
     questionRand = new RandomBag(10);
 }