Задание №13
«Сапер»

Описание задачи

Игровое поле состоит из NхM ячеек (числа N<17 и M<31 задаются в настройках игры). В некоторых ячейках скрыты «мины», количество мин также задается в настройках игры. В игре участвует один игрок. Задача игрока состоит в том, чтобы как можно быстрее найти все мины на минном поле, не вскрыв ни одну из них. Если открываемая ячейка содержит мину, игрок проиграл.

  • Игрок имеет возможность открыть любую ячейку, щелкнув ее левой кнопкой мыши. Если открываемая ячейка содержит мину, игрок проиграл.
  • Если мины нет, в ячейке появится цифра, которая указывает, сколько мин находится в восьми смежных с ней ячейках.
  • Чтобы пометить ячейку, в которой по вашему мнению находится мина, щелкните ее правой кнопкой мыши.
  • Игровое поле состоит из счетчика мин, секундомера и минного поля.

 

Функциональные требования:
  1. Программа должна визуализировать игровое поле и происходящие на нем изменения.
  2. По ходу игры программа должна вести протокол игры, в который будут заноситься информационные сообщения о сделанных ходах.