コード例 #1
0
        public override void MakeCangoList() // taşın Gidebileceği Yerleri Hesaplayıp Yolu üzerinde Başka taş Varmı Hesaplar ve listeyi doldurur ..
        {
            this.KordinatsCanGo.Clear();
            int x = this.TasKordinat.X, y = this.TasKordinat.Y;

            for (int i = 0; i < 8; i++)
            {
                if (i == this.TasKordinat.X)
                {
                    continue;
                }
                if (CanGo(y, i) == false)
                {
                    break;
                }
                else if (CanGo(y, i) && y < 8)
                {
                    KordinatsCanGo.Add(new Kordinat {
                        Y = y, X = i
                    });
                }
            }

            x = this.TasKordinat.X;
            y = this.TasKordinat.Y;
            for (int i = 0; i < 8; i++)
            {
                if (i == this.TasKordinat.Y)
                {
                    continue;
                }
                else if (CanGo(i, x) == false)
                {
                    break;
                }
                else if (CanGo(i, x) && x < 8)
                {
                    KordinatsCanGo.Add(new Kordinat {
                        Y = i, X = x
                    });
                }
            }
        }
コード例 #2
0
        public override void MakeCangoList()
        {
            KordinatsCanGo.Clear();
            int x = TasKordinat.X, y = TasKordinat.Y;

            #region Kale Gibi Gidebilmeye Bakan Kodlar ( Eksiksiz Denedim Sorun yok ..)

            for (int i = x + 1; i < 8; i++)
            {
                if (StopTry)
                {
                    break;
                }
                if (CanGo(i, y))
                {
                    KordinatsCanGo.Add(new Kordinat {
                        Y = y, X = i
                    });
                }
            }

            StopTry = false;
            x       = TasKordinat.X;
            y       = TasKordinat.Y;
            for (int i = x - 1; i > -1; i--)
            {
                if (StopTry)
                {
                    break;
                }
                if (CanGo(i, y))
                {
                    KordinatsCanGo.Add(new Kordinat {
                        Y = y, X = i
                    });
                }
            }
            StopTry = false;
            x       = TasKordinat.X;
            y       = TasKordinat.Y;
            for (int i = y - 1; i > -1; i--)
            {
                if (StopTry)
                {
                    break;
                }
                if (CanGo(x, i))
                {
                    KordinatsCanGo.Add(new Kordinat {
                        Y = i, X = x
                    });
                }
            }
            StopTry = false;
            x       = TasKordinat.X;
            y       = TasKordinat.Y;
            for (int i = y + 1; i < 8; i++)
            {
                if (StopTry)
                {
                    break;
                }
                if (CanGo(x, i))
                {
                    KordinatsCanGo.Add(new Kordinat {
                        Y = i, X = x
                    });
                }
            }
            StopTry = false;
            #endregion
        }
コード例 #3
0
        /// <summary>
        ///  taşın Gidebileceği Yerleri Hesaplayıp Yolu üzerinde Başka taş Varmı Hesaplar ve listeyi doldurur ..
        /// </summary>
        public override void MakeCangoList()
        {
            KordinatsCanGo.Clear();

            int x = TasKordinat.X, y = TasKordinat.Y;

            y += 1;
            x += 1;
            if (CanGo(x, y))
            {
                KordinatsCanGo.Add(new Kordinat {
                    X = x, Y = y
                });
            }

            x  = TasKordinat.X;
            y  = TasKordinat.Y;
            y += 1;
            x += -1;
            if (CanGo(x, y))
            {
                KordinatsCanGo.Add(new Kordinat {
                    X = x, Y = y
                });
            }

            x  = TasKordinat.X;
            y  = TasKordinat.Y;
            y += 1;

            if (CanGo(x, y))
            {
                KordinatsCanGo.Add(new Kordinat {
                    X = x, Y = y
                });
            }

            x  = TasKordinat.X;
            y  = TasKordinat.Y;
            y += -1;

            if (CanGo(x, y))
            {
                KordinatsCanGo.Add(new Kordinat {
                    X = x, Y = y
                });
            }

            x  = TasKordinat.X;
            y  = TasKordinat.Y;
            y += -1;
            x += -1;
            if (CanGo(x, y))
            {
                KordinatsCanGo.Add(new Kordinat {
                    X = x, Y = y
                });
            }

            x  = TasKordinat.X;
            y  = TasKordinat.Y;
            y += -1;
            x += +1;
            if (CanGo(x, y))
            {
                KordinatsCanGo.Add(new Kordinat {
                    X = x, Y = y
                });
            }

            x = TasKordinat.X;
            y = TasKordinat.Y;

            x += -1;
            if (CanGo(x, y))
            {
                KordinatsCanGo.Add(new Kordinat {
                    X = x, Y = y
                });
            }

            x = TasKordinat.X;
            y = TasKordinat.Y;

            x += 1;
            if (CanGo(x, y))
            {
                KordinatsCanGo.Add(new Kordinat {
                    X = x, Y = y
                });
            }
        }
