Ejemplo n.º 1
0
        public void TestMaxCapacityTuple3()
        {
            var tuple = new TupleAPI();
            var ex    = Assert.Throws <ArgumentException>(() => tuple.Add(0, 30));

            Assert.AreEqual("Max capacity of the tuple", ex.Message);
        }
Ejemplo n.º 2
0
        public void TestPositive3()
        {
            var tuple = new TupleAPI();
            var ex    = Assert.Throws <ArgumentException>(() => tuple.Add(-1, 2));

            Assert.AreEqual("Tuple members are not positives", ex.Message);
        }
Ejemplo n.º 3
0
        /// <summary>
        ///  First entry of score
        /// </summary>
        /// <returns></returns>
        public int EnterFirstValue(TupleAPI tupleApi = null, int index = 0)
        {
            if (tupleApi != null)
            {
                return(tupleApi.Tuples.ElementAt(index).Item1);
            }

            bool ok    = false;
            int  value = 0;

            while (!ok)
            {
                Console.Write("Entrer le nombre de quille tombée au premier coup : ");
                value = Int32.Parse(Console.ReadLine());
                if (value > 0 && value <= 10)
                {
                    ok = true;
                }
                else
                {
                    Console.WriteLine("Entrée non valide, recommencez.");
                }
            }
            return(value);
        }
Ejemplo n.º 4
0
        public void TestSumFirstMemberCoupleEqual10()
        {
            var tuple = new TupleAPI();

            tuple.Add(10, 0);
            tuple.Add(6, 1);
            Assert.AreEqual(tuple.Sum(), 24);
        }
Ejemplo n.º 5
0
        public void TestSecondMemberFirstCoupleEqual10()
        {
            var tuple = new TupleAPI();

            tuple.Add(0, 10);
            tuple.Add(6, 1);
            Assert.AreEqual(tuple.Sum(), 23);
        }
Ejemplo n.º 6
0
        public void TestSum()
        {
            var tuple = new TupleAPI();

            tuple.Add(1, 2);
            tuple.Add(3, 4);
            tuple.Add(5, 5);
            Assert.AreEqual(tuple.Sum(), 20);
        }
Ejemplo n.º 7
0
        public void TestSize1()
        {
            var tuple = new TupleAPI();

            tuple.Add(1, 2);
            tuple.Add(3, 4);
            tuple.Add(3, 4);
            Assert.AreEqual(tuple.Tuples.Count, 3);
        }
Ejemplo n.º 8
0
        public void TestSumCoupleEqual10()
        {
            var tuple = new TupleAPI();

            tuple.Add(1, 2);
            tuple.Add(3, 4);
            tuple.Add(5, 5);
            tuple.Add(6, 1);
            Assert.AreEqual(tuple.Sum(), 33);
        }
Ejemplo n.º 9
0
        public void TestSumTwoCoupleEqual10()
        {
            var tuple = new TupleAPI();

            tuple.Add(5, 5);
            tuple.Add(6, 1);
            tuple.Add(5, 5);
            tuple.Add(6, 1);
            Assert.AreEqual(tuple.Sum(), 46);
        }
Ejemplo n.º 10
0
        public void TestMaxCapacitiy()
        {
            var tuple = new TupleAPI();

            tuple.Add(1, 2);
            tuple.Add(1, 2);
            tuple.Add(1, 2);
            tuple.Add(1, 2);
            tuple.Add(1, 2);
            tuple.Add(1, 2);
            tuple.Add(1, 2);
            tuple.Add(1, 2);
            tuple.Add(1, 2);
            tuple.Add(1, 2);
            var ex = Assert.Throws <ArgumentException>(() => tuple.Add(1, 2));

            Assert.AreEqual("Max capacity", ex.Message);
        }
Ejemplo n.º 11
0
        public void TestMainSpareLast()
        {
            var game  = new Game();
            var tuple = new TupleAPI();

            tuple.Add(10, 0);
            tuple.Add(10, 0);
            tuple.Add(10, 0);
            tuple.Add(10, 0);
            tuple.Add(10, 0);
            tuple.Add(10, 0);
            tuple.Add(10, 0);
            tuple.Add(10, 0);
            tuple.Add(10, 0);
            tuple.Add(2, 8);

            var score = game.LaunchGame(tupleApi: tuple, valueBonus1: 6);

            Assert.AreEqual(196, score);
        }
