133
PC Master
Θέλετε να φτιάξετε το δικό σας παιχνίδι,
αλλά δεν ξέρετε από πού να αρχίσετε; Το AGS
είναι το τέλειο εργαλείο και ο Άλκης Πολυράκης
ο ιδανικός καθηγητής. Αν είστε επιμελείς και
δεν χάσετε μαθήματα, σύντομα θα μπορείτε να
καυχιέστε ότι είστε και εσείς ένας game developer!
ΣΤΗ ΦΩΛΙΑ ΤΟΥ ΛΥΚΟΥ
Η εξέλιξη της ιστορίας μας έχει ως
εξής: Ο Chris έχει καταφέρει να ξεγλι-
στρήσει στο γραφείο μιας καθηγήτριας
και θέλει να αποκτήσει πρόσβαση στα αρ-
χεία του υπολογιστή της. Δυστυχώς όμως,
αυτός προστατεύεται από password, το
οποίο και θα πρέπει να βρει. Θα χρησιμο-
ποιήσουμε όσα έχουμε μάθει για το σχε-
διασμό GUIs, ώστε να εισαγάγουμε μια
πλήρως λειτουργική οθόνη υπολογιστή.
Τα γραφικά που θα χρειαστείτε για την
άσκηση αυτή είναι το κοντινό πλάνο μιας
οθόνης υπολογιστή, μια εικόνα που απει-
κονίζει έναν e-mail client στην οθόνη αυ-
τή, καθώς και οτιδήποτε άλλο θέλετε να
συμπεριλάβετε από πλευράς προγραμμά-
των (φάκελοι με αρχεία, σημειωματάριο,
web browser κ.λπ.). Όλα αυτά, πάντα
στην ανάλυση 640x480 την οποία δου-
λεύουμε. Αν είχατε φτιάξει τη menu bar,
που περιγράψαμε στο τεύχος Ιουνίου, θυ-
μηθείτε πως θα καλύπτει το πάνω μέρος
κάθε οθόνης.
Ξεκινήστε το Adventure Game Studio
και φορτώστε το PC Master’s Saga. Πρέπει
να δημιουργήσουμε τα GUIs που θα αποτε-
λούν το λειτουργικό σύστημα και τα προ-
γράμματα του υπολογιστή. Εννοείται πως
όλα θα πρέπει να έχουν το κατάλληλο μέ-
γεθος ώστε να χωρούν στην οθόνη που
έχετε σχεδιάσει. Το πρώτο πράγμα που θα
κληθούμε να φτιάξουμε είναι ένα μικρό
παράθυρο που ζητάει κωδικό για να μπεί-
τε στο computer. Δεν χρειάζεται να κου-
ράζουμε τον παίκτη ζητώντας του να το
εισαγάγει κάθε φορά που ανοίγει τον υπο-
λογιστή, αρκεί να το κάνει μία φορά. Επο-
μένως, χρειαζόμαστε μια συνθήκη ελέγ-
χου που να εξετάζει αν ο ζητούμενος κω-
δικός έχει εισαχθεί σωστά έστω μία φορά.
Από το Project Tree, κάνουμε διπλό κλικ
στο Global Variables, δεξί κλικ σε κάποιο
κενό σημείο και Add new variable. Ως
όνομα εισάγουμε το PasswordEntered, το
type του θα είναι bool και η αρχική του τι-
μή FALSE.
ΤΟ ΚΛΕΙΔΩΜΑ ΤΟΥ ΥΠΟΛΟΓΙΣΤΗ
Εξυπηρετεί να δημιουργήσουμε πρώτα
το GUI που θα ζητά από τον παίκτη τον
κωδικό εισόδου. Σχεδιάστε το όπως επι-
θυμείτε, αρκεί να συμπεριλάβετε έναν
χώρο στον οποίο θα πληκτρολογούμε κεί-
μενο, ένα πλήκτρο αποδοχής κι ένα ακύ-
ρωσης. Ξανά στο Project Tree, κάντε δι-
πλό κλικ στη λέξη Sprites, δεξί κλικ σε
κάποιο κενό σημείο και Import new sprite
from file. Κάντε το ίδιο και για τις εικόνες
που αντιστοιχούν στα πλήκτρα Cancel και
Continue. Έπειτα, δεξί κλικ στη λέξη
GUIs->New GUI. Στο Project Grid, πατήστε
στο BackgroundImage και βρείτε το
sprite που του αντιστοιχεί. Οι ιδιότητές
του θα πρέπει να είναι οι εξής:
Name=gKodikos, BackgroundColor =
BorderColor = (0,0,0), Visibility = Pause
game when shown. Με την τελευταία επι-
λογή εξασφαλίζουμε –χωρίς να χρειαστεί
να κάνουμε κανέναν άλλον έλεγχο– ότι ο
παίκτης δεν θα έχει καμία πρόσβαση στον
υπολογιστή αν δεν εισαγάγει το σωστό
password, αφού ακόμα κι αν βλέπει τα ει-
κονίδια στο desktop δεν θα μπορεί να κά-
νει κλικ πάνω τους. Η μόνη εναλλακτική
λύση του αν δεν το γνωρίζει, θα είναι να
πατήσει Cancel ώστε να επιστρέψει στο
γραφείο. Τέλος, θυμηθείτε στο Layout να
εισαγάγετε τις διαστάσεις της εικόνας και
το σημείο στο οποίο επιθυμείτε να εμφα-
νίζεται.
Βρείτε από την μπάρα το κουμπί Add
GUI Text Box, πατήστε το και σχεδιάστε
ένα περίγραμμα γύρω από την περιοχή
στην οποία θα πληκτρολογεί ο παίκτης.
Στο Project Grid θέστε ShowBorder =
False, Name = password. Επιλέξτε μια μι-
κρή γραμματοσειρά και κάντε διπλό κλικ
πάνω στο textbox για να δούμε τι θα γί-
νεται όταν γράφει κάτι ο παίκτης. Υποθέ-
τοντας ότι ο κωδικός είναι η λέξη
Voitsberg, στη συνάρτηση
password_OnActivate που δημιουργείται,
πληκτρολογήστε τα παρακάτω:
String pa;
pa=password.Text;
if (pa.CompareTo(«Voitsberg»)==0) {
GiveScore(5);
Display(«The password was accepted.»);
PasswordEntered=true;
gKodikos.Visible=false;
}
else {
Display(«Incorrect password.»);
password.Text=«»;
}
Ας δούμε λίγο προσεκτικά τι γράψαμε
παραπάνω. Ορίζουμε τη μεταβλητή κειμέ-
νου pa και της δίνουμε την τιμή που εισά-
γει ο παίκτης στο πεδίο password, το
οποίο είναι το textbox του GUI μας όπως
το ορίσαμε παραπάνω. Στη συνέχεια, συ-
γκρίνουμε τις δύο τιμές και, στην περίπτω-
Ο κώδικας του password GUI.
Ένας απλός e-mail client.