Esempio n. 1
0
 public Form2(Piyon piyon)
 {
     InitializeComponent();
     this.isblack = piyon.İsBlack;
     this.X       = piyon.TasKordinat.X;
     this.Y       = piyon.TasKordinat.Y;
     Form1.MevcutTaslar.Remove(piyon);
 }
Esempio n. 2
0
        private void ChessButton_MouseDown(object sender, MouseEventArgs e)  //Tahtadaki Karelerin MouseDown eventi ..
        {
            if (Form1.isblack != TurnOfBlack)
            {
                MessageBox.Show("Karşı Hamle Bekleniyor !!");
                return;
            }

            ChessButton castedbutton = (ChessButton)sender;

            if (castedbutton.Tas != null)
            {
                castedbutton.Tas.MakeCangoList();

                foreach (Kordinat VARIABLE in castedbutton.Tas.KordinatsCanGo)
                {
                    if (VARIABLE.KordinatType == KordinatType.Attack && castedbutton.Tas.TasTipi == TasTipi.Piyon)
                    {
                        Piyon asd = (Piyon)castedbutton.Tas;
                        if (Squares[VARIABLE.Y, VARIABLE.X].Tas == null)
                        {
                            continue;
                        }
                        if (Squares[VARIABLE.Y, VARIABLE.X].Tas.İsBlack != asd.İsBlack)
                        {
                            Squares[VARIABLE.Y, VARIABLE.X].BackColor = Color.Yellow;
                        }
                    }
                    Squares[VARIABLE.Y, VARIABLE.X].BackColor = Color.Yellow;
                }

                ChessButton Sender = (ChessButton)sender; // drag drop baslangıcı
                if (Sender.Tas.İsBlack == TurnOfBlack)
                {
                    Sender.DoDragDrop(Sender, DragDropEffects.Copy);
                }
                else
                {
                    PaintBoard();
                    MessageBox.Show("Sıra Karşı Tarafın ..");
                }
            }
        }
Esempio n. 3
0
        static public void CreateTas(ChessButton button, TasTipi tipi, bool renk) // Tahta Üzerinde Combobox dan seçilen taşı Oluşturur  !!
        {
            TasTipi tip = tipi;                                                   //(TasTipi)cmb_tastipi.SelectedItem


            switch (tip)
            {
            case TasTipi.Kale:
                Kale Kale = new Kale(renk)
                {
                    TasKordinat = new Kordinat {
                        X = Convert.ToInt32(button.X), Y = Convert.ToInt32(button.Y)
                    }
                };
                button.Tas    = Kale;
                button.Dolumu = true;
                MevcutTaslar.Add(Kale);
                break;

            case TasTipi.Sah:
                Sah sah = new Sah(renk)
                {
                    TasKordinat = new Kordinat {
                        X = Convert.ToInt32(button.X), Y = Convert.ToInt32(button.Y)
                    }
                };
                button.Tas = sah;
                MevcutTaslar.Add(sah);
                button.Dolumu = true;
                break;

            case TasTipi.Piyon:
                Piyon piyon = new Piyon(renk)
                {
                    TasKordinat = new Kordinat {
                        X = Convert.ToInt32(button.X), Y = Convert.ToInt32(button.Y)
                    }
                };
                button.Tas = piyon;
                MevcutTaslar.Add(piyon);
                button.Dolumu = true;
                break;

            case TasTipi.Fil:
                Fil fil = new Fil(renk)
                {
                    TasKordinat = new Kordinat {
                        X = Convert.ToInt32(button.X), Y = Convert.ToInt32(button.Y)
                    }
                };
                button.Tas = fil;
                MevcutTaslar.Add(fil);
                button.Dolumu = true;
                break;

            case TasTipi.At:
                At at = new At(renk)
                {
                    TasKordinat = new Kordinat {
                        X = Convert.ToInt32(button.X), Y = Convert.ToInt32(button.Y)
                    }
                };
                button.Tas = at;
                MevcutTaslar.Add(at);
                button.Dolumu = true;
                break;

            case TasTipi.Vezir:
                Vezir vezir = new Vezir(renk)
                {
                    TasKordinat = new Kordinat {
                        X = Convert.ToInt32(button.X), Y = Convert.ToInt32(button.Y)
                    }
                };
                button.Tas = vezir;
                MevcutTaslar.Add(vezir);
                button.Dolumu = true;
                break;
            }



            button.GetBackgroundİmage();
        }
