====== Παιχνίδι - 2ο Στάδιο ======
* Προυπάρχουσες γνώσεις : Έως και Άσκηση 8
- **ΠΡΟΚΑΘΟΡΙΣΜΕΝΑ ΧΡΩΜΑΤΑ**
- Έχουμε ορίσει το πλήκτρο **'1'** να αλλάζει το **χρώμα κειμένου** σε **μπλε** με την εντολή **textcolor(blue);** και το πλήκτρο **Shift και 1** (δηλαδή **!**) να αλλάζει το **φόντο** σε **ανοιχτό πράσινο** με την εντολή **textbackground(lightgreen);**. Πάμε να τα βάλουμε σαν **αρχικά προκαθορισμένα χρώματα** στο παιχνίδι μας. Μετά το BEGIN του κυρίως προγράμματος εισάγουμε πρώτες εντολές textcolor(blue);
textbackground(lightgreen);
clrscr;
- Βλέπουμε ότι τα χρώματα **blue** για κείμενο και **lightgreen** για φόντο ορίζονται πάντα σε 2 σημεία. Στην αρχή και μέσα στην case. Αυτό μας δείχνει ότι πρέπει να βάλουμε μία **σταθερά const** στη θέση τους για να έχουμε άνεση να τα αλλάζουμε ταυτόχρονα αν χρειαστεί. Πάνω από το **var** δηλώνουμε const
arxikoxrwma = blue;
arxikofonto = lightgreen;
- Στο κυρίως πρόγραμμα βάζουμε στην θέση του **blue** την σταθερά **arxikoxrwma** και στην θέση του **lightgreen** την σταθερά **arxikofonto**
- Τώρα μπορούμε αν θέλουμε να ορίσουμε άλλα αρχικά χρώματα που θα βρίσκονται πάντα και στα πλήκτρα **1** και **shift 1**. Δοκιμάστε να βάλετε άλλα αρχικά χρώματα και ελέγξτε αν λειτουργούν και με τα πλήκτρα π.χ. const
arxikoxrwma = red;
arxikofonto = lightblue;
- Ξαναγυρίστε στα χρώματα **blue** και **lightgreen**
- **ΕΜΦΑΝΙΣΗ pacman ΔΕΞΙΑ**
- Μέχρι τώρα εμφανίζαμε και κινούσαμε ένα κείμενο π.χ. το όνομά μας. Πάμε να εμφανίσουμε κάτι άλλο. **Ακριβώς πάνω από την πρώτη gotoxy(x,y) έξω από repeat .. until** βάλτε σε μία μεταβλητή **pacman** το χαρακτήρα **'<'**. Δηλαδή pacman:='<';
- Δηλώστε την μεταβλητή αυτή ως **string**
- Στις 2 εντολές **writeln** αντί να εμφανίσετε το όνομά σας εμφανίστε το περιεχόμενο της μεταβλητής **pacman**.
- **ΕΜΦΑΝΙΣΗ pacman ΠΑΝΩ, ΚΑΤΩ, ΑΡΙΣΤΕΡΑ, ΔΕΞΙΑ**
- Ωραία το εμφανίσαμε αλλά είναι σαν να κοιτάει ο pacman πάντα δεξιά. Θέλουμε όταν πηγαίνει αριστερά να κοιτάει αριστερά, δηλαδή **'>'**. Πάμε να βάλουμε άλλες **2 σταθερές** στο **const** pacmanaristera='>';
pacmandeksia='<';
- Τώρα μπορούμε να βάλουμε την σταθερά **pacmandeksia** στην θέση του **'<'** στην εντολή **pacman:='<';**
- Όμως θέλουμε να εμφανίζεται το **pacmanaristera** όταν πηγαίνουμε αριστερά. Μέσα στην **case** στο πλήκτρο **'j'** θα βάλουμε και μια 2η εντολή οπότε χρειαζόμαστε **begin .. end** 'j': begin
x:=x-1;
pacman:=pacmanaristera;
end;
- Αντίστοιχα φτιάξτε το **'l'** που πάει δεξιά, να έχει και **2η εντολή** που να βάζει στην μεταβλητή **pacman** το **pacmandeksia**
- Δοκιμάστε τα! Τι μας μένει; Θέλουμε χαρακτήρες για το **pacmanpanw** και **pacmankatw**. Βάλτε 2 νέες σταθερές **pacmanpanw='V'; {V αγγλικό κεφαλαίο}** και **pacmankatw='Λ'; {λαμδα κεφαλαίο}**
- Αλλάξτε μέσα στην **case** ότι χρειάζεται για να εμφανίζονται όταν πατάτε τα πλήκτρα για κάτω και πάνω.
- **ΣΤΑΘΕΡΕΣ ΠΑΝΤΟΥ**
* Ήδη χρησιμοποιήσαμε **6 σταθερές** για τα **προκαθορισμένα χρώματα** και την **εμφάνιση** του **pacman** ανάλογα με την **κατεύθυνσή** του. Θα οργανώσουμε ακόμα καλύτερα το πρόγραμμά μας βάζοντας σταθερές σε όλες τις επιλογές της **case**.
- Αρχικά θα ορίσουμε στο const την σταθερά **pliktroexodou = 'q'**. Στην συνέχεια θα αντικαταστήσουμε το **'q'** στην γραμμή until.. με **pliktroexodou**.
- Έστω ότι θα θέλαμε να αλλάξουμε τα πλήκτρα που χειριζόμαστε την κίνηση πάνω, κάτω, αριστερά, δεξιά. Θα τα βάλουμε σε σταθερές για να έχουμε ευκολία αλλαγής. Ορίστε λοιπόν στο **const** την σταθερά **pliktropanw = 'i';**
- Στην συνέχεια αντικαταστήστε στην **case** όπου **'i'** με **pliktropanw**
- Ομοίως ορίστε στο **const** τις σταθερές **pliktrokatw**, **pliktroaristera** , **pliktrodeksia**
- Αντικαταστήστε στην **case** τα **'k'**, **'j'**, **'l'** με τις αντίστοιχες σταθερές.
- Τώρα μπορείτε να βάλετε αν θέλετε, **4 άλλα πλήκτρα** για κίνηση αλλάζοντας **μόνο τις σταθερές** ενώ το κυρίως πρόγραμμα παραμένει ίδιο και πιο ευανάγνωστο. Δοκιμάστε το.
- Αν σας βολεύουν τα προηγούμενα πλήκτρα **'i'**, **'k'**, **'j'**, **'l'**, ξαναβάλτε τα πάλι πίσω
- Ομοίως φτιάχνουμε 3 σταθερές για τα πλήκτρα με τα χρώματα **pliktroxrwma1**, **pliktroxrwma2**, **pliktroxrwma3**.
- Αντικαθιστούμε στην **case** τα **'1'**, **'2'**, **'3'** με τις αντίστοιχες σταθερές.
- Τέλος φτιάχνουμε 3 σταθερές για τα πλήκτρα με τα χρώματα φόντου **pliktrofonto1**, **pliktrofonto2**, **pliktrofonto3**.
- Αντικαθιστούμε στην **case** τα **'!'**, **'@'**, **'#'** με τις αντίστοιχες σταθερές.
- **ΟΔΗΓΙΕΣ**
- Τώρα που τα έχουμε όλα σε σταθερές μπορούμε να φτιάξουμε και οδηγίες χρησιμοποιώντας αυτές τις σταθερές. Πριν από την εντολή **pacman:=pacmandeksia** εμφανίστε οδηγίες με την παρακάτω εντολή writeln('Κίνηση με : ', pliktroaristera, pliktropanw, pliktrokatw, pliktrodeksia);
- Φτιάξτε 2ο μήνυμα **Χρώματα με ** και δίπλα να εμφανίζονται τα πλήκτρα για τα χρώματα.
- Επίσης 3ο μήνυμα **Φόντο με ** και δίπλα να εμφανίζονται τα πλήκτρα για το φόντο.