public Form2(Piyon piyon) { InitializeComponent(); this.isblack = piyon.İsBlack; this.X = piyon.TasKordinat.X; this.Y = piyon.TasKordinat.Y; Form1.MevcutTaslar.Remove(piyon); }
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 .."); } } }
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(); }
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; } }
/// <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; } }
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; // } // } //} }