Sus-X. Τεχνικό Εγχειρίδιο. (σε εξέλιξη)

Σχετικά έγγραφα
SusX - SusCity. Εγχειρίδιο σχεδιασµού παιχνιδιών

Εγχειρίδιο σχεδιασµού παιχνιδιών

Εγχειρίδιο Χρήσης της «Αριάδνης»

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών

Εγχειρίδιο Χρήσης του «Μαθη.Συ.»

ΠΡΟΣΟΜΟΙΩΣΗ ΘΕΩΡΙΑ 1. H αρχική οθόνη του Open Roberta lab

Coop-in Εγχειρίδιο χρήστη

FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2017

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών

Καταχώρηση Αποδείξεων

Γενικά. Change Reference

ΚΥΠΡΙΑΚΟΣ ΣΥΝΔΕΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY 21 ος ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Δεύτερος Γύρος - 30 Μαρτίου 2011

Ξεκινώντας με το MIT Αρρ Inventor. 1 η Εργασία

ηµιουργία ιαλογικών Προγραµµάτων για το Web

Εκφώνηση άσκησης. Η Κρεμάλα σαν παιχνίδι. Ανάλυση. Μέρος Α Αναφoρά, ανάλυση τακτικής. Υλοποίηση του παιχνιδιού «Κρεμάλα»

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Δομή Επανάληψης. Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD

Scratch Διδακτική του Προγραμματισμού. Παλαιγεωργίου Γιώργος

ΚΕΦΑΛΑΙΟ Web Services

SOAP API. Table of Contents

ChoiCo Εγχειρίδιο Χρήσης

ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΤΩΝ ΠΑΡΑΚΟΛΟΥΘΗΣΗ ΠΡΑΞΕΩΝ ΔΕΛΤΙΟ ΔΗΛΩΣΗΣ ΔΑΠΑΝΩΝ (ΕΕΣ)

ΕΓΧΕΙΡΙ ΙΟ ΧΡΗΣΗΣ ΛΟΓΙΣΜΙΚΟΥ E-LEARNING - 2 -

Μάθημα 8 ο Η εντολή ανδιαφορετικά

Οδηγίες Χρήσης Εφαρµογής Καταχώρησης Αποδείξεων µε απλά βήµατα

ΟΜΗ ΤΗΣ ΕΦΑΡΜΟΓΗΣ... 3 ΕΡΩΤΗΣΕΙΣ... 5 ΕΡΕΥΝΕΣ... 8

PortSip Softphone. Ελληνικά Ι English 1/20

Ξεκινώντας με το MIT App Inventor 2 Μάθημα 4 Δημιουργώντας ένα απλό παιχνίδι (Κορώνα Γράμματα)

Κατανεμημένα Συστήματα

Button & MotionSensor

ΟΔΗΓΟΣ ΕΓΚΑΤΑΣΤΑΣΗΣ ΚΑΙ ΓΡΗΓΟΡΗΣ ΕΚΚΙΝΗΣΗΣ

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών

ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ ΓΙΑ ΤΟΝ ΕΛΕΓΧΟ ΤΩΝ HX-GO02 & HX-GO1

Εξαιρέσεις Εισαγωγή. Εξαιρέσεις. ηµήτρης Λεβεντέας

Υπολογισμός - Εντολές Επανάληψης

Σεμινάριο Η Γλώσσα Logo & Περιβάλλοντα Προγραμματισμού Logo - Ρόδος, 22/9/2009 Γ. Φεσάκης, Ελ. Μαυρουδή, Τσ. Καράκιζα ΓΝΩΡΙΜΙΑ ΜΕ ΤΗ LOGO ΚΑΙ

Slalom Race Computer Game on Scratch

4 ο Εργαστήριο Τυχαίοι Αριθμοί, Μεταβλητές Συστήματος

Εγκατάσταση λογισμικού και αναβάθμιση συσκευής Device software installation and software upgrade

Οδηγίες Εγκατάστασης Pa3X Ultimate Musicorama.SET

Σημειωματάριο Δευτέρας 20 Νοε. 2017

Κατανεμημένα Συστήματα. Javascript LCR example

