/// <summary> /// Constructor Pelinappulalle. /// </summary> /// <param name="nappula">Nappula johon halutaan kytkeä.</param> /// <param name="color">Nappulan väri.</param> public PeliNappula(Nappula nappula, Color color) { InitializeComponent(); HorizontalAlignment = HorizontalAlignment.Center; VerticalAlignment = VerticalAlignment.Center; this.color = new SolidColorBrush(color); this.nappula = nappula; nappula.ValittuChangedHandler += NappulaValittu; }
/// <summary> /// Laittaa uuden nappulan paikkaan _targetKoord. /// </summary> /// <returns>nappula joka lisättiin.</returns> private Nappula LisaaNappula() { Nappula uusi = new Nappula(_targetKoord, pelaajat[vuoro]); lauta.Lisaa(uusi, _targetKoord); //OnChanged(new EventArgs()); return uusi; }
/// <summary> /// Lisätään PeliNappula. /// </summary> /// <param name="alue"></param> /// <param name="uusi"></param> private void UusiNappula(PelilautaNamespace.Pelialue alue, Nappula uusi) { PelinappulaNamespace.PeliNappula nappula = new PelinappulaNamespace.PeliNappula(uusi, color); alue.lisaaNappula(nappula); }
/// <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; }
/// <summary> /// Siirtää nappulan jos voi siirtää. /// </summary> /// <param name="nappula">Nappula joka halutaan siirtää.</param> /// <param name="paikka">Paikka johon halutaan siirtää.</param> /// <returns>true jos siirtäminen siirrettiin.</returns> public bool Siirra(Nappula nappula, int paikka) { if (!ValidiPaikkaSiirtää(nappula.Paikka, paikka)) { return false; } nappulat[paikka] = nappula; nappulat[nappula.Paikka] = null; nappula.Paikka = paikka; return true; }
/// <summary> /// Poistaa nappulan joka annetaan. /// </summary> /// <param name="nappula">Nappula joka halutaan poistaa.</param> public void poista(Nappula nappula) { nappulat[nappula.Paikka] = null; }
/// <summary> /// Lisää nappulan annettuun paikkaan jos voi. /// </summary> /// <param name="nappula">nappula joka lisätään.</param> /// <param name="paikka">paikka johon lisätään.</param> /// <returns>true jos voitiin lisätä.</returns> public bool Lisaa(Nappula nappula, int paikka) { if (!ValidiPaikkaLisata(paikka)) { return false; } nappulat[paikka] = nappula; return true; }