예제 #1
0
        public void SprawdzStan_JednomasztowiecIPolaNieTrafione_StatekNieJestZatopiony()
        {
            //Przygotowanie
            int      IDStatku = 0;
            L_Statek statek   = new L_Jednomasztowiec(IDStatku);

            L_Pole pole = new L_PoleZajete(IDStatku);

            statek.DodajPole(pole);

            //Działanie
            statek.SprawdzStan();

            //Sprawdzenie
            Assert.IsTrue(statek.Zatopiony == false);
        }
예제 #2
0
        public void DodajPole_PoleZajete_PoleZostanieDodane()
        {
            //Przygotowanie
            int      IDStatku = 0;
            L_Statek statek   = new L_Jednomasztowiec(IDStatku);
            L_Pole   nowePole = new L_PoleZajete(IDStatku);

            List <L_Pole> listaPol = statek.Pola;
            int           iloscPol = listaPol.Count;

            //Działanie
            statek.DodajPole(nowePole);

            //Sprawdzenie
            Assert.IsTrue(iloscPol < statek.Pola.Count);
        }
예제 #3
0
        public void DodajPole_JednomasztowiecZJednymPolem_PoleNieZostanieDodane()
        {
            //Przygotowanie
            int      IDStatku = 0;
            L_Statek statek   = new L_Jednomasztowiec(IDStatku);
            L_Pole   nowePole = new L_PoleZajete(IDStatku);

            //Dodaję pole po raz pierwszy
            statek.DodajPole(nowePole);
            List <L_Pole> listaPol = statek.Pola;
            int           iloscPol = listaPol.Count;

            nowePole = new L_PoleZajete(IDStatku);

            //Działanie
            //Dodaję pole po raz drugi
            statek.DodajPole(nowePole);

            //Sprawdzenie
            Assert.IsTrue(iloscPol == statek.Pola.Count);
        }
        /// <summary>
        /// Funkcja budująca statki w losowych położeniach oraz kierunkach.
        /// Budowane są cztery jednomasztowce, trzy dwumasztowce, dwa trójmasztowce i jeden czteromasztowiec.
        /// </summary>
        public void BudujStatkiLosowo()
        {
            L_Statek[] tablicaStatkow = new L_Statek[10];
            tablicaStatkow[0] = new L_Czteromasztowiec(0);
            tablicaStatkow[1] = new L_Trojmasztowiec(1);
            tablicaStatkow[2] = new L_Trojmasztowiec(2);
            tablicaStatkow[3] = new L_Dwumasztowiec(3);
            tablicaStatkow[4] = new L_Dwumasztowiec(4);
            tablicaStatkow[5] = new L_Dwumasztowiec(5);
            tablicaStatkow[6] = new L_Jednomasztowiec(6);
            tablicaStatkow[7] = new L_Jednomasztowiec(7);
            tablicaStatkow[8] = new L_Jednomasztowiec(8);
            tablicaStatkow[9] = new L_Jednomasztowiec(9);

            Random los          = new Random(DateTime.Now.Millisecond);
            Random losKierunkow = new Random();

            Array tablicaKierunkow = Enum.GetValues(typeof(Kierunki));

            for (int i = 0; i < tablicaStatkow.Length; i++)
            {
                // Losowe liczby od 0 do 9 włącznie
                int      losowyR        = los.Next(0, 10);
                int      losowaK        = los.Next(0, 10);
                Kierunki losowyKierunek = (Kierunki)tablicaKierunkow.GetValue(losKierunkow.Next(tablicaKierunkow.Length));

                // Losuj pozycje, dopóki nie znajdziesz takiej, ktora spelnia warunki budowania
                while (!MoznaBudowac(losowyR, losowaK, losowyKierunek, tablicaStatkow[i]))
                {
                    losowyR = los.Next(0, 10);
                    losowaK = los.Next(0, 10);
                }

                BudujStatek(losowyR, losowaK, losowyKierunek, tablicaStatkow[i]);
                _statki.Add(tablicaStatkow[i]);
            }
        }