Exemple #1
0
        private Boolean korbejaras(string[] tartomany, string szin, int iTol, int jTol, ref int[,] elozoHelyek)
        {
            int[] kovHely = new int[2] {
                iTol, jTol
            };
            int[,] visszafordulas = BufferKezeles.initBuffer(3);
            int elozoLepesIranya = 2;

            do
            {
                if (szin.Equals("fekete"))
                {
                    kovHely = feketeLepes(tartomany, kovHely, ref elozoLepesIranya, visszafordulas);
                }
                else
                {
                    kovHely = feherLepes(kovHely, ref elozoLepesIranya);
                    //Ha kiert a szelere
                    if (kovHely[0] == szelsoErtekek[0] || kovHely[0] == szelsoErtekek[1] ||
                        kovHely[1] == szelsoErtekek[2] || kovHely[1] == szelsoErtekek[3])
                    {
                        return(true);
                    }
                }

                if (BufferKezeles.ketszerTartalmazza(elozoHelyek, kovHely))
                {
                    return(false);
                }

                BufferKezeles.shiftBuffer(ref elozoHelyek, kovHely);
                BufferKezeles.shiftBuffer(ref visszafordulas, kovHely);
            } while (!(kovHely[0] == elsoFekete[0] && kovHely[1] == elsoFekete[1]));

            // Erdektelen
            return(false);
        }