private Flota SložiFlotu(Mreža mreža, IEnumerable <int> duljineBrodova)
        {
            Flota           flota      = new Flota();
            TerminatorPolja terminator = new TerminatorPolja(mreža);

            foreach (int i in duljineBrodova)
            {
                var nizovi = mreža.DajNizoveSlobodnihPolja(i);
                if (nizovi.Count() == 0)
                {
                    return(null);
                }
                int indeks = slučajni.Next(nizovi.Count());
                var niz    = nizovi.ElementAt(indeks);
                flota.DodajBrod(niz);
                terminator.UkloniPolja(niz);
            }
            return(flota);
        }
Example #2
0
        public void ObradiGađanje(RezultatGađanja rezultat)
        {
            mreža.UkloniPolje(gađanoPolje);
            switch (rezultat)
            {
            case RezultatGađanja.Promašaj:
                return;

            case RezultatGađanja.Pogodak:
                pogođenaPolja.Add(gađanoPolje);
                return;

            case RezultatGađanja.Potopljen:
                pogođenaPolja.Add(gađanoPolje);
                TerminatorPolja terminator = new TerminatorPolja(mreža);
                terminator.UkloniPolja(pogođenaPolja);
                return;

            default:
                Debug.Assert(false);
                break;
            }
        }