コード例 #4
0
        public override void MakeCangoList() // taşın Gidebileceği Yerleri Hesaplayıp Yolu üzerinde Başka taş Varmı Hesaplar ve listeyi doldurur ..
        {
            this.KordinatsCanGo.Clear();
            int x = this.TasKordinat.X, y = this.TasKordinat.Y;

            #region Kale Gibi Gidebilmeye Bakan Kodlar ( Eksiksiz Denedim Sorun yok ..)

            for (int i = x + 1; i < 8; i++)
            {
                if (CanGo(i, y) == false)
                {
                    break;
                }
                else if (CanGo(i, y))
                {
                    KordinatsCanGo.Add(new Kordinat {
                        Y = y, X = i
                    });
                }
            }

            x = this.TasKordinat.X;
            y = this.TasKordinat.Y;
            for (int i = x - 1; i > -1; i--)
            {
                if (CanGo(i, y) == false)
                {
                    break;
                }
                else if (CanGo(i, y))
                {
                    KordinatsCanGo.Add(new Kordinat {
                        Y = y, X = i
                    });
                }
            }

            x = this.TasKordinat.X;
            y = this.TasKordinat.Y;
            for (int i = y - 1; i > -1; i--)
            {
                if (CanGo(x, i) == false)
                {
                    break;
                }
                else if (CanGo(x, i))
                {
                    KordinatsCanGo.Add(new Kordinat {
                        Y = i, X = x
                    });
                }
            }

            x = this.TasKordinat.X;
            y = this.TasKordinat.Y;
            for (int i = y + 1; i < 8; i++)
            {
                if (CanGo(x, i) == false)
                {
                    break;
                }
                else if (CanGo(x, i))
                {
                    KordinatsCanGo.Add(new Kordinat {
                        Y = i, X = x
                    });
                }
            }

            #endregion
        }
