Τώρα είναι Τρί 19 Μαρ 2024 08:13 am

Όλοι οι χρόνοι είναι UTC + 2 ώρες [ DST ]




Δημιουργία νέου θέματος Απαντήστε στο θέμα  [ 1 Δημοσίευση ] 
Συγγραφέας Μήνυμα
 Θέμα δημοσίευσης: Master Mind
ΔημοσίευσηΔημοσιεύτηκε: Τετ 21 Σεπ 2011 12:14 am 
Χωρίς σύνδεση

Εγγραφή: Κυρ 21 Αύγ 2011 07:26 pm
Δημοσιεύσεις: 2
Το παιχνίδι mastermind παίζεται ως εξής:

Ο 1ος παίκτης (σε εμάς δηλώνεται ως σταθερά από πριν) σχηματίζει έναν μυστικό τετραψήφιο κώδικα χρησιμοποιώντας ν χρώματα (ή στην περίπτωση μας τα τους αριθμούς από 1 έως ν). Κάθε αριθμός επιτρέπεται να χρησιμοποιηθεί όσες φορές θέλουμε.

Ο 2ος παίκτης προσπαθεί να μαντέψει τον μυστικό κωδικό με διαδοχικές προσπάθειες. Κάθε φορά σχηματίζει έναν τετραψήφιο αριθμό. Ο υπολογιστής ελέγχει τον κωδικό, και για κάθε ένα από τα ψηφία του ελέγχει τις παρακάτω περιτπώσεις:



Το ψηφίο εμφανίζεται μέσα στον μυστικό κωδικό και είναι στη σωστή θέση. Απαντάει με «Ο»
Το ψηφίο εμφανίζεται μέσα στον μυστικό κωδικό αλλά βρίσκεται σε άλλη θέση . Απαντάει με «Χ».
Το ψηφίο δεν εμφανίζεται καθόλου μέσα στον μυστικό κωδικό. Απαντάει με «-»

Το παιχνίδι τερματίζει όταν ο παίκτης βρεί των κωδικό ή φτάσει τις 10 προσπάθειες

Syntax: [ Download ] [ Hide ]
ΠΡΟΓΡΑΜΜΑ  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<-- ΤΥΧΑΙΟΣ(ν) μέσα στο πρόγραμμα (πράγμα που δεν υποστηρίζεται από την απλή γλωσσομάθεια)


Κορυφή
 Προφίλ  
Απάντηση με παράθεση  
Τελευταίες δημοσιεύσεις:  Ταξινόμηση ανά  
Δημιουργία νέου θέματος Απαντήστε στο θέμα  [ 1 Δημοσίευση ] 

Όλοι οι χρόνοι είναι UTC + 2 ώρες [ DST ]


Μέλη σε σύνδεση

Μέλη σε αυτή την Δ. Συζήτηση : Δεν υπάρχουν εγγεγραμμένα μέλη και 1 επισκέπτης


Δεν μπορείτε να δημοσιεύετε νέα θέματα σε αυτή τη Δ. Συζήτηση
Δεν μπορείτε να απαντάτε σε θέματα σε αυτή τη Δ. Συζήτηση
Δεν μπορείτε να επεξεργάζεστε τις δημοσιεύσεις σας σε αυτή τη Δ. Συζήτηση
Δεν μπορείτε να διαγράφετε τις δημοσιεύσεις σας σε αυτή τη Δ. Συζήτηση
Δεν μπορείτε να επισυνάπτετε αρχεία σε αυτή τη Δ. Συζήτηση

Αναζήτηση για:
Μετάβαση σε:  
cron
Προβολές: