예제 #1
0
        private static void DoOperations(int[] operations, Bottle bottle1, Bottle bottle2)
        {
            bottle1.Empty();
            bottle2.Empty();

            for (int operationNo = 0; operationNo < 7; operationNo++)
            {
                if (operationNo == 0)
                {
                    bottle1.FillToTopFromTap();                           // Fylle flaske 1 fra springen
                }
                else if (operationNo == 1)
                {
                    bottle2.FillToTopFromTap();                           // Fylle flaske 2 fra springen
                }
                else if (operationNo == 2)
                {
                    bottle2.Fill(bottle1.Empty());                        // Tømme flaske 1 i flaske 2 -
                }
                // Tanken er at Empty() returnerer hvor mye det var i flasken før den ble tømt
                else if (operationNo == 3)
                {
                    bottle1.Fill(bottle2.Empty());                        // Tømme flaske 2 i flaske 1
                }
                else if (operationNo == 4)
                {
                    bottle2.FillToTop(bottle1);                           // Fylle opp flaske 2 med flaske 1
                }
                // Tanken er at FillToTop tar en annen Bottle som parameter. Hvis det er nok, fyller den
                // bottle2 og reduserer bottle1 tilsvarende. Hvis ikke gjør den ingenting.
                else if (operationNo == 5)
                {
                    bottle1.FillToTop(bottle2);                           // Fylle opp flaske 1 med flaske 2
                }
                else if (operationNo == 6)
                {
                    bottle1.Empty();                                      // Tømme flaske 1 (kaste vannet)
                }
                else if (operationNo == 7)
                {
                    bottle2.Empty();                                      // Tømme flaske 2 (kaste vannet)
                }
                //if (bottle1.Content == wantedVolume || bottle2.Content == wantedVolume)
                //{
                //    Console.WriteLine("Fant ønsket volum ved operasjon " + operationNo);
                //}
            }
        }
예제 #2
0
        private static void DoOperations(int[] operations, Bottle bottle1, Bottle bottle2)
        {
            bottle1.Empty();
            bottle2.Empty();

            foreach (var operation in operations)
            {
                if (operation == 0)
                {
                    bottle1.FillToTopFromTap();
                }
                else if (operation == 1)
                {
                    bottle2.FillToTopFromTap();
                }

                else if (operation == 2)
                {
                    bottle2.Fill(bottle1.Empty());
                }
                else if (operation == 3)
                {
                    bottle1.Fill(bottle2.Empty());
                }

                else if (operation == 4)
                {
                    bottle2.FillToTop(bottle1);
                }
                else if (operation == 5)
                {
                    bottle1.FillToTop(bottle2);
                }

                else if (operation == 6)
                {
                    bottle1.Empty();
                }
                else if (operation == 7)
                {
                    bottle2.Empty();
                }
            }
        }
예제 #3
0
        private static void DoOperations(int[] operations, Bottle bottle1, Bottle bottle2)
        {
            for (var i = 1; i < operations.Length; i++)
            {
                //køyr på!
                var operation = operations[i];

                if (operation == 0)
                {
                    bottle1.FillUpFromTap();                 //Fylle flaske 1
                }
                else if (operation == 1)
                {
                    bottle2.FillUpFromTap(); //Fylle flaske 2
                }
                else if (operation == 2)     //tømme fra flaske 1 i flaske 2
                {
                    if (bottle1.IsEmpty())
                    {
                        break;
                    }
                    var success = bottle2.Fill(bottle1.Empty());
                    if (!success)
                    {
                        break;
                    }
                }

                else if (operation == 3) //tømme fra flaske 2 i flaske 1
                {
                    if (bottle2.IsEmpty())
                    {
                        break;
                    }
                    var success = bottle2.Fill(bottle2.Empty());
                    if (!success)
                    {
                        break;
                    }
                }

                else if (operation == 4) //fylle opp flaske 2 med flaske 1
                {
                    var success = bottle2.FillUp(bottle1);
                    if (!success)
                    {
                        break;
                    }
                }
                else if (operation == 5) //fylle opp flaske 1 med flaske 2
                {
                    var success = bottle1.FillUp(bottle2);
                    if (!success)
                    {
                        break;
                    }
                }
                else if (operation == 6) //tømme flaske 1
                {
                    bottle1.Empty();
                }
                else if (operation == 7) //tømme flaske 2
                {
                    bottle2.Empty();
                }
            }
        }