コード例 #5
0
        public override void MakeCangoList() // taşın Gidebileceği Yerleri Hesaplayıp Yolu üzerinde Başka taş Varmı Hesaplar ve listeyi doldurur ..
        {
            KordinatsCanGo.Clear();
            int x = TasKordinat.X, y = TasKordinat.Y;


            #region Kale Gibi Gidebilmeye Bakan Kodlar ( Eksiksiz Denedim Sorun yok ..)

            for (int i = x + 1; i < 8; i++)
            {
                if (StopTry)
                {
                    break;
                }
                if (CanGo(i, y))
                {
                    KordinatsCanGo.Add(new Kordinat {
                        Y = y, X = i
                    });
                }
            }

            StopTry = false;
            x       = TasKordinat.X;
            y       = TasKordinat.Y;
            for (int i = x - 1; i > -1; i--)
            {
                if (StopTry)
                {
                    break;
                }
                if (CanGo(i, y))
                {
                    KordinatsCanGo.Add(new Kordinat {
                        Y = y, X = i
                    });
                }
            }
            StopTry = false;
            x       = TasKordinat.X;
            y       = TasKordinat.Y;
            for (int i = y - 1; i > -1; i--)
            {
                if (StopTry)
                {
                    break;
                }
                if (CanGo(x, i))
                {
                    KordinatsCanGo.Add(new Kordinat {
                        Y = i, X = x
                    });
                }
            }
            StopTry = false;
            x       = TasKordinat.X;
            y       = TasKordinat.Y;
            for (int i = y + 1; i < 8; i++)
            {
                if (StopTry)
                {
                    break;
                }
                if (CanGo(x, i))
                {
                    KordinatsCanGo.Add(new Kordinat {
                        Y = i, X = x
                    });
                }
            }
            StopTry = false;
            #endregion


            #region Fil Gibi Gitmeyi Sağlayan Kodlar ( Eksiksiz Denedim Sorun Yok )

            for (int i = 0; i < 8; i++)
            {
                if (StopTry)
                {
                    break;
                }
                x += 1;
                y += 1;

                if (CanGo(x, y))
                {
                    KordinatsCanGo.Add(new Kordinat {
                        X = x, Y = y
                    });
                }
            }

            StopTry = false;
            x       = TasKordinat.X;
            y       = TasKordinat.Y;
            for (int i = 0; i < 8; i++)
            {
                if (StopTry)
                {
                    break;
                }
                x += -1;
                y += -1;

                if (CanGo(x, y))
                {
                    KordinatsCanGo.Add(new Kordinat {
                        X = x, Y = y
                    });
                }
            }
            StopTry = false;
            x       = TasKordinat.X;
            y       = TasKordinat.Y;
            for (int i = 0; i < 8; i++)
            {
                if (StopTry)
                {
                    break;
                }
                x += +1;
                y += -1;

                if (CanGo(x, y))
                {
                    KordinatsCanGo.Add(new Kordinat {
                        X = x, Y = y
                    });
                }
            }
            StopTry = false;
            x       = TasKordinat.X;
            y       = TasKordinat.Y;
            for (int i = 0; i < 8; i++)
            {
                if (StopTry)
                {
                    break;
                }
                x += -1;
                y += +1;


                if (CanGo(x, y))
                {
                    KordinatsCanGo.Add(new Kordinat {
                        X = x, Y = y
                    });
                }
            }

            StopTry = false;

            #endregion
        }
コード例 #6
0
        public override void MakeCangoList()
        {
            KordinatsCanGo.Clear();
            int x = TasKordinat.X, y = TasKordinat.Y;



            if (!İsBlack)
            {
                y += 1;
                if (CanGo(x, y) && !ChessBoard.Squares[y, x].Dolumu)
                {
                    KordinatsCanGo.Add(new Kordinat {
                        X = x, Y = y, KordinatType = KordinatType.Normal
                    });
                }



                y  = TasKordinat.Y;
                y += 2;
                if (CanGo(x, y) && !ChessBoard.Squares[y - 1, x].Dolumu && İsMoved == 0 && !ChessBoard.Squares[y, x].Dolumu)
                {
                    KordinatsCanGo.Add(new Kordinat {
                        X = x, Y = y, KordinatType = KordinatType.Normal
                    });
                }


                x  = TasKordinat.X;
                y  = TasKordinat.Y;
                x += 1;
                y += 1;
                if (CanGo(x, y))
                {
                    KordinatsCanGo.Add(new Kordinat {
                        X = x, Y = y, KordinatType = KordinatType.Attack
                    });
                }


                x  = TasKordinat.X;
                y  = TasKordinat.Y;
                x += -1;
                y += 1;

                if (CanGo(x, y))
                {
                    KordinatsCanGo.Add(new Kordinat {
                        X = x, Y = y, KordinatType = KordinatType.Attack
                    });
                }
            }
            else
            {
                y += -1;
                if (CanGo(x, y) && !ChessBoard.Squares[y, x].Dolumu)
                {
                    KordinatsCanGo.Add(new Kordinat {
                        X = x, Y = y, KordinatType = KordinatType.Normal
                    });
                }

                y  = TasKordinat.Y;
                y += -2;
                if (CanGo(x, y) && !ChessBoard.Squares[y + 1, x].Dolumu && İsMoved == 0 && !ChessBoard.Squares[y, x].Dolumu)
                {
                    KordinatsCanGo.Add(new Kordinat {
                        X = x, Y = y, KordinatType = KordinatType.Normal
                    });
                }


                x  = TasKordinat.X;
                y  = TasKordinat.Y;
                x += 1;
                y += -1;
                if (CanGo(x, y))
                {
                    KordinatsCanGo.Add(new Kordinat {
                        X = x, Y = y, KordinatType = KordinatType.Attack
                    });
                }


                x  = TasKordinat.X;
                y  = TasKordinat.Y;
                x += -1;
                y += -1;

                if (CanGo(x, y))
                {
                    KordinatsCanGo.Add(new Kordinat {
                        X = x, Y = y, KordinatType = KordinatType.Attack
                    });
                }
            }
        }
