private void KezdoAllas(int sor, int oszlop) // sor oszlop szükséges? { for (int i = 0; i < sor; i++) { Babu B1 = new Babu(i, 0, i, false); // első i -> id második i -> sor Babu B2 = new Babu(i, oszlop - 1, i, true); // 0-i id, utolsó oszlop, i. sor palya[B1.BabuSOR, B1.BabuOSZLOP] = B1; // bábuk elhelyezése palya[B2.BabuSOR, B2.BabuOSZLOP] = B2; } }
public void Lepes(int lepesHossz, Babu babu) { int celOszlop; if ((babu.Foglyok.Length > 0) == babu.BabuSzin) // Lépjen jobbra: { // ha van foglya (IGAZ) és fehér (IGAZ) --> Hazamegy. A saját bázisa jobbra van. celOszlop = palya.GetLength(0) + lepesHossz; // ha nincs foglya (HAMIS) és piros (HAMIS) --> Támad. Az ellemfél bázisa jobbra van } else // Lépjen balra: { // ha nincs foglya (HAMIS) és fehér (IGAZ) --> Támad. Az ellenfél bázisa balra van. celOszlop = palya.GetLength(1) - lepesHossz; // ha van foglya (IGAZ) és piros (HAMIS) --> Hazamegy. A saját bázisa balra van. } Babu celBabu = OszloponLevoBabu(celOszlop); if ((babu.BabuSzin && celOszlop > (palya.GetLength(1) - 1)) || (!babu.BabuSzin && celOszlop < 0)) // ha egy bábu a bázison túl lép { hazater; // hazatér } if (babu.BabuSzin && celOszlop == (palya.GetLength(1) - 1) || (!babu.BabuSzin && celOszlop == 0)) // ha bázisra lép { } else if (celBabu == null) { palya[babu.BabuSOR, celOszlop] = babu; // felülír palya[babu.BabuSOR, babu.BabuSOR] = null; // előző referencia törlése babu.BabuOSZLOP = celOszlop; } else if (celBabu.BabuSzin == babu.BabuSzin) // saját bábu helye. Kimarad. { Jatek.KovetkezoKor(); } else // ellenséges bábu { babu.FoglyulEjt(celBabu); // foglyul ejt palya[celBabu.BabuSOR, celOszlop] = babu; // felülír palya[babu.BabuSOR, babu.BabuOSZLOP] = null; // előző referencia törlése babu.BabuSOR = celBabu.BabuSOR; babu.BabuOSZLOP = celBabu.BabuOSZLOP; } }
private void FelszabaditVagyMegol(Babu babu) { babu.Hazater(); }
public void FoglyulEjt(Babu babu) { foglyokSzama++; // elejtett babu foglyaival mi legyen? foglyok[foglyokSzama] = babu; babu.Fogsagban = true; }