/// <summary> /// Kopírovací konštruktor /// </summary> /// <param name="paPredloha"></param> /// <param name="paSmer"></param> public Vlak(PrototypDp paPredloha, SmerZast paSmer) : base(paPredloha) { if (paSmer == SmerZast.horizontalny) { NastavObrazok(Resources.vlakVodorvoneVpravo, "vlakVodorvoneVpravo"); } else { NastavObrazok(Resources.vlakZvisleDole, "vlakZvisleDole"); } aAktualnyFrame = 0; JeVCieli = true; Skryte = false; Druh = DruhVozidla.kolajove; aTrasa = new List <Hrana>(); }
public Auto(PrototypDp paPredloha, SmerZast paSmer) : base(paPredloha) { if (paSmer == SmerZast.horizontalny) { NastavObrazok(Resources.vozidloVpravo, "vozidloVpravo"); } else { NastavObrazok(Resources.vozidloHore, "vozidloHore"); } aAktualnyFrame = 0; JeVCieli = true; Skryte = false; Druh = DruhVozidla.cestne; aTrasa = new List<Hrana>(); }
public ZeleznicnaStanica(Poloha paPoloha, SmerZast paSmerZast) { Poloha = paPoloha; SmerZastavky = paSmerZast; aMozneStroje = new List<PrototypDp>(); if (SmerZastavky == SmerZast.horizontalny) { NastavObrazok(Resources.zelStanicaVodor, "zelStanicaVodor"); } else { NastavObrazok(Resources.zelStanicaZv, "zelStanicaZv"); } ZburatelneAutomaticky = false; NakladyNaZburanie = 200; Cena = 650; Predlohy(); }
public Zastavka(Poloha paPoloha, SmerZast paSmerZast) { Poloha = paPoloha; SmerZast = paSmerZast; aMozneStroje = new List<PrototypDp>(); if (SmerZast == SmerZast.horizontalny) { NastavObrazok(Resources.cestaZastavkaVodor, "cestaZastavkaVodor"); } else { NastavObrazok(Resources.cestaZastavkaZvy, "cestaZastavkaZvy"); } ZburatelneAutomaticky = false; NakladyNaZburanie = 200; Cena = 500; Predlohy(); }
/// <summary> /// proces vytvαrania grafu /// </summary> private void VytvorGraf(int paRiadok, int paStlpec) { Policko aktualnePolicko = aMatica[paRiadok, paStlpec]; Policko susednePolicko; if (aktualnePolicko.Zastavane is Cesta) { SmerCesty smer = (aktualnePolicko.Zastavane as Cesta).Orientacia; switch (smer) { case SmerCesty.vodorovne: susednePolicko = aMatica[paRiadok, paStlpec - 1]; if (aktualnePolicko.Prostriedky()) { KontrolaVrcholCestyVlavo(aktualnePolicko, susednePolicko); } else { KontrolaRovnaCestaLava(aktualnePolicko, susednePolicko); } break; case SmerCesty.zvisle: susednePolicko = aMatica[paRiadok - 1, paStlpec]; if (aktualnePolicko.Prostriedky()) { KontrolaVrcholCestyHore(aktualnePolicko, susednePolicko); } else { KontrolaRovnaCestaHore(aktualnePolicko, susednePolicko); } break; case SmerCesty.zakHoreVpravo: case SmerCesty.odbZvysleVpravo: susednePolicko = aMatica[paRiadok - 1, paStlpec]; KontrolaVrcholCestyHore(aktualnePolicko, susednePolicko); break; case SmerCesty.zakDoleVlavo: case SmerCesty.odbVodorovneDole: susednePolicko = aMatica[paRiadok, paStlpec - 1]; KontrolaVrcholCestyVlavo(aktualnePolicko, susednePolicko); break; case SmerCesty.krizovatka: case SmerCesty.odbVodorovneHore: case SmerCesty.odbZvysleVlavo: case SmerCesty.zakHoreVlavo: susednePolicko = aMatica[paRiadok - 1, paStlpec]; KontrolaVrcholCestyHore(aktualnePolicko, susednePolicko); susednePolicko = aMatica[paRiadok, paStlpec - 1]; KontrolaVrcholCestyVlavo(aktualnePolicko, susednePolicko); break; case SmerCesty.zakDoleVpravo: VyrvorVrchol(aktualnePolicko); break; } } else if (aktualnePolicko.Zastavane is Zastavka) { SmerZast smerZ = (aktualnePolicko.Zastavane as Zastavka).SmerZast; if (smerZ == SmerZast.horizontalny) { susednePolicko = aMatica[paRiadok, paStlpec - 1]; KontrolaVrcholCestyVlavo(aktualnePolicko, susednePolicko); } else { susednePolicko = aMatica[paRiadok - 1, paStlpec]; KontrolaVrcholCestyHore(aktualnePolicko, susednePolicko); } } else if (aktualnePolicko.Zastavane is Zeleznica) { SmerInf smer = (aktualnePolicko.Zastavane as Zeleznica).Orientacia; if (smer == SmerInf.horizontalny) { susednePolicko = aMatica[paRiadok, paStlpec - 1]; if (aktualnePolicko.Prostriedky()) { KontrolaVrcholZeleznicaVlavo(aktualnePolicko, susednePolicko); } else { KontrolaZeleznicaRovnaVlavo(aktualnePolicko, susednePolicko); } } else if (smer == SmerInf.vertikalny) { susednePolicko = aMatica[paRiadok - 1, paStlpec]; if (aktualnePolicko.Prostriedky()) { KontrolaVrcholZeleznicaHore(aktualnePolicko, susednePolicko); } else { KontrolaZeleznicaRovnaHore(aktualnePolicko, susednePolicko); } } else if (smer == SmerInf.zatackaHoreVpravo) { susednePolicko = aMatica[paRiadok - 1, paStlpec]; KontrolaVrcholZeleznicaHore(aktualnePolicko, susednePolicko); } else if (smer == SmerInf.zatackaHoreVlavo) { susednePolicko = aMatica[paRiadok - 1, paStlpec]; KontrolaVrcholZeleznicaHore(aktualnePolicko, susednePolicko); susednePolicko = aMatica[paRiadok, paStlpec - 1]; KontrolaVrcholZeleznicaVlavo(aktualnePolicko, susednePolicko); } else if (smer == SmerInf.zatackaDoleVlavo) { susednePolicko = aMatica[paRiadok, paStlpec - 1]; KontrolaVrcholZeleznicaVlavo(aktualnePolicko, susednePolicko); } else if (smer == SmerInf.zatackaDoleVpravo) { VyrvorVrchol(aktualnePolicko); } } else if (aktualnePolicko.Zastavane is ZeleznicnaStanica) { if ((aktualnePolicko.Zastavane as ZeleznicnaStanica).SmerZastavky == SmerZast.horizontalny) { susednePolicko = aMatica[paRiadok, paStlpec - 1]; KontrolaVrcholZeleznicaVlavo(aktualnePolicko, susednePolicko); } else { susednePolicko = aMatica[paRiadok - 1, paStlpec]; KontrolaVrcholZeleznicaHore(aktualnePolicko, susednePolicko); } } }