Общая структура классов программы:
Commands.cs – регистрация своих команд
NonReloadingTabControl.cs – реализация вкладки браузера, которая не тратит ресурсы на перерисовку
MenuHandler.cs – открытие меню программы при клике на правую кнопку мыши
BrowserTabViewModel.cs – связывающий слой (viewModel) приложения
BrowserTabView.xaml – файл разметки основного функционала браузера (кнопки вперед, назад, обновить, домашняя страница)
App.xaml – файл разметки, в котором определяются стили (ресурсы), используемые во всем приложении
App.xaml.cs – программный код файла разметки
MainWindow.xaml – файл разметки главного окна приложения
MainWindow.xaml.cs – программный код файла разметки
RelayCommand.cs – реализация интерфейса Icommand, класс позволяет использовать команды в приложении более надежно
Открываем приложение, нас встречает главный экран, на котором присутствуют меню и пустое игровое поле (см. Рисунок 4).
Рисунок 4 - Главный экран приложения
Открываем элемент меню «Игра», в котором есть элементы «Новая игра», «Сброс» и «Выход». В элементе «Новая игра» присутствует возможность выбора количество ботов и режима игры 2 на 2 (см. Рисунок 5). Элемент «Сброс» сбрасывает игру. Элемент «Выход» выполняет выход из приложения.
Рисунок 5 - Элемент меню "Игра"
Открываем элемент меню «Настройки», в котором есть элементы: скорость игры, максимальное количество очков, показывать имена игроков, изменить имена игроков, изменить цвета для очков. Также присутствует элемент «О приложении» (см. Рисунок 6).
Рисунок 6 – Настройки
Создаем новую игру с двумя противниками. Первый ход выполняет тот, у кого есть кость (1:1) и дальше по часовой стрелке (см. Рисунок 7).
Рисунок 7 - Новая игра с 2 оппонентами
Боты выполнили свой ход по созданному алгоритму. Пользователь может выполнить свой ход сразу если у него есть в наличии нужные кости или взять их из остатка и сделать ход. Если кости в остатке заканчиваются, то ход пропускается. После этого ход передается по часовой стрелке.
Достарыңызбен бөлісу: |