Esempio n. 4
0
        private void chessButton_DragDrop(object sender, DragEventArgs e)
        {
            ChessButton TB = (sender as ChessButton);                          // TB = Target Button
            ChessButton DB = (ChessButton)e.Data.GetData(typeof(ChessButton)); // DB = Dragged Button

            #region Rook'ları Kontrol Eden İf blokları

            if (TB.Dolumu && DB.Tas.Tasid == Tasİd.SiyahSah && TB.Tas.Tasid == Tasİd.SiyahKisaKale && (DB.Tas as Sah).isShortRookPossible())
            {
                (DB.Tas as Sah).LetsShortRook();
                PaintBoard();
                return;
            }
            else if (TB.Dolumu && DB.Tas.Tasid == Tasİd.SiyahSah && TB.Tas.Tasid == Tasİd.SiyahUzunKale && (DB.Tas as Sah).isLongRookPossible())
            {
                (DB.Tas as Sah).LetsLongRook();
                PaintBoard();
                return;
            }
            else if (TB.Dolumu && DB.Tas.Tasid == Tasİd.BeyazSah && TB.Tas.Tasid == Tasİd.BeyazKisaKale && (DB.Tas as Sah).isShortRookPossible())
            {
                (DB.Tas as Sah).LetsShortRook();
                PaintBoard();
                return;
            }
            else if (TB.Dolumu && DB.Tas.Tasid == Tasİd.BeyazSah && TB.Tas.Tasid == Tasİd.BeyazUzunKale && (DB.Tas as Sah).isLongRookPossible())
            {
                (DB.Tas as Sah).LetsLongRook();
                PaintBoard();
                return;
            }

            #endregion

            #region Enpas'Ları Kontrol Eden İf Blokları

            else if (DB.Tas.TasTipi == TasTipi.Piyon && (DB.Tas as Piyon).isRightEnpassPossible() && ((TB.X == DB.X + 1 && TB.Y == DB.Y + 1) || (TB.X == DB.X - 1 && TB.Y == DB.Y - 1)))
            {
                (DB.Tas as Piyon).LetsRightEnpass();
                PaintBoard();
                return;
            }
            else if (DB.Tas.TasTipi == TasTipi.Piyon && (DB.Tas as Piyon).isLeftEnpastPossible() && ((TB.X == DB.X - 1 && TB.Y == DB.Y + 1) || (TB.X == DB.X + 1 && TB.Y == DB.Y - 1)))
            {
                (DB.Tas as Piyon).LetsLeftEnpass();
                PaintBoard();
                return;
            }

            bool WillEnpassEnable = false;

            if (DB.Tas.TasTipi == TasTipi.Piyon && ((TB.X == DB.X && TB.Y == DB.Y + 2) || (TB.X == DB.X && TB.Y == DB.Y - 2)))
            {
                WillEnpassEnable = true;
            }
            Piyon asd = DB.Tas as Piyon;

            #endregion

            DB.Tas.Move(TB.X, TB.Y);
            PaintBoard();

            if (WillEnpassEnable)
            {
                asd.isEnpassEnable = true;
            }
        }
