/// <summary> /// Tekee uuden nappulan. /// </summary> /// <returns>Nappula joka lisättiin.</returns> private Nappula UusiNappula() { Nappula uusi = null; if (pelaajat[vuoro].nappuloita > 0) { uusi = LisaaNappula(); } tila = Pelitila.Odota; return uusi; }
/// <summary> /// Siirtää valittuna olevan nappulan _targetKoord osoittamaan paikkaan, mikäli soveliasta. /// </summary> /// <returns>Nappula joka siirrettiin, jos voitiin siirtää, null jos ei.</returns> private Nappula SiirraNappula() { if (valittuNappula == null) return null; tila = Pelitila.Odota; if (lauta.Siirra(valittuNappula, _targetKoord)) { var temp = valittuNappula; ValitseNappula(null); return temp; } return null; }
/// <summary> /// Laittaa pelin Siirrä tilaan jos soveliasta. /// </summary> public void Siirra() { if (valittuNappula == null || tila != Pelitila.Odota) { return; } tila = Pelitila.Siirra; }
/// <summary> /// Valitsee nappulan joka annetaan, jos peli on tilassa jossa voi tehdä valinnan. /// </summary> /// <param name="valinta">nappula joka halutaan valita.</param> public void ValitseNappula(Nappula valinta) { if (tila != Pelitila.Odota) { tila = Pelitila.Odota; return; } if (valinta == valittuNappula && valittuNappula != null) { valittuNappula.Valittu = !valittuNappula.Valittu; valittuNappula = null; return; } if (valittuNappula != null) { valittuNappula.Valittu = false; } valittuNappula = valinta; if (valinta != null) { valittuNappula.Valittu = true; } }
/// <summary> /// Poistaa valittuna olevan nappulan. /// </summary> public void PoistaNappula() { if (valittuNappula != null) { valittuNappula.Poistetaan(); lauta.poista(valittuNappula); valittuNappula = null; } tila = Pelitila.Odota; }