Skip to content

Аналог игры "Сапер" из состава стандартных программ для Windows OS

License

Notifications You must be signed in to change notification settings

ptrvsrg/minesweeper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Задание 3. Шаблон проектирования "MVC", графический интерфейс пользователя (GUI).

Testing

Постановка задачи

Написать аналог игры Сапер (Minesweeper) из состава стандартных программ для Windows OS;

Требования к программе

  1. Архитектура программы должна быть основана на паттерне MVC (Mode-View-Controller);
  2. Программа должна иметь два интерфейса – текстовый и графический, причем оба интерфейса должны использовать одну и ту же игровую модель (классы данных и логики должны быть одинаковые для текстового и графического интерфейсов);
  3. Размер поля и количество мин можно изменить. По умолчанию поле размером $9x9$ и количество мин - 10;
  4. Игра должна поддерживать таблицу рекордов.
  5. Пользователю должны быть доступны команды:
    • Exit;
    • About;
    • New Game;
    • High Scores;
  6. Отчет времени должен быть реализован отдельным потоком;

Пример структуры программы

/ru/nsu/ccfit/ФАМИЛИЯ/minesweeper – основные классы программы;
/ru/nsu/ccfit/ФАМИЛИЯ/minesweeper/text – классы текстового интерфейса пользователя;
/ru/nsu/ccfit/ФАМИЛИЯ/minesweeper/gui – классы графического интерфейса;
/ru/nsu/ccfit/ФАМИЛИЯ/minesweeper/resources – картинки и другие ресурсы;

Реализация текстового UI

  1. Команды пользователя вводятся с консоли, ячейки нумеруются от нуля;
  2. После каждого хода игрока все игровое поле распечатывается на экран целиком;

Реализация графического UI

  1. Мины и флажки отображать с помощью картинок;
  2. При формировании окна игры использовать класс LayoutManager. Для расположения элементов на игровой панели рекомендуется использовать класс GridBagLayout. Для расположения ячеек поля рекомендуется использовать класс GridLayout;

Методические указания:

  1. Шаблон проектирования MVC:
  2. Для реализации пользовательского интерфейса использовать библиотеку Swing (классы из пакета javax.swing.*).
  3. Работа с компонентами пользовательского интерфейса (классами библиотеки Swing) должна проходить только из UI потока.
  4. Для отображения диалоговых окон рекомендуется использовать класс JOptionPane.

About

Аналог игры "Сапер" из состава стандартных программ для Windows OS

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages