Σχολικές αναμνήσεις...
- Darth_Cotsos
- Συντάκτης θέματος
- Platinum Member
- Δημοσιεύσεις: 664
- Ληφθείσες Ευχαριστίες 676
Κάποια τα βρήκα σε μία εντελώς ημιτελή κατάσταση που δεν είναι σε θέση να μπουν για download αλλά έχουν και αυτά μικρές αναμνήσεις από εκείνη την εποχή.
Κατάφερα να τρέξω τρία απο αυτά για να σας παρουσιάσω ένα screenshoot μαζί με κάποιες από τις αναμνήσεις!!!
Πρώτο λοιπόν το Star Wars!!!
Όχι δεν πρόκειται για την γνωστή ταινία επιστημονικής φαντασίας αλλά για ένα πολύ απλό game που έφτιαξα για μία απλή εργασία της σχολής.
Ο καθηγητής μια μέρα προσπαθούσε να μας εξηγήσει πως μέσα από την Pascal μπορούμε να ελέγχουμε τα cursor keys και άλλα special keys. Εξήγησε ο άνθρωπος έγραψε και ένα μικρό κομμάτι κώδικα που έλεγχες τον κέρσορα με τα... βελάκια και στο τέλος λέει προσπαθήστε και εσείς!!! Φτιάξτε ένα απλό παιχνίδι. Δε χρειάζονται γραφικά απλά με χαρακτήρες. Το "Α" είναι το κανονάκι το "W" το ούφο και το "Ι" η βολίδα που θα ρίχνει το κανονάκι!!!
Όλοι είχαν μείνει με το στόμα ανοιχτό... Τι να φτιάξουμε τώρα??? Τι είναι αυτά που λέει ο τύπος?? και άλλα τέτοια.
Εμένα όμως με έτρωγε άλλο... Παιχνίδι χωρίς γραφικά??? δεν λέει!!! Θα το κάνω με γραφικά σκέτοι χαρακτήρες χαζό θα είναι...
Φτάνω σπίτι και ξεκινώ αμέσως!!! Το αποτέλεσμα μετά από λίγες ώρες είναι το Starwars!!!
Υπήρχε μία εισαγωγική οθόνη, hiscores και όλα όσα ήθελε ο καθηγητής.
Την άλλη μέρα στα εργαστήρια ο άνθρωπος προσπαθούσε να λύσει τις απορίες όσων δεν είχαν καταλάβει κάποια πράγματα και γενικά κοιτούσε και τι έκανε ο καθένας πάνω στον έλεγχο του πληκτρολογίου γενικά!!!
Κάποια στιγμή φτάνει και σε μένα βλέπει την οθόνη σκύβει και μου λέει.
- Σε παρακαλώ κλειστό αυτό... αφού ξέρεις ότι δεν επιτρέπονται παιχνίδια. Μη βρεθούμε σε δύσκολη θέση!!!
- Μα δεν είναι παιχνίδι!!! Είναι αυτό που μας ζητήσατε να κάνουμε χθες με τα cursor keys και το κανονάκι??? Και πατάω exit και ιδού αμέσως εμφανίζετε το περιβάλλον της Turbo Pascal 5.5 με τον κώδικα του παιχνιδιού. Δύο δευτερόλεπτα άφωνος ο τύπος και μετά μου λέει να σου φέρω ένα βιβλίο που γράφει και για ήχους ώστε να κάνει και κάποιο μπλιπ μπλιπ!!!
- Θα του έβαζα αλλά εδώ δεν θα ακουγόταν έτσι και αλλιώς από το ηχείο του PC!!!
Ωστόσο το βιβλίο αυτό μου το έφερε λίγες μέρες αργότερα ώστε να μπορέσω να τελειοποιήσω τις ρουτίνες του mouse στο K_Draw ένα πρόγραμμα ζωγραφικής και να βάλω υποστήριξη για εκτυπωτή. Το τελευταίο δυστυχώς δεν έγινε ποτέ...
Don't underestimate the power of the 8bit side!
Παρακαλούμε Σύνδεση ή Δημιουργία λογαριασμού για να συμμετάσχετε στη συζήτηση.
- bakoulis
- Senior Member
- Δημοσιεύσεις: 96
- Ληφθείσες Ευχαριστίες 4
Προφανώς τότε δεν θα στηρίχθηκες σε αυτά που άκουσες στην παράδοση και σίγουρα δε θα ήταν η πρώτη σου επαφή με Pascal. Αλλιώς είναι παράλογο να έφτιαξες κάτι τόσο προχωρημένο έτσι ξαφνικά. Αλλά ο φουκαράς ο καθηγητής σου που να φανταστεί ότι θα έπεφτε πάνω σε έμπειρο προγραμματιστή!
Παρακαλούμε Σύνδεση ή Δημιουργία λογαριασμού για να συμμετάσχετε στη συζήτηση.
- Darth_Cotsos
- Συντάκτης θέματος
- Platinum Member
- Δημοσιεύσεις: 664
- Ληφθείσες Ευχαριστίες 676
Είχα αρχίσει από το πρώτο έτος να ασχολούμαι με αυτά, θα δεις και σε επόμενα ποστ γραφικό περιβάλλον για dos και άλλα κουλά!!!
Τώρα για τελειοποίηση... αν δεν βαριέμαι
Don't underestimate the power of the 8bit side!
Παρακαλούμε Σύνδεση ή Δημιουργία λογαριασμού για να συμμετάσχετε στη συζήτηση.
- bakoulis
- Senior Member
- Δημοσιεύσεις: 96
- Ληφθείσες Ευχαριστίες 4
Παρακαλούμε Σύνδεση ή Δημιουργία λογαριασμού για να συμμετάσχετε στη συζήτηση.
- Darth_Cotsos
- Συντάκτης θέματος
- Platinum Member
- Δημοσιεύσεις: 664
- Ληφθείσες Ευχαριστίες 676
Don't underestimate the power of the 8bit side!
Παρακαλούμε Σύνδεση ή Δημιουργία λογαριασμού για να συμμετάσχετε στη συζήτηση.
- bakoulis
- Senior Member
- Δημοσιεύσεις: 96
- Ληφθείσες Ευχαριστίες 4
Παρακαλούμε Σύνδεση ή Δημιουργία λογαριασμού για να συμμετάσχετε στη συζήτηση.
- Fotis_KFOR
- Site Owner / Admin
- PC / Sinclair ZX Spectrum+3
Αντίστοιχα θυμάμαι και εγώ που τους είχα τρελάνει όλους όταν ο καθηγητής μας είπε να κάνουμε ένα απλό πρόγραμμα με κάποιες επιλογές, αλλά αντί να γράψω σε text τις επιλογές και με readln να βάζει ένα αριθμό ο χρήστης για να επιλέξει, το έφτιαξα με...popup menu που έιχα ένα τεράστιο τόμο-βιβλίο για την Turbo Pascal και μείνανε όλοι!
Να βλέπεις το κλασικό μπλε DOS popup μενού και να μένεις .... κάγκελο!!! Αυτές ήταν εποχές!!!! Τι internet και ιστορίες.....
My Collection / Projects / Various :
Computers , Consoles-Pongs , Various , Not-working , Handhelds-Tabletops , Intel p4004 (First CPU) , Old Hardware Parts , Magazines ,
Retro Computer Project , M.A.M.E. Cabinets , My Retro Computers & Consoles Room
UP THE IRONS!!! - My Iron Maiden Collection
My Wish List : www.retrocomputers.gr/collection/my-wish-list ;)
KEEP RETRO
Παρακαλούμε Σύνδεση ή Δημιουργία λογαριασμού για να συμμετάσχετε στη συζήτηση.
- Darth_Cotsos
- Συντάκτης θέματος
- Platinum Member
- Δημοσιεύσεις: 664
- Ληφθείσες Ευχαριστίες 676
Μιλάμε πάντα για TP 5.5 και RM Cobol '85...
Don't underestimate the power of the 8bit side!
Παρακαλούμε Σύνδεση ή Δημιουργία λογαριασμού για να συμμετάσχετε στη συζήτηση.
- Fotis_KFOR
- Site Owner / Admin
- PC / Sinclair ZX Spectrum+3
My Collection / Projects / Various :
Computers , Consoles-Pongs , Various , Not-working , Handhelds-Tabletops , Intel p4004 (First CPU) , Old Hardware Parts , Magazines ,
Retro Computer Project , M.A.M.E. Cabinets , My Retro Computers & Consoles Room
UP THE IRONS!!! - My Iron Maiden Collection
My Wish List : www.retrocomputers.gr/collection/my-wish-list ;)
KEEP RETRO
Παρακαλούμε Σύνδεση ή Δημιουργία λογαριασμού για να συμμετάσχετε στη συζήτηση.
- Fotis_KFOR
- Site Owner / Admin
- PC / Sinclair ZX Spectrum+3
Είχα φτιάξει μια μονάδα (TPU) που περιλάμβανε αρκετά χρήσιμα εργαλεία (procedures & functions) που τα χρησιμοποιούσε κάποιος που περιλάμβανε τη μονάδα αυτή στο πρόγραμμα του.
Στην μονάδα Fotis.tpu περιέχονται 33 διαδικασίες (procedures) και 4 συναρτήσεις (functions). Για να χρησιμοποιηθεί η μονάδα από την Turbo Pascal πρέπει να την δηλώσουμε στο τμήμα ‘Uses’ του προγράμματος μας π.χ. Uses Crt,Fotis;
Μέσα στον κατάλογο fotis.tpu που επισυνάπτω, περιέχεται ολόκληρος ο πηγαίος κώδικας (source code) του προγράμματος ο οποίος είναι γραμμένος σε Turbo Pascal version 6.0 ώστε να είναι διαθέσιμος προς μελέτη και εκμάθηση του προγράμματος αλλά και γενικότερα στον προγραμματισμό της Turbo Pascal version 6.0, αλλά και και το μεταγλωτισμένο αρχείο .TPU (με την Turbo Pascal 6).
Οι 33 διαδικασίες (procedures) και 4 συναρτήσεις (functions) που περιέχονται στην Fotis.tpu είναι οι εξής :
1. ADD
2. SUBSTRUCT
3. MULTIPLY
4. DIVIDE
5. SWAPVARIABLES
6. SQUARE3
7. SQUARE4
8. SQUARE5
9. SOUARE6
10. BEEP
11. PAUSE
12. PAUSEWITHMSG
13. PAUSECLS
14. PAUSEWITHMSGCLS
15. BSAVE
16. BLOAD
17. NOSPACEATEND
18. CHECKGROK
19. CIRCLEDEMO
20. PRINTDRIVES
21. PRINTXMS
22. DRAWRANDOMPIXELS
23. DRAWRANDOMPOLY
24. MERGE
25. GETFILEATTRIBUTES
26. SETFILEATTRIBUTES
27. GETFILETIMEANDDATE
28. SETFILETIMEANDDATE
29. EXITTODOS
30. GETSYSTEMDATE
31. SETSYSTEMDATE
32. GETSYSTEMTIME
33. SETSYSTEMTIME
1. GETSERIALNUMBER
2. INVERSE
3. BINARYDIGIT
4. DELTREE
Παρακάτω περιγράφονται συνοπτικά οι λειτουργίες των procedures και των functions, δηλαδή το τι ακριβώς κάνει η καθεμία, και μετά ο τρόπος σύνταξης τους στα προγράμματα (είναι έτσι όπως έχουν συνταχθεί στην Fotis.tpu, ώστε να συνταχθούν και έτσι αντίστοιχα στα προγράμματα που θα δημιουργηθούν από αυτή τη μονάδα).
1. ADD (Προσθέτει 2 αριθμούς)
2. SUBSTRUCT (Αφαιρεί 2 αριθμούς)
3. MULTIPLY (Πολλαπλασιάζει 2 αριθμούς)
4. DIVIDE (Διαιρεί 2 αριθμούς)
5. SWAPVARIABLES (Ανταλλάζει τις τιμές 2 μεταβλητών)
6. SQUARE3 (Βάζει σε ένα αριθμό εις την 3η (δύναμη))
7. SQUARE4 (Βάζει σε ένα αριθμό εις την 4η (δύναμη))
8. SQUARE5 (Βάζει σε ένα αριθμό εις την 5η (δύναμη))
9. SOUARE6 (Βάζει σε ένα αριθμό εις την 6η (δύναμη))
10. BEEP (Παράγει κάποιο ήχο)
11. PAUSE (Περιμένει να πατηθεί ένα πλήκτρο για να συνεχίσει)
12. PAUSEWITHMSG (Περιμένει να πατηθεί ένα πλήκτρο για να συνεχίσει τυπώνοντας και ένα μήνυμα)
13. PAUSECLS (Περιμένει να πατηθεί ένα πλήκτρο για να συνεχίσει και κατόπιν καθαρίζει την οθόνη)
14. PAUSEWITHMSGCLS (Περιμένει να πατηθεί ένα πλήκτρο για να συνεχίσει τυπώνοντας και ένα μήνυμα και κατόπιν καθαρίζει την οθόνη)
15. BSAVE (Προσομοιώνει την εντολή bsave της Basic)
16. BLOAD (Προσομοιώνει την εντολή bload της Basic)
17. NOSPACEATEND (Αφαιρεί σε κάποιο string το κενό στο τέλος)
18. CHECKGROK (Κάνει έλεγχο αρχικοποίησης γραφικών)
19. CIRCLEDEMO (Σχεδιάζει διάφορους πολύχρωμους κύκλους)
20. PRINTDRIVES (Μας τυπώνει τι Disk Drives έχουμε στον Η/Υ και τι τύπου είναι π.χ 5 ¼ ή 3 ½ )
21. PRINTXMS (Μας δείχνει πόση μνήμη XMS έχουμε ελεύθερη)
22. DRAWRANDOMPIXELS (Σχεδιάζει σε τυχαία σημεία pixels)
23. DRAWRANDOMPOLY (Σχεδιάζει σε τυχαία σημεία πολύγωνα)
24. MERGE (Συγχωνεύει 2 αρχεία σε ένα)
25. GETFILEATTRIBUTES (Μας δείχνει τις ιδιότητες κάποιου αρχείου)
26. SETFILEATTRIBUTES (Αλλάζουμε τις ιδιότητες σε κάποιο αρχείο)
27. GETFILETIMEANDDATE (Μας δείχνει την ημερομηνία και την ώρα που δημιουργήθηκε κάποιο αρχείο)
28. SETFILETIMEANDDATE (Αλλάζουμε την ώρα και την ημερομηνία σε ένα αρχείο)
29. EXITTODOS (Τερματίζει και μας βγάζει σε Dos Prompt)
30. GETSYSTEMDATE (Μας δείχνει την ημερομηνία του συστήματος)
31. SETSYSTEMDATE (Αλλάζουμε την ημερομηνία του συστήματος)
32. GETSYSTEMTIME (Μας δείχνει την ώρα του συστήματος)
33. SETSYSTEMTIME (Αλλάζουμε την ώρα του συστήματος)
1. GETSERIALNUMBER (Μας δείχνει το serial number σε δισκέτες ή το σκληρό δίσκο)
2. INVERSE (Μας επιστρέφει ένα string αντίστροφα)
3. BINARYDIGIT (Μας επιστρέφει το δυαδικό αριθμό του αριθμού που του δώσαμε)
4. DELTREE (Κάνει ότι και η διαταγή deltree του Ms-Dos, διαγράφει δηλαδή καταλόγους και αρχεία)
Τρόπος σύνταξης Procedures
procedure add(a,b:integer);
procedure substruct(a,b:integer);
procedure multiply(a,b:integer);
procedure divide(a,b:integer);
procedure swapvariables(var a,b:integer);
procedure square3(var k:integer);
procedure square4(var k:integer);
procedure square5(var k:integer);
procedure square6(var k:integer);
procedure beep(f,t:integer); {f είναι το ύψος και t η διάρκεια του ήχου}
procedure pause;
procedure pausewithmsg;
procedure pausecls;
procedure pausewithmsgcls;
procedure bsave(filename:string;address:pointer;l:word);
procedure bload(filename:string;address:pointer);
procedure nospaceatend(var s:maxstr);
procedure checkgrok;
procedure circledemo;
procedure printdrives;
procedure printxms;
procedure drawrandompixels;
procedure drawrandompoly;
procedure merge(fname1,fname2,fname3:str80); {Το fname1 και το fname2 είναι τα ονόματα των 2 αρχείων που θέλουμε να συγχωνευτούνε και το fname3 είναι το όνομα που θα πάρει το αρχείο που θα δημιουργηθεί}
procedure getfileattributes;
procedure setfileattributes;
procedure getfiletimeanddate;
procedure setfiletimeanddate;
procedure exittodos;
procedure getsystemdate;
procedure setsystemdate;
procedure getsystemtime;
procedure setsystemtime;
Τρόπος σύνταξης Functions
function getserialnumber(drive:integer):serialnot; {writeln(getserialnumber(αριθμός)); όπου ο αριθμός 1 αντιστοιχεί για το disk drive Α:, ο αριθμός 2 αντιστοιχεί για το disk drive B: και ο αριθμός 3 αντιστοιχεί για το σκληρό δίσκο}
function inverse(lexi:string):string;
function binarydigit(b:byte):binstr;
function deltree(dirname:string):integer;
ΣΗΜΕΙΩΣΗ : Με την Free Pascal δείχνει σωστά τα ελληνικά που έχω για σχόλια στον πηγαίο κώδικα ενώ αυτό δυστυχώς δεν γίνεται και στο Lazarus. Οπότε αν το ανοίξετε με κάποια άλλη Pascal πέρα από την turbo pascal ή την free pascal τα ελληνικά θα σας τα βγάζει "κινέζικα"
My Collection / Projects / Various :
Computers , Consoles-Pongs , Various , Not-working , Handhelds-Tabletops , Intel p4004 (First CPU) , Old Hardware Parts , Magazines ,
Retro Computer Project , M.A.M.E. Cabinets , My Retro Computers & Consoles Room
UP THE IRONS!!! - My Iron Maiden Collection
My Wish List : www.retrocomputers.gr/collection/my-wish-list ;)
KEEP RETRO
Παρακαλούμε Σύνδεση ή Δημιουργία λογαριασμού για να συμμετάσχετε στη συζήτηση.
- Brandon
- Elite Member
- Δημοσιεύσεις: 348
- Ληφθείσες Ευχαριστίες 67
Why...???Why Harry McDowel???
Παρακαλούμε Σύνδεση ή Δημιουργία λογαριασμού για να συμμετάσχετε στη συζήτηση.