/// <summary> /// Siirretään haluttu nappula haluttuun paikkaan, jos mahdollista /// </summary> /// <param name="valittuPaikka">paikka jonne siirretään</param> /// <param name="valittuNappula">nappula joka siirretään</param> /// <returns>true jos siirto onnistui, false jos ei onnistunut tai jos peli päättyi</returns> protected bool siirra(Paikka valittuPaikka, Nappula valittuNappula) { Grid control = (Grid)valittuNappula.Parent; Paikka alkuPaikka = valittuNappula.annaPaikka(); control.Children.Remove(valittuNappula); //Poistetaan nappula vanhalta paikaltaan alkuPaikka.OnkoTyhja = true; if (!valittuPaikka.OnkoTyhja) //Jos valitussa paikassa on jo nappula niin se poistetaan { valittuPaikka.annaNappula().Syoty = true; valittuPaikka.poistaNappula(); } valittuPaikka.lisaaNappula(valittuNappula); alkuPaikka.poistaNappula();; if (!onkoJaljella()) //jos kaikki vastustajan nappulat syöty { Paaty(); return(false); } if (onkoPaadyssa(valittuNappula)) //jos nappula saapui pelilaudan päätyyn { Paaty(); return(false); // Jos voittoehdot täyttyvät } return(true); }
/// <summary> /// Katsoo onko jollakin pelipaikalla oleva nappula vastustajan, eli sen pelaajan, jonka vuoro ei ole tällä hetkellä /// </summary> /// <param name="sender">Paikka jonka nappula tarkistetaan</param> /// <returns>true jos vasustajan, false jos ei ole</returns> public bool onkoVastustaja(Paikka sender) { Nappula paikalla = sender.annaNappula(); if (paikalla == null) { return(false); } if (paikalla.ympyra.Fill == nappuloidenVari1 && pelaajanVuoro == 1) { return(true); } if (paikalla.ympyra.Fill == nappuloidenVari2 && pelaajanVuoro == -1) { return(true); } return(false); }