private async void CellClicked(object sender, EventArgs e) { CellView clickedCell = (CellView)sender; if (!clickedCell.model.resolved && game.MovePossible(clickedCell.model) && game.IsPlayerTurn()) { resetBackColor(cellBackground); game.PlayMove(clickedCell.model); roundPictureBox4.Show(); roundPictureBox1.Hide(); resetBackColor(cellBackground); CheckWin(); if (!game.IsPlayerTurn()) { UseWaitCursor = true; label1.Show(); int moveIndeks = await Task.Run(() => game.minmax.GetTurn()); game.PlayMove(game.currPossibleMoves[moveIndeks]); label1.Hide(); UseWaitCursor = false; roundPictureBox4.Hide(); roundPictureBox1.Show(); CheckWin(); } } }
public Form1(string name, int player, int depth, Image avatar, Form2 form) { InitializeComponent(); DoubleBuffered = true; roundPictureBox2.Image = avatar; form2 = form; game = new Game.Game(player, depth); SetModels(); SetSubscribers(); humanPlayer = player; DrawPlayerSigns(humanPlayer); if (!game.IsPlayerTurn()) { int moveIndeks = game.minmax.GetTurn(); game.PlayMove(game.currPossibleMoves[moveIndeks]); CheckWin(); } labelName.Text = name; gameThread = new Thread(() => { game.minmax.GetTurn(); CheckWin(); }); if (form2.NightMode) { DarkMode(); } else { LightMode(); } }