Το παιχνίδι mastermind παίζεται ως εξής:
Ο 1ος παίκτης (σε εμάς δηλώνεται ως σταθερά από πριν) σχηματίζει έναν μυστικό τετραψήφιο κώδικα χρησιμοποιώντας ν χρώματα (ή στην περίπτωση μας τα τους αριθμούς από 1 έως ν). Κάθε αριθμός επιτρέπεται να χρησιμοποιηθεί όσες φορές θέλουμε.
Ο 2ος παίκτης προσπαθεί να μαντέψει τον μυστικό κωδικό με διαδοχικές προσπάθειες. Κάθε φορά σχηματίζει έναν τετραψήφιο αριθμό. Ο υπολογιστής ελέγχει τον κωδικό, και για κάθε ένα από τα ψηφία του ελέγχει τις παρακάτω περιτπώσεις:
Το ψηφίο εμφανίζεται μέσα στον μυστικό κωδικό και είναι στη σωστή θέση. Απαντάει με «Ο»
Το ψηφίο εμφανίζεται μέσα στον μυστικό κωδικό αλλά βρίσκεται σε άλλη θέση . Απαντάει με «Χ».
Το ψηφίο δεν εμφανίζεται καθόλου μέσα στον μυστικό κωδικό. Απαντάει με «-»
Το παιχνίδι τερματίζει όταν ο παίκτης βρεί των κωδικό ή φτάσει τις 10 προσπάθειες
ΠΡΟΓΡΑΜΜΑ Master_Mind
ΣΤΑΘΕΡΕΣ
Cod = 1234
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: Code,Αρ[4],ι,Κωδ[4],α,ζωή,ξ,Θέση,πλ1,α1,ΑΠΟΚΛΕΙΣΜΕΝΑ[20],count,Ν
ΧΑΡΑΚΤΗΡΕΣ: Απ[4],σημαία,σημαία3,σημαία2,ΑΠΑΝΤΗΣΗ
ΑΡΧΗ
count <-- 0
ζωή <-- 1
Code <-- Cod
Για ι απο 4 μέχρι 1 με βήμα -1 !Εισαγωγή αριθμού από τον 1ο παίκτη
Κωδ[ι] <-- Code MOD 10
Code <-- Code DIV 10
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
σημαία2 <-- 'ψ'
ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
Αν ζωή = 1 τότε
ΓΡΑΨΕ 'Δώσε το μέγιστο πεδίο του κωδικού από το 1 μέχρι το 9'
ΔΙΑΒΑΣΕ Ν
ΓΡΑΨΕ 'Δώσε έναν αριθμό'
ΓΡΑΨΕ 'Προσπάθεια 1/10'
ΓΡΑΨΕ
ΓΡΑΨΕ !Αντώνης Γιωτάκης
ΓΡΑΨΕ !για την glwssomatheia.info
ΓΡΑΨΕ !copyright 2011
Αλλιώς
ΓΡΑΨΕ
ΓΡΑΨΕ 'Δοκίμασε ξανά'
ΓΡΑΨΕ_ 'Προσπάθεια',ζωή,'/10 (Αποκλεισμένα ψηφία είναι το : '
Για ι από 1 Μέχρι count
ΓΡΑΨΕ_ ΑΠΟΚΛΕΙΣΜΕΝΑ[ι],','
Τέλος_επανάληψης
ΓΡΑΨΕ_')'
ΓΡΑΨΕ
ΤΕΛΟΣ_ΑΝ
Αρχή_Επανάληψης
ΔΙΑΒΑΣΕ α
α1 <-- α
Για ι απο 4 μέχρι 1 με βήμα -1 !Εισαγωγή αριθμού από τον 2ο παίκτη σε πίνακα
Αρ[ι] <-- α MOD 10
α <-- α DIV 10
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
σημαία3 <-- 'α'
Για ι από 4 μέχρι 1 με βήμα -1
Αν Αρ[ι] >Ν τότε
σημαία3 <-- 'ψ'
Τέλος_αν
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
Αν σημαία3 = 'ψ' τότε
ΓρΑΨΕ 'Πληκτολόγησε ξανά τον αριθμό με σωστό μέγεθος'
ΤΕΛΟΣ_ΑΝ
Μέχρις_ότου σημαία3 = 'α'
Για ι από 1 μέχρι 4
Απ[ι] <-- '_'
Τέλος_επανάληψης
Για ι από 1 μέχρι 4
Για ξ από 1 μέχρι 4
Αν Αρ[ι] = Κωδ[ξ] τότε
Απ[ι] <-- 'Ο'
Τέλος_αν
Τέλος_επανάληψης
Τέλος_επανάληψης
Για ι από 1 μέχρι 4
Αν Αρ[ι] = Κωδ[ι] τότε
Απ[ι] <-- 'Χ'
Τέλος_αν
Τέλος_επανάληψης
πλ1 <-- 0
Για ι απο 1 μέχρι 4
Αν Απ[ι]='Χ' τότε
πλ1 <-- πλ1 + 1
Τέλος_αν
Τέλος_επανάληψης
Αν πλ1=4 τότε
σημαία2 <-- 'α'
Αλλιώς
ζωή <-- ζωή +1
Τέλος_αν
ΑΠΑΝΤΗΣΗ <-- ''
Για ι απο 1 μέχρι 4
ΑΠΑΝΤΗΣΗ <-- ΑΠΑΝΤΗΣΗ + Απ[ι]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ ΑΠΑΝΤΗΣΗ
Για ι από 1 μέχρι 4
Αν Απ[ι] = '_' τότε
σημαία3 <-- 'α'
Για ξ από 1 μέχρι count
Αν (ΑΠΟΚΛΕΙΣΜΕΝΑ[ξ] = Αρ[ι]) τότε
σημαία3 <-- 'ψ'
Τέλος_αν
Τέλος_επανάληψης
Αν σημαία3 = 'α' τότε
count <-- count + 1
ΑΠΟΚΛΕΙΣΜΕΝΑ[count] <-- Αρ[ι]
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΜΕΧΡΙΣ_ΟΤΟΥ σημαία2='α' η ζωή = 11
Αν σημαία2='α' τότε
ΓΡΑΨΕ 'Κέρδισες'
Αλλιώς
ΓΡΑΨΕ 'Λυπάμαι έχασες'
Τέλος_αν
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ Master_Mind
Αν θέλαμε να είχε περισσότερο ενδιαφέρων το παιχνίδι αντί για την σταθερά cod=1234 έπρεπε να βάλούμε cod<-- ΤΥΧΑΙΟΣ(ν) μέσα στο πρόγραμμα (πράγμα που δεν υποστηρίζεται από την απλή γλωσσομάθεια)