Ejemplo n.º 1
0
        /// <summary>
        /// Siirretään nappulaa (täällä tammeksi animoimisen kutsu, mikä ei toimi)
        /// </summary>
        /// <param name="uusiPaikka">Nappulan uusi paikka</param>
        /// <param name="nappulanPaikat">Nappuloiden paikat</param>
        /// <param name="i">Mikä indeksi</param>
        /// <param name="siirrot">Nappuloiden siirot</param>
        /// <param name="vuoro_vaihtuu">Toisen vuoro</param>
        private void SiirraNappulaa(Point uusiPaikka, Point[] nappulanPaikat, int i, List <Point> siirrot, int vuoro_vaihtuu)
        {
            // siirto ja taulukoiden päivitys
            siirrot.Add(siirrettavanNappulanPaikka);
            // ruutu vapautuu
            vapaat_paikat.Add(siirrettavanNappulanPaikka);
            nappulanPaikat[i] = uusiPaikka;

            int kolumni = (int)uusiPaikka.X;
            int rivi    = (int)uusiPaikka.Y;

            // siirretään nappulaa
            Grid.SetColumn(siirrettavaNappula, kolumni);
            Grid.SetRow(siirrettavaNappula, rivi);

            // päivitetään paikka
            siirrettavanNappulanPaikka = new Point(kolumni, rivi);
            siirrot.Add(new Point(kolumni, rivi));
            vapaat_paikat.Remove(siirrettavanNappulanPaikka);

            // tänne tarkitus, onko päästy vastustajan päähän --> muutetaan nappula tammeksi
            if (siirrettavanNappulanPaikka.Y == 0 || siirrettavanNappulanPaikka.Y >= kokoAlue / 2 - 1)
            {
                if (siirrettavaNappula.OnkoTammi)
                {
                    return;
                }
                siirrettavaNappula.OnkoTammi = true;
                siirrettavaNappula.MuutaTammeksi();
                vuoro = vuoro_vaihtuu;
            }
        }