Esempio n. 5
0
        /// <summary>
        /// Tcp Listenerla karşıdan gelen hamleyi karşılayan fonksiyon .
        /// </summary>
        /// <param name="GelenHamle"></param>
        public void DragDrop(Command GelenHamle)
        {
            ChessButton TB = Squares[GelenHamle.To.Y, GelenHamle.To.X];     // TB = Target Button
            ChessButton DB = Squares[GelenHamle.From.Y, GelenHamle.From.X]; // DB = Dragged Button

            #region Rook'ları Kontrol Eden İf blokları

            if (TB.Dolumu && DB.Tas.Tasid == Tasİd.SiyahSah && TB.Tas.Tasid == Tasİd.SiyahKisaKale && (DB.Tas as Sah).isShortRookPossible())
            {
                (DB.Tas as Sah).LetsShortRook();
                PaintBoard();


                return;
            }
            else if (TB.Dolumu && DB.Tas.Tasid == Tasİd.SiyahSah && TB.Tas.Tasid == Tasİd.SiyahUzunKale && (DB.Tas as Sah).isLongRookPossible())
            {
                (DB.Tas as Sah).LetsLongRook();
                PaintBoard();

                return;
            }
            else if (TB.Dolumu && DB.Tas.Tasid == Tasİd.BeyazSah && TB.Tas.Tasid == Tasİd.BeyazKisaKale && (DB.Tas as Sah).isShortRookPossible())
            {
                (DB.Tas as Sah).LetsShortRook();
                PaintBoard();

                return;
            }
            else if (TB.Dolumu && DB.Tas.Tasid == Tasİd.BeyazSah && TB.Tas.Tasid == Tasİd.BeyazUzunKale && (DB.Tas as Sah).isLongRookPossible())
            {
                (DB.Tas as Sah).LetsLongRook();
                PaintBoard();

                return;
            }

            #endregion

            #region Enpas'Ları Kontrol Eden İf Blokları

            else if (DB.Tas.TasTipi == TasTipi.Piyon && (DB.Tas as Piyon).isRightEnpassPossible() && ((TB.X == DB.X + 1 && TB.Y == DB.Y + 1) || (TB.X == DB.X - 1 && TB.Y == DB.Y - 1)))
            {
                (DB.Tas as Piyon).LetsRightEnpass();
                PaintBoard();

                return;
            }
            else if (DB.Tas.TasTipi == TasTipi.Piyon && (DB.Tas as Piyon).isLeftEnpastPossible() && ((TB.X == DB.X - 1 && TB.Y == DB.Y + 1) || (TB.X == DB.X + 1 && TB.Y == DB.Y - 1)))
            {
                (DB.Tas as Piyon).LetsLeftEnpass();
                PaintBoard();

                return;
            }

            bool WillEnpassEnable = false;

            if (DB.Tas.TasTipi == TasTipi.Piyon && ((TB.X == DB.X && TB.Y == DB.Y + 2) || (TB.X == DB.X && TB.Y == DB.Y - 2)))
            {
                WillEnpassEnable = true;
            }
            Piyon asd = DB.Tas as Piyon;

            #endregion

            DB.Tas.Move(TB.X, TB.Y);
            PaintBoard();


            if (WillEnpassEnable)
            {
                asd.isEnpassEnable = true;
            }
        }
Esempio n. 6
0
        private void ChessButton_MouseDown(object sender, MouseEventArgs e)  //Tahtadaki Karelerin MouseDown eventi ..
        {
            PaintBoard();
            ChessButton castedbutton = (ChessButton)sender;


            this.txt_tahta_x.Text = castedbutton.X.ToString();
            this.txt_tahta_y.Text = castedbutton.Y.ToString();


            if (castedbutton.Tas != null && !tasima)
            {
                Oldx = castedbutton.X;
                Oldy = castedbutton.Y;
                castedbutton.Tas.MakeCangoList();
                Holded = castedbutton.Tas;


                foreach (Kordinat VARIABLE in castedbutton.Tas.KordinatsCanGo)
                {
                    if (VARIABLE.KordinatType == KordinatType.Attack && castedbutton.Tas.TasTipi == TasTipi.Piyon)
                    {
                        Piyon asd = (Piyon)castedbutton.Tas;
                        if (Squares[VARIABLE.Y, VARIABLE.X].Tas == null)
                        {
                            continue;
                        }
                        if (Squares[VARIABLE.Y, VARIABLE.X].Tas.ÝsBlack != asd.ÝsBlack)
                        {
                            Squares[VARIABLE.Y, VARIABLE.X].BackColor = Color.Yellow;
                        }
                    }
                    Squares[VARIABLE.Y, VARIABLE.X].BackColor = Color.Yellow;
                }

                //tasima = true;
                ChessButton asdf = (ChessButton)sender;
                asdf.DoDragDrop(asdf, DragDropEffects.Copy); // drag drop baþlangýcý
            }

            //else if (tasima)
            //{
            //    if (castedbutton.X == Oldx && castedbutton.Y == Oldy)
            //    {
            //        tasima = false;
            //    }

            //    else
            //    {
            //        if ((!TurnOfBlack && Holded.ÝsBlack) || (TurnOfBlack && !Holded.ÝsBlack)) // oyun sýrasý siyahta ama oynanan tas beyazsa ve tersi durum için hata fýrlatma kýsmý
            //        {
            //            MessageBox.Show("Oynama Sýrasý Karþý Tarafýn ..");
            //            tasima = false;
            //        }
            //        else
            //        {
            //            Holded.Move(castedbutton.X, castedbutton.Y);
            //            tasima = false;

            //        }

            //    }

            //}
        }