protected int[] MoveKnightRandomly(ArrayList posibilities)
        {
            int[] empty = new int[0];

            if (posibilities.Count == 0)
            {
                return(empty);
            }

            int index = random.Next(0, posibilities.Count);

            int[] nextPosition = (int[])posibilities[index];

            HistoryMoves.Add(nextPosition);

            return(nextPosition);
        }
 /// <summary>
 /// Restart the chessboard for the next simulation
 /// </summary>
 public void Restart()
 {
     HistoryMoves.Clear();
     HistoryMoves.Add(TheKnightStartPosition);
 }
 public HeuristicsMethod(int[] startPosition)
 {
     //Update the knight start position in parent (Method.cs)
     TheKnightStartPosition = startPosition;
     HistoryMoves.Add(startPosition);
 }
 public NonIntelligentMethod(int[] startPosition)
 {
     //Update the knight start position in parent (Method.cs)
     TheKnightStartPosition = startPosition;
     HistoryMoves.Add(startPosition);
 }