Интеграция шахматной игры с MVVMcross включает в себя несколько шагов, включая настройку фреймворка MVVMcross, разработка логики шахматных игр и реализацию пользовательского интерфейса. Вот подробное руководство о том, как достичь этого:
Шаг 1: Настройка mvvmcross
Во -первых, вам нужно настроить проект MVVMcross. Это включает в себя создание основного проекта, который будет содержать общий код, такой как модели и модели просмотра, а также специфичные для платформы проекты для Android и iOS.
1. Создайте основной проект: этот проект будет портативной библиотекой классов (PCL) или .NET Standard Library. Он будет содержать ваши модели, модели и бизнес -логику.
2. Создайте проекты, специфичные для платформы: для Android и iOS создайте отдельные проекты, которые будут содержать пользовательский интерфейс и код, специфичный для платформы.
3. Установите пакеты MVVMcross NUGET: Установите пакеты MVVMcross Nuget как в основных, так и в проектах, специфичных для платформы. Вы можете сделать это с помощью консоли диспетчера пакетов с командой `install-package mvvmcross` [3].
Шаг 2: Разработка логики шахматной игры
Логика шахматной игры будет находиться в основном проекте. Это включает в себя правила шахмат, движения произведений и управление государством игры.
1. Создайте шахматные модели: определить классы для шахматных кусочков (например, `piece`,` pawn`, `knight 'и т. Д.) И шахматная доска (` `` `).
2. Реализуйте игровой логику: создайте класс услуг или менеджера (`chessgamemanager`), который обрабатывает игровую логику, такую как перемещение произведений, проверка на Checkmate и управление поворотами.
3. Используйте инъекцию зависимостей: зарегистрируйте `chessgamemanager` в контейнере IOC в классе App` основного проекта, чтобы сделать его доступным на протяжении всего приложения [2].
Шаг 3: Реализация пользовательского интерфейса
Для пользовательского интерфейса вы создадите представления в проектах по конкретной платформе.
1. Просмотры Android: в проекте Android создайте макеты для шахматной платы и кусочков. Используйте возможности привязки данных MVVMcross, чтобы связать элементы пользовательского интерфейса с моделями View.
2. Просмотры iOS: Точно так же, в проекте iOS, создайте представления для шахматной доски и произведений. Используйте привязку данных MVVMcross, чтобы подключить элементы пользовательского интерфейса к моделям View.
3. Общая логика пользовательского интерфейса: если возможно, поделитесь логикой пользовательского интерфейса с помощью xamarin.forms или создания пользовательских элементов управления, которые можно использовать на всех платформах.
Шаг 4: Интеграция шахматной логики с mvvmcross
1. Создайте модели шахматных представлений: в основном проекте создайте модели просмотра (`chessviewmodel`), которые взаимодействуют с` chessgamemanager '. Эти модели представления будут выявлять свойства и команды, с которыми может связываться пользовательский интерфейс.
2. Перейдите между представлениями: используйте навигационные функции MVVMcross, чтобы перемещаться между различными видами шахматной игры, например, от основного меню к игровому совету.
3. Передайте параметры: используйте механизм передачи параметров MVVMcross для передачи данных между моделями представления, такими как текущее состояние игры [1].
Шаг 5: Тестирование и развертывание
1. ЕДИНЦИОННЫЕ ТЕСТИ: Используйте помощников MVVMcross для записи тестов для ваших моделей просмотра и игровой логики.
2. Тестирование пользовательского интерфейса: выполните тесты пользовательского интерфейса на каждой платформе, чтобы гарантировать, что шахматная игра работает как ожидалось.
3. Разверните приложение: как только все будет протестировано и работает, разверните приложение в соответствующие магазины приложений.
Следуя этим шагам, вы можете интегрировать шахматную игру с MVVMcross, используя ее кроссплатформенные возможности для обмена кодом и логикой между платформами Android и iOS.
Цитаты:[1] https://www.packtpub.com/en-us/learning/how-to-tutorials/sharing-mvvmcross
[2] https://www.mvvmcross.com/documentation/advanced/customizing-using-app-and-setup
[3] https://github.com/mvvmcross/mvvmcross
[4] https://stackoverflow.com/questions/50111506/how-do-i-pecify-to-use-view-from share-project-in-in-mvvmcross-6-0
[5] https://leaware.com/creating-cross-platform-xamarin-applications-using-the-mvvmcross-framework/
[6] https://www.chessnutech.com
[7] https://www.mvvmcross.com/documentation/getting-started/getting-started
[8] http://squareoffnow.com