Η ενσωμάτωση ενός παιχνιδιού σκακιού με το 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 ', κλπ.) Και το σκάκι (` board').
2. Εφαρμογή λογικής παιχνιδιών: Δημιουργήστε μια κλάση υπηρεσίας ή διαχειριστή (`chessgamemanager ') που χειρίζεται τη λογική παιχνιδιών, όπως τα κινούμενα κομμάτια, τον έλεγχο για το meckmate και τη διαχείριση των στροφών.
3. Χρησιμοποιήστε την ένεση εξάρτησης: Καταχωρήστε το `chessgamemanager 'στο δοχείο της IOC στην κατηγορία` app` του βασικού έργου για να το κάνει προσβάσιμο σε όλη την εφαρμογή [2].
Βήμα 3: Εφαρμογή της διεπαφής χρήστη
Για τη διεπαφή χρήστη, θα δημιουργήσετε προβολές στα συγκεκριμένα έργα.
1. Προβολές Android: Στο έργο Android, δημιουργήστε διατάξεις για το σκάκι και κομμάτια. Χρησιμοποιήστε τις δυνατότητες δέσμευσης δεδομένων του MVVMCROSS για να δεσμεύσετε τα στοιχεία UI στα μοντέλα προβολής.
2. Προβολές iOS: Ομοίως, στο έργο iOS, δημιουργήστε προβολές για το σκάκι και κομμάτια. Χρησιμοποιήστε τη δέσμευση δεδομένων MVVMCROSS για να συνδέσετε τα στοιχεία UI στα μοντέλα προβολής.
3. Κοινή λογική UI: Εάν είναι δυνατόν, μοιραστείτε τη λογική UI χρησιμοποιώντας το xamarin.forms ή με τη δημιουργία προσαρμοσμένων ελέγχων που μπορούν να χρησιμοποιηθούν σε όλες τις πλατφόρμες.
Βήμα 4: Ενσωμάτωση λογικής σκακιού με MVVMCROSS
1. Δημιουργία μοντέλων προβολής σκακιού: Στο βασικό έργο, δημιουργήστε μοντέλα προβολής (`chessviewModel ') που αλληλεπιδρούν με το` chessgamemanager'. Αυτά τα μοντέλα προβολής θα εκθέσουν ιδιότητες και εντολές που μπορεί να δεσμεύσει το UI.
2. Πλοηγηθείτε μεταξύ των προβολών: Χρησιμοποιήστε τα χαρακτηριστικά πλοήγησης του MVVMCROSS για να μετακινήσετε μεταξύ διαφορετικών προβολών του παιχνιδιού σκακιού, όπως από το κύριο μενού στο πίνακα παιχνιδιών.
3. Παράμετροι PASS: Χρησιμοποιήστε τον μηχανισμό PARMETER MVVMCROSS για να περάσετε δεδομένα μεταξύ μοντέλων προβολής, όπως η τρέχουσα κατάσταση παιχνιδιού [1].
Βήμα 5: Δοκιμές και ανάπτυξη
1. Δοκιμή μονάδας: Χρησιμοποιήστε βοηθούς δοκιμών μονάδας MVVMCROSS για να γράψετε δοκιμές για τα μοντέλα προβολής και τη λογική παιχνιδιού.
2. Δοκιμές UI: Εκτελέστε δοκιμές UI σε κάθε πλατφόρμα για να βεβαιωθείτε ότι το παιχνίδι σκακιού λειτουργεί όπως αναμένεται.
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-specify-to-use-view-from-shared-project-in-mvvmcross-6-0
[5] https://leaware.com/creating-cross-platform-xamarin-pplications-using-the-mvmcross-framework/
[6] https://www.chessnutech.com
[7] https://www.mvvmcross.com/documentation/getting-started/getting-started
[8] http://squareoffnow.com