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();
        }