Φύλλο Εργασίας: Παιχνίδι Λαβύρινθος (MAZE) Προγραμματιστικό Εργαλείο: GAME MAKER. Ονοματεπώνυμο:

Παρακάτω προτείνεται μια αλληλουχία ενεργειών την οποία ο χρήστης πρέπει να ακολουθήσει για να αξιοποιήσει τις δυνατότητες της εφαρμογής.

Πώς το λένε Computer game στο Scratch

ΠΑΝΕΛΛΑΔΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΗΜΕΡΗΣΙΩΝ ΕΠΑΛ (ΟΜΑΔΑ Α ) ΚΑΙ ΜΑΘΗΜΑΤΩΝ ΕΙΔΙΚΟΤΗΤΑΣ ΗΜΕΡΗΣΙΩΝ ΕΠΑΛ (ΟΜΑΔΑ Α ΚΑΙ Β ) ΤΡΙΤΗ 13 ΙΟΥΝΙΟΥ 2017

Πως θα κατασκευάσω το πρώτο πρόγραμμα;

Ξεκινώντας με το MIT Αρρ Inventor. 1 η Εργασία

ALERTS ή EDA (Event Driven Actions)

ΗΧ-GD30. Οδηγίες χρήσης και προγραμματισμού. Συσκευή τηλεφωνητή μέσω GSM και PSTN. Εγκατάσταση

Εισαγωγή στην Επιστήμη της Πληροφορικής Εργαστήριο. Microsoft Power Point Μέρος 2

Μηνιαίες Συγκεντρωτικές1 Καταστάσεις1

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 22/11/07

ΕΓΧΕΙΡΙ ΙΟ ΧΡΗΣΗΣ MODULE: ΝΕΑ - ΑΝΑΚΟΙΝΩΣΕΙΣ

Δημιουργώντας μια εφαρμογή ζωγραφικής. 2 ο Μάθημα

ΕΓΧΕΙΡΙ ΙΟ ΧΡΗΣΗΣ MODULE: ΠΕΛΑΤΕΣ

Εισαγωγή στην Επιστήμη της Πληροφορικής Εργαστήριο. Microsoft Power Point Μέρος 2

Η γλώσσα προγραμματισμού LOGO

HX-DG20 TELE HX-DG20 1

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Προγραμματισμός Η/Υ

Εργαστήριο Βάσεων Δεδομένων

ΛΥΚΕΙΟ ΣΟΛΕΑΣ Σχολική χρονιά

Πλάνο Παρουσίασης. Στο δεύτερο μέρος θα μελετήσουμε τον σχεδιασμό και κώδικα πίσω από την εφαρμογή.

(3) Από την εργαλειοθήκη επιλέξτε το εργαλείο «ετικέτας (Label)». Δημιουργήστε μια ετικέτα στην φόρμα σας.

Απλές συναρτήσεις του Excel (Συνέχεια)

Γενική Γραμματεία Πληροφοριακών Συστημάτων. General Secretariat of Information Systems

Γενικό Λύκειο Κρουσώνα - Σχολικό έτος Εφαρμογή δημιουργίας κουίζ. Οπτικό κομμάτι. Διδάσκων : Παπαδάκης Σταμάτης 1

Η γλώσσα προγραμματισμού C

ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ LIVETRIP TRAVELLER

Τεχνητή Νοημοσύνη ΙΙ Εαρινό Εξάμηνο Εργασία ΙΙ: Σχεδιασμός Ημερομηνία Παράδοσης: 26 Μαρτίου 2012

FSM Toolkit Exercises

Section 8.3 Trigonometric Equations

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 24/3/2007

Μετατροπή χαρακτήρων ASCII σε ακέραιο αριθµό (atoi) & Άνοιγµα αρχείου µέσα από τo QtSPIM, διάβασµα, και αποθήκευση του περιεχοµένου του στη µνήµη

«Αβάκιο» Οδηγός χρήσης Μικρόκοσμου που αποτελείται από τις ψηφίδες Καμβάς, Χελώνα, Γλώσσα, Μεταβολέας, Χρώματα.

5. MΑΚΡΟΕΝΤΟΛΕΣ. Η δηµιουργία Μακροεντολής γίνεται µε δύο τρόπους :

Visual Basic Γλώσσα οπτικού

