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); }
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; } }