Βίντεο: Programming - Computer Science for Business Leaders 2016 2024
Στην πρόκληση προγραμματισμού Java: Ένα απλό παιχνίδι Tic-Tac-Toe σας ζητήθηκε να γράψετε ένα πρόγραμμα βασισμένο στην κονσόλα που παίζει το απλό παιχνίδι του Tic-Tac-Toe. Η πρόκληση προγραμματισμού Java εδώ είναι να χρησιμοποιήσετε το Swing για να προσθέσετε μια γραφική διεπαφή χρήστη (GUI) στο πρόγραμμα. Το GUI θα πρέπει να μοιάζει με αυτό που φαίνεται εδώ.
Το παιχνίδι είναι απλό. Ο άνθρωπος παίζει αρχικά κάνοντας κλικ σε οποιοδήποτε από τα τετράγωνα. Το τετράγωνο που κάνει κλικ από τον άνθρωπο εμφανίζει ένα μεγάλο X. Μετά τα ανθρώπινα παιχνίδια, το πρόγραμμα καθορίζει εάν ο άνθρωπος έχει κερδίσει ή αναγκάσει ισοπαλία. Αν ναι, εμφανίζεται ένα μήνυμα, η πλακέτα επαναφέρεται και αρχίζει ένα νέο παιχνίδι. Εάν όχι, ο υπολογιστής επιλέγει μια κίνηση και σημειώνει το τετράγωνό του με ένα μεγάλο O.
Το πρόγραμμα καθορίζει αν ο υπολογιστής έχει κερδίσει το παιχνίδι. Αν ναι, το πρόγραμμα εμφανίζει ένα μήνυμα, επαναφέρει το συμβούλιο και ξεκινά ένα νέο παιχνίδι. Αν όχι, ο άνθρωπος παίζει ξανά. Αυτό συνεχίζεται έως ότου ένας παίκτης κερδίσει ή γεμίσει όλα τα τετράγωνα.
Το πρόγραμμά σας θα πρέπει να χρησιμοποιεί την ίδια κλάση TicTacToeBoard που δημιουργείτε για Java Challenge Programming: Προσθήκη κλάσης στο απλό πρόγραμμα Tic-Tac-Toe. Με άλλα λόγια, πρέπει να εφαρμόσει τις ίδιες ακριβώς μεθόδους. Για την ευκολία σας, οι μέθοδοι αυτές επαναλαμβάνονται στον παρακάτω πίνακα.
int isGameOver ()
Προσδιορίζει αν το παιχνίδι έχει τελειώσει. Επιστρέφει 0 εάν το παιχνίδι δεν έχει τελειώσει, 1 εάν X έχει κερδίσει το παιχνίδι, 2 εάν O έχει κερδίσει το παιχνίδι και 3 εάν το παιχνίδι είναι ισοπαλία. Οι συνθήκες τερματισμού του παιχνιδιού έχουν ως εξής:
1: Αν οποιαδήποτε σειρά, στήλη ή διαγώνιος περιέχει όλα τα X's.
int getNextMove ()
Επιστρέφει έναν ακέραιο που αντιπροσωπεύει την επόμενη κίνηση για τον αντίπαλο του υπολογιστή. Αυτή η μέθοδος θα πρέπει να κάνει μια στοιχειώδη προσπάθεια για να επιλέξετε μια καλή κίνηση, σύμφωνα με την ακόλουθη στρατηγική:
* Αν το κέντρο (τετράγωνο B2) είναι άδειο, παίξτε το κεντρικό τετράγωνο.
String toString ()
Επιστρέφει μια συμβολοσειρά που αντιπροσωπεύει την τρέχουσα κατάσταση της πλακέτας. Η συμβολοσειρά περιλαμβάνει χαρακτήρες νέας γραμμής για την εμφάνιση των γραμμών καθώς και των γραμμών διαχωρισμού σε ξεχωριστές γραμμές κονσόλας, όπως σε αυτό το παράδειγμα:
O | | O
- | - | -
| X |
- | - | - | X | Θα βρείτε τη λύση αυτής της πρόκλησης στην καρτέλα "Λήψεις" της σελίδας προϊόντων
Java All-in-One For Dummies,
4η έκδοση. Καλή τύχη!