Προστασία Δεδομένων Φυσικών Προσώπων - GDPR

ΒΑΣΙΚΕΣ ΟΔΗΓΙΕΣ ΓΙΑ ΤΗΝ ΧΡΗΣΗ ΤΟΥ ΧΕΛΩΝΟΚΟΣΜΟΥ ΣΤΟ ΑΒΑΚΙΟ E-SLATE ΠΟΙΕΣ ΨΗΦΙΔΕΣ ΠΡΕΠΕΙ ΝΑ ΕΜΦΑΝΙΣΟΥΜΕ

Αριστείδης Παλιούρας Ανακαλύψτε το Scratch 2

ΗΧ-GD30+ Συσκευή τηλεφωνητή μέσω GSM και PSTN

α) η καταγραφή και η σύλληψη της δικτυακής κίνησης (capture) και β) η ανάλυση της δικτυακής κίνησης.

Σύντοµο Εγχειρίδιο Χρήσης. του Λογισµικού Στατιστικής Επεξεργασίας. SPSS for Windows v. 8.0

Εισαγωγή στη Fortran. Μάθημα 1 ο. Ελευθερία Λιούκα

ΑΠΟΤΙΜΗΣΗ ΤΟΥ ΕΡΓΟΥ ΤΟΥ ΤΜΗΜΑΤΟΣ ΣΤΟΧΟΙ ΓΙΑ ΤΗΝ ΠΕΡΙΟΔΟ ΠΑΡΑΡΤΗΜΑ ΧΙ

Εντολή If-Then-Else Σκοπός Μαθήματος

Ανακύκλωσε το Computer Game σε Scratch

Αυτόματο Κλείσιμο Ισολογισμού

Εγκατάσταση της έκδοσης 2.80

Το συγκεκριμένο εγχειρίδιο δημιουργήθηκε για να βοηθήσει την κατανόηση της διαδικασίας δημιουργίας Υπόχρεου. Παρακάτω προτείνεται μια αλληλουχία

Λειτουργικά Συστήματα 7ο εξάμηνο, Ακαδημαϊκή περίοδος

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java II

