public IEnumerable <Polje> DajPoljaUZadanomSmjeru(int redak, int stupac, Smijer smjer) { switch (smjer) { case Smijer.Gore: return(DajPoljaIznad(redak, stupac)); case Smijer.Desno: return(DajPoljaDesno(redak, stupac)); case Smijer.Dolje: return(DajPoljaIspod(redak, stupac)); case Smijer.Lijevo: return(DajPoljaLijevo(redak, stupac)); default: Debug.Assert(false, string.Format("Nije podržan smijer: {0}", smjer.ToString())); return(null); } }
private IEnumerable <IEnumerable <Polje> > DajPoljaUNastavku(Smijer smijer1, Smijer smijer2) { List <IEnumerable <Polje> > liste = new List <IEnumerable <Polje> >(); int redak0 = pogođenaPolja[0].Redak; int stupac0 = pogođenaPolja[0].Stupac; var l1 = mreža.DajPoljaUZadanomSmjeru(redak0, stupac0, smijer1); if (l1.Count() > 0) { liste.Add(l1); } int n = pogođenaPolja.Count() - 1; int redakN = pogođenaPolja[n].Redak; int stupacN = pogođenaPolja[n].Stupac; var l2 = mreža.DajPoljaUZadanomSmjeru(redakN, stupacN, smijer2); if (l2.Count() > 0) { liste.Add(l2); } return(liste); }