Exemplo n.º 1
0
    public bool sprawdzSzachBierki(int x, int y)
    {
        Bierki b = Bierki[x, y];

        if (b == null)
        {
            return(false);
        }

        var dr = b.MozliweRuchy();

        if (b.czyBialy != true)
        {
            if (dr[pozycjaXkrolbialy(), pozycjaYkrolbialy()])
            {
                czyBialySzach = true;
                Debug.Log("Bialy szachowany");
                return(true);
            }
        }
        else
        {
            if (dr[pozycjaXkrolCzarny(), pozycjaYkrolCzarny()])
            {
                czyCzarnySzach = true;
                Debug.Log("Czarny szachowany");
                return(true);
            }
        }
        return(false);
    }
Exemplo n.º 2
0
    public bool czyCzarnySzach = false; //czy czarny szachuje

    public bool sprawdzSzachCalosc()
    {
        czyCzarnySzach = false;
        czyBialySzach  = false;
        var czarnyKrolX = pozycjaXkrolCzarny();
        var czarnyKrolY = pozycjaYkrolCzarny();
        var bialyKrolX  = pozycjaXkrolbialy();
        var bialyKrolY  = pozycjaYkrolbialy();

        for (int k = 0; k < 8; k++)
        {
            for (int j = 0; j < 8; j++)
            {
                Bierki b = Bierki[j, k];

                if (b == null)
                {
                    continue;
                }


                var dr = b.MozliweRuchy();
                if (b.czyBialy == true)
                {
                    if (dr[czarnyKrolX, czarnyKrolY])
                    {
                        czyCzarnySzach = true;
                        Debug.Log("Czarny szachowany");
                        return(true);
                    }
                }
                else
                {
                    if (dr[bialyKrolX, bialyKrolY])
                    {
                        czyBialySzach = true;
                        Debug.Log("Bialy szachowany");
                        return(true);
                    }
                }
            }
        }
        return(false);
    }
Exemplo n.º 3
0
    private bool CzyKolorMaRuch(bool bialy)
    {
        //sprawdzamy wszystkie bierki innego koloru czy maja ruch ktory blokuje szach
        for (int k = 0; k < 8; k++)
        {
            for (int j = 0; j < 8; j++)
            {
                Bierki b = Bierki[j, k];

                if (b == null || b.czyBialy == bialy)
                {
                    continue;
                }

                var tmpX = wybraneX;
                var tmpY = wybraneY;
                wybraneX = j;
                wybraneY = k;
                var dr = RuchyZUwzglednieneimSzachu(b.MozliweRuchy(), b);
                wybraneY = tmpY;
                wybraneX = tmpX;
                for (int x = 0; x < 8; x++)
                {
                    for (int y = 0; y < 8; y++)
                    {
                        //bierka ma ruch ktora blokuje szach - mata nie ma
                        if (dr[x, y])
                        {
                            return(true);
                        }
                    }
                }
            }
        }
        return(false);
    }