Μετατροπή χαρακτήρων ASCII σε αριθμό (atoi) & διάβασμα, και αποθήκευση του περιεχομένου του στη μνήμη. (Διάλεξη. Πανεπιστήμιο Κύπρου

Φύλλο Εργασίας: Παιχνίδι Λαβύρινθος (MAZE) Προγραμματιστικό Εργαλείο: SCRATCH. Ονοματεπώνυμο:

Εργαστήριο 1-1 η Άσκηση - Ανάλυση

Λειτουργικά Συστήματα 7ο εξάμηνο, Ακαδημαϊκή περίοδος

ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Γ ΤΑΞΗΣ ΗΜΕΡΗΣΙΩΝ & Δ ΤΑΞΗΣ ΕΣΠΕΡΙΝΩΝ

Υπολογισμός Φορολογικής Αναμόρφωσης

ΕΓΧΕΙΡΙ ΙΟ ΧΡΗΣΗΣ MODULE: ΙΑΦΗΜΙΣΕΙΣ

Τεχνικό ενχειρίδιο προγραμματιζόμενου θερμοστατη AutoHeat

Transcript:

Sus-X Τεχνικό Εγχειρίδιο (σε εξέλιξη) Εργαστήριο Εκπαιδευτικής Τεχνολογίας 2011

Περιεχόµενα Σκοπός του εγχειριδίου...3 Σχεδιάζοντας ένα νέο παιχνίδι...3 Παίζοντας το παιχνίδι...3 Έναρξη παιχνιδιού...3 Επιλογή σηµείου από τον χάρτη...4 Τερµατισµός παιχνιδιού...4 Συνοπτική περιγραφή των διαδικασιών logo...5 Εργαστήριο Εκπαιδευτικής Τεχνολογίας 2

Σκοπός του εγχειριδίου Σκοπός του παρόντος εγχειριδίου είναι να παρέχει κατάλληλες πληροφορίες στον εκπαιδευτικό, ερευνητή ή προχωρηµένο χρήστη, που επιθυµεί να τροποποιήσει τις λειτουργικότητες της γεννήτριας παιχνιδιών Sus-X, αλλάζοντας τα υπάρχοντα χαρακτηριστικά της ή και προσθέτοντας νέες δυνατότητες. Για το σκοπό αυτό καταβάλλεται προσπάθεια ώστε να γίνουν κατανοητές οι διεργασίες που πραγµατοποιούνται κατά το παίξιµο του παιχνιδιού, ώστε να είναι δυνατή η αποδόµησή του. Σχεδιάζοντας ένα νέο παιχνίδι Κατά το σχεδιασµό-δηµιουργία ενός νέου παιχνιδιού δεν χρησιµοποιείται προγραµµατιστικός κώδικας (logo) παρά µόνο απλές εντολές εµφάνισης «Όψεων» οι οποίες είναι τοποθετηµένες µέσα στα «γεγονότα» των κουµπιών. Οι «Όψεις» είναι εγγενής λειτουργικότητα της συγγραφικής πλατφόρµας «Αβάκιο» και αποτελούν αποθηκευµένες καταστάσεις εµφάνισης των ψηφίδων στην οθόνη. Με τις «Όψεις» µπορούµε να τοποθετούµε, εµφανίζουµε και να αποκρύπτουµε ψηφίδες και να αποθηκεύουµε (µε όνοµα της επιλογής µας) την ακριβή εµφάνιση του παιχνιδιού (ή µικρόκοσµου γενικότερα). Παίζοντας το παιχνίδι Μετά τη διαδικασία σχεδιασµού, όταν πλέον είναι έτοιµο το νέο παιχνίδι, όλες οι διεργασίες πραγµατοποιούνται µέσω προγράµµατος σε γλώσσα logo το οποίο είναι καταχωρηµένο στην ψηφίδα Logo. Έναρξη παιχνιδιού Κατά την έναρξη του παιχνιδιού (κουµπί «Εναρξη»): Ξεκινά το χρονόµετρο να µετρά το χρόνο Φορτώνονται οι αρχικές τιµές στις ιδιότητες του παιχνιδιού Αρχικοποιείται η µέτρηση του πλήθους των σηµείων Εµφανίζεται το κουµπί «Επιλογή σηµείου» για την επιλογή των σηµείων Αλλάζει εµφάνιση το κουµπί «Έναρξη» Καθαρίζεται η Β του παιχνιδιού από στοιχεία προηγούµενων παιχνιδιών Ξεκινάει η καταγραφή των κινήσεων του παίκτη (logging) Εργαστήριο Εκπαιδευτικής Τεχνολογίας 3

Επιλογή σηµείου από τον χάρτη Κατά την επιλογή ενός σηµείου (στο χάρτη) από τον παίκτη (κουµπί «Επιλογή σηµείου»): ιαγράφεται οποιοδήποτε παλαιότερο µήνυµα από το πλαίσιο κειµένου που εµφανίζει πληροφορίες Αυξάνει το πλήθος των επιλεγµένων σηµείων Προσθέτει µια νέα εγγραφή στη Β του παιχνιδιού µε όλα τα στοιχεία ιδιότητες του επιλεγµένου σηµείου Ελέγχεται εάν συµπληρώθηκε ο µέγιστος αριθµός σηµείων Ελέγχεται εάν κάποια από τις τιµές των ιδιοτήτων ενεργοποιεί κάποιο από τα κριτήρια τερµατισµού που έχει θέσει ο σχεδιαστής Εάν δεν υπάρχει κάποια αιτία τερµατισµού του παιχνιδιού, ελέγχονται οι «συνθήκες ελέγχου» που έχει θέσει ο σχεδιαστής και αν κάποια από αυτές ενεργοποιείται, εµφανίζεται το καταχωρηµένο µήνυµα. Πραγµατοποιείται καταγραφή της ενέργειας του χρήστη (διαδικασία logrecord) Τερµατισµός παιχνιδιού Αν το παιχνίδι τερµατιστεί από «εσωτερική» αιτία, δηλαδή επειδή έληξε ο χρόνος, ή συµπληρώθηκε το πλήθος των σηµείων ή ενεργοποιήθηκε µια συνθήκη- κριτήριο τερµατισµού του σχεδιαστή : Σταµατά το χρονόµετρο Εµφανίζονται πληροφορίες για την κατάσταση του παιχνιδιού τη στιγµή του τερµατισµού Εµφανίζεται περιγραφή της αιτίας τερµατισµού Αλλάζει εµφάνιση το κουµπί «ιακοπή» Αποκρύπτεται το κουµπί «Επιλογή σηµείου» Αν το παιχνίδι τερµατιστεί από τον παίκτη (κουµπί «ιακοπή») πραγµατοποιούνται οι ίδιες (παραπάνω) ενέργειες αλλά δεν εµφανίζεται µήνυµα µε την περιγραφή της αιτίας τερµατισµού. Εργαστήριο Εκπαιδευτικής Τεχνολογίας 4

Συνοπτική περιγραφή των διαδικασιών logo Έναρξη ή Τερµατισµός παιχνιδιού Έλεγχος αν ζητήθηκε έναρξη ή τερµατισµός (από το ίδιο κουµπί) Ανάκτηση από τη Β Game_properties των αρχικών τιµών για την έναρξη του παιχνιδιού ιαγραφή των στοιχείων (από προηγούµενο παιχνίδι) στη Β του χρήστη (game_data) to New_Game ; when start or stop game button is pressed localmake "action ask "new [button.text if :action=" Stop Game [ ask "chrono [stopchronometer ask "new [button.settext " Start Game ask "new [button.setfgcolor [0 150 0 ask "accept [hide ask " Remaining [hide stop make "MaxTurns ask "Turns [sbutton.value make "TimeLimit ask "Available_time [sbutton.value make "EndReason "none make "FieldNames ask "map_data [db.fieldnames make "FieldNames Butfirst :Fieldnames make "FieldNames Butfirst :Fieldnames make "FieldCount length :fieldnames make "FieldCount :FieldCount ask "chrono [resetchronometer ask "chrono [startchronometer ask "Available_time [hide Ask "Turns [hide ask "lbl_time [hide ask "lbl_turns [hide ask "TXT_ [area.settext " ask "TXT_Check [area.settext " ask "TXT_ [hide ask "TXT_check [hide Ask "Accept [restore ask "new [button.settext " Stop Game ask "new [button.setfgcolor [255 0 0 ask " Remaining [restore localmake "recordcount ask "game_data [db.recordcount repeat :recordcount [ask "game_data [db.removerecord 1 ask "Game_data [db.addrecord repeat :FieldCount [ localmake "initvalue ask "Game_properties [db.cell repcount "Initial_value localmake "curfieldcode ask "Game_properties [db.cell repcount "Field_code ask "Game_data [db.setcell 1 :curfieldcode :initvalue make "curpoint 0 make "TurnsRemain :Maxturns ask "logtext [area.settext " logrecord true Εργαστήριο Εκπαιδευτικής Τεχνολογίας 5

Επιλογή - αποδοχή του επιλεγµένου σηµείου του χάρτη Ανάκτηση των τιµών του σηµείου από τη Β του χάρτη και εισαγωγή τους στη Β του χρήστη (game_data) Έλεγχος αν συµπληρώθηκε ο µέγιστος αριθµός σηµείων Αν συµπληρώθηκε, τερµατισµός του παιχνιδιού (κλήση της GameEnded) Έλεγχος αν το παιχνίδι πρέπει να τερµατιστεί λόγω επιλεγµένων συνθηκών (CheckEndConditions) Έλεγχος για τις τιµές των ιδιοτήτων µε σκοπό την εµφάνιση προειδοποιητικών µηνυµάτων (CheckConditions) to Accept_point ;get and save the chosen point ask "TXT_check [area.settext " make "curpoint :curpoint+1 make "messsagestr " ask "game_data [db.addrecord localmake "curmaprecord ask "map_data [db.activerecord repeat :FieldCount [ localmake "curmapfield item repcount :FieldNames localmake "curfieldvalue ask "map_data [db.cell :curmaprecord :curmapfield localmake "curfield word "Field repcount localmake "currec :curpoint+1 ask "game_data [db.setcell :currec :curfield :curfieldvalue If :curpoint = :MaxTurns [ make "EndReason "bymaxturns GameEnded CheckEndConditions if :EndReason="none [ checkconditions GetAndShowValues "TXT_check make "TurnsRemain :MaxTurns - :curpoint logrecord false Έλεγχος ιδιοτήτων για την εµφάνιση προειδοποιητικών µηνυµάτων Ανάκτηση καταχωρηµένων συνθηκών ελέγχου από την Β «Check_conditions» Σύγκριση ιδιοτήτων µε τις συνθήκες ελέγχου και εµφάνιση συγκεντρωτικού µηνύµατος Εργαστήριο Εκπαιδευτικής Τεχνολογίας 6

to CheckConditions ;check conditions after every point acceptance localmake "numofconditions ask "Check_conditions [db.recordcount repeat :numofconditions [ localmake "IsEnabled ask "Check_conditions [db.cell repcount "Con_Enabled if :IsEnabled=true [ localmake "curfieldcheck ask "Check_conditions [db.cell repcount "Field_Name localmake "curconoperand ask "Check_conditions [db.cell repcount "Con_Operand localmake "curconvalue ask "Check_conditions [db.cell repcount "Con_Value localmake "curconmessage ask "Check_conditions [db.cell repcount "Con_Message localmake "curconmessage word :curconmessage " FieldNameToFieldCode :curfieldcheck localmake "curfieldvalue ask "game_data [db.dsum :curfieldcode if :curconoperand = "= [ if :curfieldvalue = :curconvalue [ ask "TXT_check [area.app :curconmessage if :curconoperand = "> [ if :curfieldvalue > :curconvalue [ ask "TXT_check [area.app :curconmessage if :curconoperand = "< [ if :curfieldvalue < :curconvalue [ ask "TXT_check [area.app :curconmessage ask "TXT_check [restore Έλεγχος ικανοποίησης συνθηκών τερµατισµού του παιχνιδιού Ανάκτηση καταχωρηµένων συνθηκών τερµατισµού από την Β «End_conditions» Σύγκριση ιδιοτήτων µε τις συνθήκες τερµατισµού to CheckEndConditions ;check if the game is ed by conditions localmake "numofendconditions ask "End_conditions [db.recordcount repeat :numofconditions [ localmake "IsEnabled ask "End_conditions [db.cell repcount "End_Enabled if :IsEnabled=true [ localmake "curfieldcheck ask "End_conditions [db.cell repcount "Field_Name localmake "curendoperand ask "End_conditions [db.cell repcount "End_Operand localmake "curendvalue ask "End_conditions [db.cell repcount "End_Value localmake "curendmessage ask "End_conditions [db.cell repcount "End_Message localmake "curendmessage word :curendmessage " FieldNameToFieldCode :curfieldcheck localmake "curfieldvalue ask "game_data [db.dsum :curfieldcode if :curendoperand = "= [ if :curfieldvalue = :curendvalue [ ask "TXT_End [area.app :curendmessage make "EndReason "byconditions if :curendoperand = "> [ if :curfieldvalue > :curendvalue [ ask "TXT_End [area.app :curendmessage make "EndReason "byconditions if :curendoperand = "< [ if :curfieldvalue < :curendvalue [ ask "TXT_End [area.app :curendmessage make "EndReason "byconditions Εργαστήριο Εκπαιδευτικής Τεχνολογίας 7

if :EndReason="byConditions [GameEnded Υπολογισµός και εµφάνιση ιδιοτήτων (των τιµών τους) Υπολογισµός τιµών ιδιοτήτων στη Β του χρήστη (game_data) Σύνθεση και εµφάνιση κειµένου µε όλες τις πληροφορίες to GetAndShowValues :TextAreaName ; Calculates and shows all field values repeat 10 [ Localmake "curfieldcode word "Field repcount Localmake "curfieldvalue ask "game_data [db.dsum word "Field repcount FieldCodeToFieldName :curfieldcode print :curfieldcode ifelse :curfieldname =" [[ localmake "linetext word :curfieldname "= localmake "linetext word :linetext :curfieldvalue ask :TextAreaName [area.app :linetext ask :TextAreaName [area.app " Έλεγχος χρονικού ορίου παιχνιδιού Υπολογισµός διάρκειας παιχνιδιού Εµφάνιση υπολειπόµενου χρόνου to CheckTimeLimit ; checks if time is up localmake "curtime chronometerminutes ifelse :curtime > :timelimit [ make "EndReason "bytime GameEnded [ make "timeremain :timelimit - integer :curtime localmake "lblremaining word " Remaining... :timeremain localmake "lblremaining word :lblremaining " minute(s) -- localmake "lblremaining word :lblremaining :TurnsRemain localmake "lblremaining word :lblremaining " turn(s) Ask "Remaining [label.settext :lblremaining ιαδικασία Τερµατισµού Παιχνιδιού ιακοπή χρονοµέτρου Έλεγχος αιτίας τερµατισµού - εµφάνιση κατάλληλου µηνύµατος Εµφάνιση ιδιοτήτων µε κλήση της διαδικασίας GetAndShowValues Εργαστήριο Εκπαιδευτικής Τεχνολογίας 8

to GameEnded ;shows proper message when game is ed ask "chrono [stopchronometer ask " Remaining [hide if :EndReason="byTime [make "messagestr " The Time Is Up! if :EndReason="byConditions [make "messagestr " The Game is Ended! if :EndReason="byMaxTurns [make "messagestr " You have reached the maximum number of turns make "messagestr word :messagestr " ask "TXT_ [area.app :messagestr ask "TXT_ [restore ask "TXT_check [hide ifelse and :EndReason="byConditions :curpoint=:maxturns [[ GetAndShowValues "TXT_ Ask "Accept [hide ask "new [button.settext " Start Game ask "new [button.setfgcolor [0 150 0 Βοηθητικές διαδικασίες FieldCodeToFieldName -> δέχεται τον αύξοντα αριθµό της ιδιότητας (field) και επιστρέφει το όνοµα της FieldNameToFieldCode -> δέχεται το όνοµα της ιδιότητας (field) και επιστρέφει τον αύξοντα αριθµό της Και στις δύο περιπτώσεις εκτελείται ερώτηµα (query) στη Β ρυθµίσεων του παιχνιδιού (game_properties) to FieldCodeToFieldName :fcode ;Gets Field code (ie Field1) -->returns the Field name localmake "query word "Field_code= :fcode localmake "selected ask "Game_properties [db.select :query localmake "selected item 1 :selected ;convert to integer make "curfieldname ask "game_properties [db.cell :selected "Field_name to FieldNameToFieldCode :fname ;Gets Field Name -->returns the Field code print :fname localmake "query word "Field_name= :fname print :query localmake "selected ask "Game_properties [db.select :query print :selected localmake "selected item 1 :selected ;convert to integer make "curfieldcode ask "game_properties [db.cell :selected "Field_code Καταγραφή ενεργειών (δηµιουργία εγγραφών logging) Καλείται κατά την έναρξη του παιχνιδιού, κατά την αποδοχή σηµείου στο χάρτη και κατά το τέλος του παιχνιδιού Καταγράφει τη χρονική στιγµή και τις τιµές των ιδιοτήτων Εργαστήριο Εκπαιδευτικής Τεχνολογίας 9

to LogRecord :newgame ifelse :newgame = true [ localmake "curdescr " NEW GAME [ localmake "curdbaserecord ask "map_data [ db.activerecord localmake "curdescr ask "map_data [db.cell :curdbaserecord "Description make "curtime (chronometertime) localmake "timeword item 1 :curtime localmake "timeword word :timeword ": localmake "timeword word :timeword item 2 :curtime localmake "timeword word :timeword ": localmake "timeword word :timeword item 3 :curtime localmake "linetext word :curpoint + 1 " # localmake "linetext word :linetext :timeword localmake "linetext word :linetext " [ localmake "linetext word :linetext :curdescr localmake "linetext word :linetext " repeat :FieldCount [ FieldCodeToFieldName word "Field repcount localmake "linetext word :linetext " localmake "linetext word :linetext :curfieldname localmake "linetext word :linetext "= ifelse :newgame=true [ localmake "curfieldval ask "game_data [db.cell :curpoint + 1 word "Field repcount [ localmake "curfieldval ask "game_data [db.dsum word "Field repcount localmake "linetext word :linetext :curfieldval ask "logtext [area.app :linetext ask "logtext [area.app " Εργαστήριο Εκπαιδευτικής Τεχνολογίας 10