コード例 #7
0
        public override void MakeCangoList()
        {
            KordinatsCanGo.Clear();
            int x = TasKordinat.X, y = TasKordinat.Y;

            #region Fil Gibi Gitmeyi Sağlayan Kodlar ( Eksiksiz Denedim Sorun Yok )

            for (int i = 0; i < 8; i++)
            {
                if (StopTry)
                {
                    break;
                }
                x += 1;
                y += 1;

                if (CanGo(x, y))
                {
                    KordinatsCanGo.Add(new Kordinat {
                        X = x, Y = y
                    });
                }
            }

            StopTry = false;
            x       = TasKordinat.X;
            y       = TasKordinat.Y;
            for (int i = 0; i < 8; i++)
            {
                if (StopTry)
                {
                    break;
                }
                x += -1;
                y += -1;

                if (CanGo(x, y))
                {
                    KordinatsCanGo.Add(new Kordinat {
                        X = x, Y = y
                    });
                }
            }
            StopTry = false;
            x       = TasKordinat.X;
            y       = TasKordinat.Y;
            for (int i = 0; i < 8; i++)
            {
                if (StopTry)
                {
                    break;
                }
                x += +1;
                y += -1;

                if (CanGo(x, y))
                {
                    KordinatsCanGo.Add(new Kordinat {
                        X = x, Y = y
                    });
                }
            }
            StopTry = false;
            x       = TasKordinat.X;
            y       = TasKordinat.Y;
            for (int i = 0; i < 8; i++)
            {
                if (StopTry)
                {
                    break;
                }
                x += -1;
                y += +1;


                if (CanGo(x, y))
                {
                    KordinatsCanGo.Add(new Kordinat {
                        X = x, Y = y
                    });
                }
            }

            StopTry = false;

            #endregion
        }
コード例 #8
0
        public override void MakeCangoList()
        {
            KordinatsCanGo.Clear();
            try
            {
                int x = TasKordinat.X, y = TasKordinat.Y;
                y += 2;
                x += 1;
                if (CanGo(x, y))
                {
                    KordinatsCanGo.Add(new Kordinat {
                        X = x, Y = y
                    });
                }

                x  = TasKordinat.X;
                y  = TasKordinat.Y;
                y += 2;
                x += -1;
                if (CanGo(x, y))
                {
                    KordinatsCanGo.Add(new Kordinat {
                        X = x, Y = y
                    });
                }

                x  = TasKordinat.X;
                y  = TasKordinat.Y;
                y += -2;
                x += -1;
                if (CanGo(x, y))
                {
                    KordinatsCanGo.Add(new Kordinat {
                        X = x, Y = y
                    });
                }

                x  = TasKordinat.X;
                y  = TasKordinat.Y;
                y += -2;
                x += 1;
                if (CanGo(x, y))
                {
                    KordinatsCanGo.Add(new Kordinat {
                        X = x, Y = y
                    });
                }

                x  = TasKordinat.X;
                y  = TasKordinat.Y;
                y += 1;
                x += 2;
                if (CanGo(x, y))
                {
                    KordinatsCanGo.Add(new Kordinat {
                        X = x, Y = y
                    });
                }

                x  = TasKordinat.X;
                y  = TasKordinat.Y;
                y += 1;
                x += -2;

                if (CanGo(x, y))
                {
                    KordinatsCanGo.Add(new Kordinat {
                        X = x, Y = y
                    });
                }

                x  = TasKordinat.X;
                y  = TasKordinat.Y;
                y += -1;
                x += 2;
                if (CanGo(x, y))
                {
                    KordinatsCanGo.Add(new Kordinat {
                        X = x, Y = y
                    });
                }

                x  = TasKordinat.X;
                y  = TasKordinat.Y;
                y += -1;
                x += -2;
                if (CanGo(x, y))
                {
                    KordinatsCanGo.Add(new Kordinat {
                        X = x, Y = y
                    });
                }
            }
            catch (Exception e)
            {
            }
        }