Ejemplo n.º 12
0
        public void TestMainNoBonus()
        {
            var game  = new Game();
            var tuple = new TupleAPI();

            tuple.Add(10, 0);
            tuple.Add(10, 0);
            tuple.Add(10, 0);
            tuple.Add(10, 0);
            tuple.Add(10, 0);
            tuple.Add(10, 0);
            tuple.Add(10, 0);
            tuple.Add(10, 0);
            tuple.Add(10, 0);
            tuple.Add(5, 1);

            var score = game.LaunchGame(tuple);

            Assert.AreEqual(182, score);
        }
Ejemplo n.º 13
0
        public void TestMainStrikeLast()
        {
            var game  = new Game();
            var tuple = new TupleAPI();

            tuple.Add(10, 0);   // 10
            tuple.Add(10, 0);   // 30
            tuple.Add(10, 0);   // 50
            tuple.Add(10, 0);   // 70
            tuple.Add(10, 0);   // 90
            tuple.Add(10, 0);   // 110
            tuple.Add(10, 0);   // 130
            tuple.Add(10, 0);   // 150
            tuple.Add(10, 0);   // 170
            tuple.Add(10, 0);   // 190
                                // 197

            var score = game.LaunchGame(tupleApi: tuple, 6, 1);

            Assert.AreEqual(197, score);
        }
Ejemplo n.º 14
0
        static void Main(string[] args)
        {
            Console.WriteLine("Bowling Game !");

            var game  = new Game();
            var tuple = new TupleAPI();

            tuple.Add(10, 0);
            tuple.Add(10, 0);
            tuple.Add(10, 0);
            tuple.Add(10, 0);
            tuple.Add(10, 0);
            tuple.Add(10, 0);
            tuple.Add(10, 0);
            tuple.Add(10, 0);
            tuple.Add(10, 0);
            tuple.Add(5, 1);

            game.LaunchGame(tuple, valueBonus1: 6, valueBonus2: 2);

            Console.WriteLine("Press any key to exit...");
            Console.ReadKey();
        }
Ejemplo n.º 15
0
        /// <summary>
        /// Scenario of game
        /// </summary>
        public int LaunchGame(TupleAPI tupleApi = null, int valueBonus1 = 999, int valueBonus2 = 999)
        {
            int score = 0;

            for (int i = 0; i < 10; i++)
            {
                int value1 = 0, value2 = 0;

                Console.WriteLine("Lancer n°" + (i + 1));

                value1 = EnterFirstValue(tupleApi, i);

                if (!value1.Equals(10))
                {
                    value2 = EnterSecondValue(value1, tupleApi, i);
                }
                else
                {
                    Console.WriteLine("Bravo pour votre Strike");
                }

                // add new tuple
                tupleAPI.Add(value1, value2);
                score = tupleAPI.Sum();

                // last
                if (i.Equals(9))
                {
                    if (value1.Equals(10))  // if strick
                    {
                        if (valueBonus1 != 999)
                        {
                            value1 = valueBonus1;
                        }
                        else
                        {
                            value1 = EnterFirstValue(tupleApi, i);
                        }
                        if (!value1.Equals(10))
                        {
                            if (valueBonus2 != 999)
                            {
                                value2 = valueBonus2;
                            }
                            else
                            {
                                value2 = EnterSecondValue(value1, tupleApi, i);
                            }
                        }
                        score += value1 + value2;
                    }
                    if (value1 + value2 == 10)
                    {
                        if (valueBonus1 != 999)
                        {
                            value1 = valueBonus1;
                        }
                        else
                        {
                            value1 = EnterFirstValue();
                        }
                        score += value1;
                    }
                }

                // display score
                Console.WriteLine("Votre score : " + score);
            }

            Console.WriteLine("Partie terminée, votre score : " + score);
            return(score);
        }
Ejemplo n.º 16
0
 public Game()
 {
     tupleAPI = new TupleAPI();
 }
Ejemplo n.º 17
0
        public void TestSizeEmpty()
        {
            var tuple = new TupleAPI();

            Assert.AreEqual(tuple.Tuples.Count, 0);
        }