75 lines
2.5 KiB
C#
75 lines
2.5 KiB
C#
using System;
|
|
using System.Windows.Forms;
|
|
|
|
namespace Chess
|
|
{
|
|
public partial class WybranieFigury : Form
|
|
{
|
|
private WybranieFigury()
|
|
{
|
|
InitializeComponent();
|
|
LeftArrow.Click += ButtonClick;
|
|
RightArrow.Click += ButtonClick;
|
|
ApplyButton.Click += ButtonClick;
|
|
}
|
|
|
|
private readonly Pole clickedTile;
|
|
private int position = 0;
|
|
private readonly string[] keys = { "BQueen", "BBishop", "BRook", "BKnight" };
|
|
private readonly Kolor waitingPlayer;
|
|
public static bool waiting { get; private set; } = false;
|
|
public WybranieFigury(Pole clickedTile) : this()
|
|
{
|
|
waiting = true;
|
|
waitingPlayer = Szachownica.KogoTerazTura == Kolor.WHITE ? Kolor.BLACK : Kolor.WHITE;
|
|
Szachownica.KogoTerazTura = Kolor.NONE;
|
|
this.clickedTile = clickedTile;
|
|
if (clickedTile.GetY == 0)
|
|
{
|
|
for (int i = 0; i < keys.Length; i++)
|
|
{
|
|
keys[i] = keys[i].Remove(0, 1);
|
|
keys[i] = 'W' + keys[i];
|
|
}
|
|
}
|
|
|
|
Preview.Image = Pole.FiguryObrazy[keys[position]];
|
|
}
|
|
public void ButtonClick(object sender, EventArgs e)
|
|
{
|
|
switch (((Button)sender).Name)
|
|
{
|
|
case "RightArrow": position++; break;
|
|
case "LeftArrow": position--; break;
|
|
default: Close(); break;
|
|
}
|
|
if (position < 0)
|
|
{
|
|
position = keys.Length - 1;
|
|
}
|
|
|
|
if (position > keys.Length - 1)
|
|
{
|
|
position = 0;
|
|
}
|
|
|
|
Preview.Image = Pole.FiguryObrazy[keys[position]];
|
|
}
|
|
protected override void OnClosed(EventArgs e)
|
|
{
|
|
waiting = false;
|
|
clickedTile.figura = new Figura(keys[position], clickedTile);
|
|
Szachownica.KogoTerazTura = waitingPlayer;
|
|
Figura.ZaaktualizujWszystkieAtaki();
|
|
Posuniecie Search = new Posuniecie();
|
|
if (Search.SyndromOblezonejTwierdzy())
|
|
{
|
|
Szachownica.Window.GameState.Text = "CHECK";
|
|
Szachownica.Window.GameState.ForeColor = System.Drawing.Color.Firebrick;
|
|
Szachownica.Window.GameState.Visible = true;
|
|
}
|
|
_ = Search.Mat();
|
|
base.OnClosed(e);
|
|
}
|
|
}
|
|
} |