не все пути кода возвращают значение

Я получил эту ошибку компилятора, в чем проблема?

public PictureBox getinfo(int i, int j) { return grid[i, j]; } public PictureBox kingmove(int i, int j)///<-----the problem is here { getinfo(i, j); if (i < 9) { grid[i, j] = grid[i - 1, j - 1]; } else { grid[i, j] = grid[i, j]; } 

У вашего второго метода нет оператора return но тип возвращаемого значения отличается от void .
Добавьте оператор return в конце метода, а не в начале.

И вы могли бы отредактировать это в своем предыдущем вопросе.

То, как вы смешиваете пользовательский интерфейс и логику игры, тоже некрасиво. Игровая логика ничего не должна знать о WinForms, картинных ящиках, …
Вместо этого напишите функцию, которая принимает gamestate и превращает ее в некоторый элемент управления / bitmap / picturebox / …