private void Border_MouseUp(object sender, MouseEventArgs e) { if (CurrentBoard.IsGameOver) return; Network network = GetValidNetwork(); if (network != null) Bot = new NeuralNetBot(Checker.Green, network, 0); else if (Mode != GameMode.HumanVHuman) return; int column = (int)(sender as Border).GetValue(Grid.ColumnProperty); if (IsColumnFull(column)) return; if (Mode == GameMode.HumanVComputer) { double score; int column2; CurrentBoard.AddChecker(Checker, column); if (CurrentBoard.IsGameOver) { AddChecker(Checker, column, updateBoard: false); GameOverAnimation(); return; } Bot.SelectMove(CurrentBoard, out column2, out score); CurrentBoard.AddChecker(Board.Toggle(Checker), column2); BatchAddCheckers(Checker, new List<int> { column, column2 }, updateBoard: false); } else { AddChecker(Checker, column); Checker = Board.Toggle(Checker); } if (CurrentBoard.IsGameOver) GameOverAnimation(); }