Monday, March 26, 2012

Παράδειγμα Εφαρμογής - Μέρος 1β

Στη σημερινή ανάρτηση θα κάνουμε μια μικρή ανάλυση του προβλήματος, ώστε να είμαστε στον ίδιο παρονομαστή και να συνεννοούμαστε.

Οι κανόνες του παιχνιδιού Tic-Tac-Toe που θέλουμε να υλοποιήσουμε είναι οι εξής:

1. Στο παιχνίδι συμμετέχουν δύο παίχτες.
2. Η πρώτη κίνηση είναι πάντα του Παίχτη 1.
3. Ο ένας παίχτης γράφει 'Χ' και ο άλλος γράφει 'Ο'.
4. Οι παίκτες παίζουν εναλλάξ, με μια κίνηση κάθε φορά
5. Έχουμε ένα ταμπλό με 9 θέσεις
6. Ο κάθε παίχτης μπορεί να γράψει σε οποιαδήποτε κενή θέση
7. Το παιχνίδι τελειώνει όταν:
   α. Κάποιος παίχτης συμπληρώσει οριζόντια ή κάθετα ή οριζόντια τρεις θέσεις (με το σύμβολό του)
   β. Δεν υπάρχουν άλλες κενές θέσεις, όπου έχουμε ισοπαλία


Υπάρχουν πάρα πολλοί τρόποι να υλοποιηθεί αυτό το παιχνίδι. Εγώ θα το προσεγγίσω με ένα τρόπο ο οποίος θα μου επιτρέψει να χρησιμοποιήσω όσο το δυνατό περισσότερο τις δυνατότητες της γλώσαας C# και ευρύτερα του εργαλείου Visual Studio. (για να μη νομίζεται ότι κάνουμε τα απλά πολύπλοκα για την πλάκα).


Αντικειμενοστρέφεια ή αλλιώς Object Oriented

Η C# είναι αντικειμενοστραφής γλώσσα. Αυτό σημαίνει ότι για να τη χρησιμοποιούμε σωστά και να την αξιοποιούμε στο μέγιστο πρέπει να μπορούμε να αναγάγουμε κάθε πρόβλημα σε κλάσεις και αντικείμενα.

Κλάσεις που εντοπίζουμε:

1. Παίκτης
2. Πίνακας Παιχνιδιού (board)

Τον πίνακα του παιχνιδιού ήδη αρχίσαμε να τον υλοποιούμε. Η φόρμα που φτιάξαμε στο προηγούμενο μέρος, ήταν μια κλάση που αναπαριστά τον πίνακα του παιχνιδιού. (φυσικά δεν την έχουμε ολοκληρώσει ακόμα).


Ανάλυση Κλάσεων:

Α. Παίκτης:

  Χαρακτηριστικά:
1. Σύμβολο ( 'Χ' ή 'Ο' )
2. Σειρά (πρώτος, δεύτερος)
3. Αριθμός κινήσεων

Ενέργειες (Μεθόδοι)
1. Κάνε κίνηση [γράψε το σύμβολο σε συγκεκριμένο κελί του πίνακα]
2. Έλεγξε εάν έχεις νικήσει

Β. Πίνακας:

Χαρακτηριστικά:

1. Παίκτες (2 παίκτες)
2. Αριθμός κινήσεων


Ενέργειες:

1. Εντόπισε όταν ο χρήστης θέλει να κάνει κίνηση και ενημέρωσε τον παίκτη που είναι η σειρά του.
2. Εμφάνισε το σύμβολο του παίκτη στο κελί που έχει επιλέξει
3. Έλεγξε κατά πόσο το παιχνίδι έχει τελειώσει


Θα σας αφήσω μέχρι εδώ, να το σκεφτείτε λίγο, και στο επόμενο μέρος θα έχουμε και βιντεάκι - όπου θα υλοποιήσουμε τα πιο πάνω (μέχρι ως ένα σημείο).


No comments:

Post a Comment