Το παιχνίδι τρίλιζα παίζεται με διαδοχικές κινήσεις δύο παικτών σε έναν πίνακα Τ[3,3]. Οι παίκτες συμπληρώνουν εναλλάξ μια θέση του πίνακα, τοποθετώντας ο μεν πρώτος το σύμβολο - χαρακτήρα ‘Χ’, ο δε δεύτερος το σύμβολο – χαρακτήρα ‘Ο’.
Νικητής είναι ο παίκτης που θα συμπληρώσει πρώτος μια τριάδα όμοιων συμβόλων σε κάποια γραμμή, στήλη ή διαγώνιο του πίνακα. Αν ο πίνακας συμπληρωθεί χωρίς νικητή, το παιχνίδι θεωρείται ισόπαλο.
Α. Να γράψετε πρόγραμμα στη «ΓΛΩΣΣΑ», το οποίο: 1. Να τοποθετεί σε κάθε θέση του πίνακα Τ τον χαρακτήρα ‘-’.
2. Για κάθε κίνηση:
α. Να δέχεται τις συντεταγμένες μιας θέσης του πίνακα Τ και να τοποθετεί στην αντίστοιχη θέση το σύμβολο του παίκτη. Να θεωρήσετε ότι οι τιμές των συντεταγμένων είναι πάντοτε σωστές (1 έως 3) είναι όμως αποδεκτές, μόνον αν η θέση που προσδιορίζουν δεν περιέχει ήδη ένα σύμβολο παίκτη.
β. Να ελέγχει εάν με την κίνησή του ο παίκτης νίκησε. Για τον σκοπό αυτόν, να καλεί τη συνάρτηση ΝΙΚΗΣΕ, που περιγράφεται στο ερώτημα Β.
3. Να τερματίζει το παιχνίδι, εφόσον σημειωθεί ισοπαλία ή νικήσει ένας από τους δύο παίκτες.
4. Να εμφανίζει με κατάλληλο μήνυμα (πρώτος παίκτης/ δεύτερος παίκτης/ισοπαλία) το αποτέλεσμα του παιχνιδιού.
Β. Να κατασκευάσετε τη συνάρτηση ΝΙΚΗΣΕ, η οποία θα δέχεται τον πίνακα Τ και τις συντεταγμένες (Γ, Σ) μιας θέσης του πίνακα και θα επιστρέφει την τιμή ΑΛΗΘΗΣ, αν υπάρχει τρεις φορές το ίδιο σύμβολο, σε τουλάχιστον μια από τις παρακάτω περιπτώσεις:
1. Στη γραμμή Γ.
2. Στη στήλη Σ.
3. Στην κύρια διαγώνιο (δηλαδή Γ = Σ).
4. Στη δευτερεύουσα διαγώνιο (δηλαδή Γ + Σ = 4).
Σε κάθε άλλη περίπτωση, η συνάρτηση να επιστρέφει την τιμή ΨΕΥΔΗΣ
Τρίτη 18 Μαΐου 2010
Εγγραφή σε:
Σχόλια ανάρτησης (Atom)
Δεν υπάρχουν σχόλια:
Δημοσίευση σχολίου