Durch die Integration eines Schachspiels in MVVMCross werden mehrere Schritte eingeführt, einschließlich der Einrichtung des MVVMCross -Frameworks, der Gestaltung der Schachspiellogik und der Implementierung der Benutzeroberfläche. Hier ist eine detaillierte Anleitung, wie Sie dies erreichen können:
Schritt 1: MVVMCROSS einrichten
Zunächst müssen Sie ein MVVMCross -Projekt einrichten. Dies beinhaltet das Erstellen eines Kernprojekts, das gemeinsam genutzten Code wie Ansichtsmodelle und -modelle sowie plattformspezifische Projekte für Android und iOS enthält.
1. Erstellen eines Kernprojekts: Dieses Projekt wird eine tragbare Klassenbibliothek (PCL) oder eine .NET -Standardbibliothek sein. Es enthält Ihre Ansichtsmodelle, Modelle und Geschäftslogik.
2. Erstellen Sie plattformspezifische Projekte: Erstellen Sie für Android und iOS separate Projekte, die die Benutzeroberfläche und den plattformspezifischen Code enthalten.
3. Installieren Sie MVVMCross-Nuget-Pakete: Installieren Sie die MVVMCross-Nuget-Pakete sowohl in den Kern- als auch in plattformspezifischen Projekten. Sie können dies mit der Paket-Manager-Konsole mit dem Befehl "Installpackage mvvmcross` [3] tun.
Schritt 2: Entwerfen der Schachspiellogik
Die Schachspiellogik befindet sich im Kernprojekt. Dies schließt die Regeln für Schach-, Stückbewegungen und Spielstaatenmanagement ein.
1. Erstellen Sie Schachmodelle: Definieren Sie Klassen für Schachstücke (z. B. `piece`,` pawn`, `Knight` usw.) und das Schachbrett (` board`).
2. Implementieren Sie Spiellogik: Erstellen Sie eine Dienst- oder Managerklasse (`chessgamemanager
3.. Verwenden Sie die Abhängigkeitsinjektion: Registrieren Sie das "Chessgamememanager" im IOC -Container in der "App" -Klasse des Kernprojekts, um es während der gesamten Anwendung zugänglich zu machen [2].
Schritt 3: Implementierung der Benutzeroberfläche
Für die Benutzeroberfläche erstellen Sie Ansichten in den plattformspezifischen Projekten.
1. Android Views: Erstellen Sie im Android -Projekt Layouts für das Schachbrett und die Stücke. Verwenden Sie die Datenbindungsfunktionen von MVVMCross, um die UI -Elemente an die View -Modelle zu binden.
2. IOS -Ansichten: Erstellen Sie in ähnlicher Weise im iOS -Projekt Ansichten für das Schachbrett und die Stücke. Verwenden Sie die Datenbindung von MVVMCross, um die UI -Elemente mit den Ansichtsmodellen zu verbinden.
3. Shared UI Logic: Wenn möglich, teilen Sie die UI -Logik mithilfe von Xamarin.Forms oder durch Erstellen benutzerdefinierter Steuerelemente, die über Plattformen verwendet werden können.
Schritt 4: Integration der Schachlogik in mvvmcross
1. Erstellen Sie Schachansichtsmodelle: Erstellen Sie im Kernprojekt Ansichtsmodelle (`chessviewModel`), die mit dem` chessgamemanager` interagieren. Diese Ansichtsmodelle enthüllen Eigenschaften und Befehle, an die die Benutzeroberfläche binden kann.
2. Navigieren Sie zwischen Ansichten: Verwenden Sie die Navigationsfunktionen von MVVMCross, um sich zwischen verschiedenen Ansichten des Schachspiels zu bewegen, z. B. vom Hauptmenü zum Spielbrett.
3. Passparameter: Verwenden Sie den Parameterübergangsmechanismus von MVVMCross, um Daten zwischen Ansichtsmodellen wie dem aktuellen Spielzustand zu übergeben [1].
Schritt 5: Testen und Bereitstellung
1. Unit -Test: Verwenden Sie die Unit -Testhelfer von MVVMCross, um Tests für Ihre Ansichtsmodelle und Ihre Spiellogik zu schreiben.
2. UI -Test: Führen Sie UI -Tests auf jeder Plattform durch, um sicherzustellen, dass das Schachspiel wie erwartet funktioniert.
3. Bereitstellen Sie die App: Sobald alles getestet und funktioniert, stellen Sie die App in den jeweiligen App -Stores bereit.
Wenn Sie diese Schritte befolgen, können Sie ein Schachspiel in MVVMCross integrieren und seine plattformübergreifenden Funktionen nutzen, um Code und Logik zwischen Android- und iOS-Plattformen zu teilen.
Zitate:[1] https://www.packtpub.com/en-us/learning/how-to-tutorials/sharing-mvmcross
[2] https://www.mvmcross.com/documentation/advanced/customizing-using-app-setup
[3] https://github.com/mvvmcross/mvmcross
[4] https://stackoverflow.com/questions/50111506/how-do-i-specify-t-use-view-from-shared-project-in-mvmcross-6-0
[5] https://leaware.com/creating-cross-platform-xamarin-applications-using-the-mvmcross-framework/
[6] https://www.chessnutech.com
[7] https://www.mvmcross.com/documentation/getting-started/getting-started
[8] http://squareoffnow.com