public override bool CzyMogeWspoldzialacZ(ZolnierzZawodowy x) { Oficer o = new Oficer(0, "", "", 0, 0); Zolnierz z = new Zolnierz(0, "", "", "", 0); if (x.GetType() == typeof(Oficer)) { o = (Oficer)x; if ((this.Doswiadczenie == "male" && o.ZmyslStrategiczny > 2) || (this.Doswiadczenie == "zadne" && o.ZmyslStrategiczny > 3) || (this.Doswiadczenie == "duze" && o.ZmyslStrategiczny > 0)) { return(true); } } else if (x.GetType() == typeof(Zolnierz)) { z = (Zolnierz)x; if (z.Doswiadczenie == this.Doswiadczenie && (z.Amunicja > 0 || this.Amunicja > 0)) { return(true); } } return(false); }
override public ZolnierzZawodowy glebokakopia() { Zolnierz x = new Zolnierz(this.stopien, this.imie, this.nazwisko, this.Doswiadczenie, this.Amunicja); ZolnierzZawodowy A = x; return(A); }
public List <ZolnierzZawodowy> JednostkiSpecjalne() { List <ZolnierzZawodowy> lista = new List <ZolnierzZawodowy>(); Oficer o = new Oficer(0, "", "", 0, 0); Zolnierz z = new Zolnierz(0, "", "", "", 0); for (int i = 0; i < zolnierze.Length; ++i) { if (zolnierze[i].GetType() == typeof(Oficer)) { o = (Oficer)zolnierze[i]; if (o.ZmyslStrategiczny > 3 && o.ZnajomoscTerenu > 2) { lista.Add(zolnierze[i]); } } else if (zolnierze[i].GetType() == typeof(Zolnierz)) { z = (Zolnierz)zolnierze[i]; if (z.Doswiadczenie == "duze" && z.Amunicja > 99) { lista.Add(zolnierze[i]); } } } return(lista); }
public Wojsko(ZolnierzZawodowy[] _zolnierze) { zolnierze = new ZolnierzZawodowy[_zolnierze.Length]; zolnierze_ = new bool[_zolnierze.Length]; for (int i = 0; i < _zolnierze.Length; ++i) { Oficer o = new Oficer(0, "", "", 0, 0); Zolnierz z = new Zolnierz(0, "", "", "", 0); //shallow copy //zolnierze[i] = _zolnierze[i]; //deep copy (x.GetType() == typeof(Oficer)) if (_zolnierze[i].GetType() == typeof(Oficer)) { o = (Oficer)_zolnierze[i]; zolnierze[i] = o.glebokakopia(); } else if (_zolnierze[i].GetType() == typeof(Zolnierz)) { z = (Zolnierz)_zolnierze[i]; zolnierze[i] = z.glebokakopia(); } zolnierze_[i] = true; } }
public override bool CzyMogeWspoldzialacZ(ZolnierzZawodowy x) { Oficer o = new Oficer(0, "", "", 0, 0); Zolnierz z = new Zolnierz(0, "", "", "", 0); //if (x is Oficer) //{ // o = (Oficer)x; // if ((this.Doswiadczenie == "male" && o.ZmyslStrategiczny > 2) || // (this.Doswiadczenie == "zadne" && o.ZmyslStrategiczny > 3) || // (this.Doswiadczenie == "duze" && o.ZmyslStrategiczny > 0)) // { // return true; // } //} if (x.GetType() == typeof(Zolnierz)) { z = (Zolnierz)x; if (this.ZnajomoscTerenu == 4 || this.ZnajomoscTerenu == 5) { return(true); } else if ((this.ZnajomoscTerenu == 2 || this.ZnajomoscTerenu == 3) && (z.stopien > 1)) { return(true); } else if ((this.ZnajomoscTerenu == 1 || this.ZnajomoscTerenu == 0) && (z.stopien == 3)) { return(true); } } return(false); }
static void Main(string[] args) { Console.WriteLine("---- Etap 1 ----"); Oficer o1 = new Oficer(4, "Gromoslaw", "Kowalski", 3, 5); Oficer o2 = new Oficer(5, "Janusz", "Askiewicz", 5, 4); Oficer o3 = new Oficer(6, "Marian", "Nowak", 2, 3); o1.PrzedstawSie(); o2.PrzedstawSie(); o3.PrzedstawSie(); Zolnierz zz1 = new Zolnierz(1, "Andrzej", "Mickiewicz", "zadne", 20); Zolnierz zz2 = new Zolnierz(2, "Julisz", "Slowacki", "male", 80); Zolnierz zz3 = new Zolnierz(3, "Tadeusz", "Krakiewicz", "duze", 130); Zolnierz zz4 = new Zolnierz(1, "Roman", "Grom", "male", 190); zz1.PrzedstawSie(); zz2.PrzedstawSie(); zz3.PrzedstawSie(); zz4.PrzedstawSie(); Console.WriteLine("---- Etap 2 ----"); Console.WriteLine("Do zadan specjalnych melduja sie:"); ZolnierzZawodowy[] zolnierze = { o1, zz1, o2, zz2, zz3, o3, zz4 }; Wojsko wojsko = new Wojsko(zolnierze); //tutaj wywolaj metode JednostkiSpecjalne() i "przedstaw" wszystkich zwroconych zolnierzy List <ZolnierzZawodowy> lista = wojsko.JednostkiSpecjalne(); Oficer o = new Oficer(0, "", "", 0, 0); Zolnierz z = new Zolnierz(0, "", "", "", 0); foreach (ZolnierzZawodowy x in lista) { if (x is Oficer) { o = (Oficer)x; o.PrzedstawSie(); } else if (x is Zolnierz) { z = (Zolnierz)x; z.PrzedstawSie(); } } Console.WriteLine("---- Etap 3 ----"); var TupleList = wojsko.SparujZolnierzy(); int i = 1; foreach (var tuple in TupleList) { Console.WriteLine("Para {0} melduje sie na rozkaz ", i); //tuple.Item1.PrzedstawSie(); // tuple.Item2.PrzedstawSie(); if (tuple.Item1 is Oficer) { o = (Oficer)tuple.Item1; o.PrzedstawSie(); } else if (tuple.Item1 is Zolnierz) { z = (Zolnierz)tuple.Item1; z.PrzedstawSie(); } if (tuple.Item2 is Oficer) { o = (Oficer)tuple.Item2; o.PrzedstawSie(); } else if (tuple.Item2 is Zolnierz) { z = (Zolnierz)tuple.Item2; z.PrzedstawSie(); } ++i; } }