Σχολικές αναμνήσεις...

  • Darth_Cotsos
  • Το Άβαταρ του/της Darth_Cotsos Συντάκτης θέματος
  • Platinum Member
  • Platinum Member
Περισσότερα
29/07/2012 22:55 - 29/07/2012 22:57 #1211 από Darth_Cotsos
Σχολικές αναμνήσεις... δημιουργήθηκε από Darth_Cotsos
Όπως ανάφερε ο Φώτης αλλά και εγώ στην ενότητα για την Turbo Pascal υπάρχουν και από τους δυο μας από την εποχή των χρόνων της σχολής κάποια προγράμματα σε TP.
Κάποια τα βρήκα σε μία εντελώς ημιτελή κατάσταση που δεν είναι σε θέση να μπουν για download αλλά έχουν και αυτά μικρές αναμνήσεις από εκείνη την εποχή.
Κατάφερα να τρέξω τρία απο αυτά για να σας παρουσιάσω ένα screenshoot μαζί με κάποιες από τις αναμνήσεις!!!
Πρώτο λοιπόν το Star Wars!!!
Όχι δεν πρόκειται για την γνωστή ταινία επιστημονικής φαντασίας αλλά για ένα πολύ απλό game που έφτιαξα για μία απλή εργασία της σχολής.



Ο καθηγητής μια μέρα προσπαθούσε να μας εξηγήσει πως μέσα από την Pascal μπορούμε να ελέγχουμε τα cursor keys και άλλα special keys. Εξήγησε ο άνθρωπος έγραψε και ένα μικρό κομμάτι κώδικα που έλεγχες τον κέρσορα με τα... βελάκια και στο τέλος λέει προσπαθήστε και εσείς!!! Φτιάξτε ένα απλό παιχνίδι. Δε χρειάζονται γραφικά απλά με χαρακτήρες. Το "Α" είναι το κανονάκι το "W" το ούφο και το "Ι" η βολίδα που θα ρίχνει το κανονάκι!!!
Όλοι είχαν μείνει με το στόμα ανοιχτό... Τι να φτιάξουμε τώρα??? Τι είναι αυτά που λέει ο τύπος?? και άλλα τέτοια.
Εμένα όμως με έτρωγε άλλο... Παιχνίδι χωρίς γραφικά??? δεν λέει!!! Θα το κάνω με γραφικά σκέτοι χαρακτήρες χαζό θα είναι... :P

Φτάνω σπίτι και ξεκινώ αμέσως!!! Το αποτέλεσμα μετά από λίγες ώρες είναι το Starwars!!!
Υπήρχε μία εισαγωγική οθόνη, hiscores και όλα όσα ήθελε ο καθηγητής.
Την άλλη μέρα στα εργαστήρια ο άνθρωπος προσπαθούσε να λύσει τις απορίες όσων δεν είχαν καταλάβει κάποια πράγματα και γενικά κοιτούσε και τι έκανε ο καθένας πάνω στον έλεγχο του πληκτρολογίου γενικά!!!
Κάποια στιγμή φτάνει και σε μένα βλέπει την οθόνη σκύβει και μου λέει.
- Σε παρακαλώ κλειστό αυτό... αφού ξέρεις ότι δεν επιτρέπονται παιχνίδια. Μη βρεθούμε σε δύσκολη θέση!!!
- Μα δεν είναι παιχνίδι!!! Είναι αυτό που μας ζητήσατε να κάνουμε χθες με τα cursor keys και το κανονάκι??? Και πατάω exit και ιδού αμέσως εμφανίζετε το περιβάλλον της Turbo Pascal 5.5 με τον κώδικα του παιχνιδιού. Δύο δευτερόλεπτα άφωνος ο τύπος και μετά μου λέει να σου φέρω ένα βιβλίο που γράφει και για ήχους ώστε να κάνει και κάποιο μπλιπ μπλιπ!!!



- Θα του έβαζα αλλά εδώ δεν θα ακουγόταν έτσι και αλλιώς από το ηχείο του PC!!! :lol:
Ωστόσο το βιβλίο αυτό μου το έφερε λίγες μέρες αργότερα ώστε να μπορέσω να τελειοποιήσω τις ρουτίνες του mouse στο K_Draw ένα πρόγραμμα ζωγραφικής και να βάλω υποστήριξη για εκτυπωτή. Το τελευταίο δυστυχώς δεν έγινε ποτέ... :dry:

Don't underestimate the power of the 8bit side!
Συνημμένα:

Παρακαλούμε Σύνδεση ή Δημιουργία λογαριασμού για να συμμετάσχετε στη συζήτηση.

  • bakoulis
  • Το Άβαταρ του/της bakoulis
  • Senior Member
  • Senior Member
Περισσότερα
29/07/2012 23:11 #1212 από bakoulis
Απαντήθηκε από bakoulis στο θέμα Απ: Σχολικές αναμνήσεις...
Πολύ όμορφο δείχνει, δεν ψήνεσαι να το τελειοποιήσεις και να μας το προσφέρεις compiled?.
Προφανώς τότε δεν θα στηρίχθηκες σε αυτά που άκουσες στην παράδοση και σίγουρα δε θα ήταν η πρώτη σου επαφή με Pascal. Αλλιώς είναι παράλογο να έφτιαξες κάτι τόσο προχωρημένο έτσι ξαφνικά. Αλλά ο φουκαράς ο καθηγητής σου που να φανταστεί ότι θα έπεφτε πάνω σε έμπειρο προγραμματιστή!

Παρακαλούμε Σύνδεση ή Δημιουργία λογαριασμού για να συμμετάσχετε στη συζήτηση.

  • Darth_Cotsos
  • Το Άβαταρ του/της Darth_Cotsos Συντάκτης θέματος
  • Platinum Member
  • Platinum Member
Περισσότερα
29/07/2012 23:20 #1213 από Darth_Cotsos
Απαντήθηκε από Darth_Cotsos στο θέμα Απ: Σχολικές αναμνήσεις...
Βασικά εκείνο που δεν περίμενε ήταν τα γραφικά... Στα μαθήματα δεν τα περιελάμβαναν. Το βιβλίο του Yester που μας είχαν προτείνει όμως είχε τα πάντα!!!
Είχα αρχίσει από το πρώτο έτος να ασχολούμαι με αυτά, θα δεις και σε επόμενα ποστ γραφικό περιβάλλον για dos και άλλα κουλά!!!
Τώρα για τελειοποίηση... αν δεν βαριέμαι :whistle: :P :lol:

Don't underestimate the power of the 8bit side!

Παρακαλούμε Σύνδεση ή Δημιουργία λογαριασμού για να συμμετάσχετε στη συζήτηση.

  • bakoulis
  • Το Άβαταρ του/της bakoulis
  • Senior Member
  • Senior Member
Περισσότερα
29/07/2012 23:33 #1219 από bakoulis
Απαντήθηκε από bakoulis στο θέμα Απ: Σχολικές αναμνήσεις...
Λογικά με την τωρινή σου κατάρτιση θα είναι 1 ώρα δουλειά. Διέθεσε λίγο χρόνο να τελειοποιήσεις το παιχνίδι των σχολικών σου χρόνων! Και να μας το προσφέρεις φυσικά!

Παρακαλούμε Σύνδεση ή Δημιουργία λογαριασμού για να συμμετάσχετε στη συζήτηση.

  • Darth_Cotsos
  • Το Άβαταρ του/της Darth_Cotsos Συντάκτης θέματος
  • Platinum Member
  • Platinum Member
Περισσότερα
30/07/2012 00:42 #1225 από Darth_Cotsos
Απαντήθηκε από Darth_Cotsos στο θέμα Απ: Σχολικές αναμνήσεις...
Δηλαδή εσύ πόσα δίνεις για να το ξεθάψω από εκεί που το έχω??? B)
:lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol:

Don't underestimate the power of the 8bit side!

Παρακαλούμε Σύνδεση ή Δημιουργία λογαριασμού για να συμμετάσχετε στη συζήτηση.

  • bakoulis
  • Το Άβαταρ του/της bakoulis
  • Senior Member
  • Senior Member
Περισσότερα
30/07/2012 03:05 #1226 από bakoulis
Απαντήθηκε από bakoulis στο θέμα Απ: Σχολικές αναμνήσεις...
Είδες τι σου έλεγα; Αυτό μου λένε όλοι!!!

Παρακαλούμε Σύνδεση ή Δημιουργία λογαριασμού για να συμμετάσχετε στη συζήτηση.

  • Fotis_KFOR
  • Το Άβαταρ του/της Fotis_KFOR
  • Site Owner / Admin
  • Site Owner / Admin
  • PC / Sinclair ZX Spectrum+3
Περισσότερα
30/07/2012 11:03 #1234 από Fotis_KFOR
Απαντήθηκε από Fotis_KFOR στο θέμα Απ: Σχολικές αναμνήσεις...
Πολύ ωραίο Κώστα.

Αντίστοιχα θυμάμαι και εγώ που τους είχα τρελάνει όλους όταν ο καθηγητής μας είπε να κάνουμε ένα απλό πρόγραμμα με κάποιες επιλογές, αλλά αντί να γράψω σε text τις επιλογές και με readln να βάζει ένα αριθμό ο χρήστης για να επιλέξει, το έφτιαξα με...popup menu που έιχα ένα τεράστιο τόμο-βιβλίο για την Turbo Pascal και μείνανε όλοι!

Να βλέπεις το κλασικό μπλε DOS popup μενού και να μένεις .... κάγκελο!!! Αυτές ήταν εποχές!!!! Τι internet και ιστορίες..... :evil:

Παρακαλούμε Σύνδεση ή Δημιουργία λογαριασμού για να συμμετάσχετε στη συζήτηση.

  • Darth_Cotsos
  • Το Άβαταρ του/της Darth_Cotsos Συντάκτης θέματος
  • Platinum Member
  • Platinum Member
Περισσότερα
30/07/2012 11:25 #1235 από Darth_Cotsos
Απαντήθηκε από Darth_Cotsos στο θέμα Απ: Σχολικές αναμνήσεις...
Κάτι αντίστοιχο είχα κάνει και εγώ, ωστόσο αφορούσε cobol!!! Είχα φτιάξει τα μενού σε TP για να είναι pop up κλπ και καλούσα τη runtime της cobol από εκεί!!! Η cobol δεν είχε τέτοια κόλπα ώστε να φτιάξεις ένα φιλικό user interface αλλά σε συνδυασμό με την TP σκότωνε!!! :lol: Στη Pascal τα popup μενουδάκια ήταν must... :P
Μιλάμε πάντα για TP 5.5 και RM Cobol '85... B)

Don't underestimate the power of the 8bit side!

Παρακαλούμε Σύνδεση ή Δημιουργία λογαριασμού για να συμμετάσχετε στη συζήτηση.

  • Fotis_KFOR
  • Το Άβαταρ του/της Fotis_KFOR
  • Site Owner / Admin
  • Site Owner / Admin
  • PC / Sinclair ZX Spectrum+3
Περισσότερα
30/07/2012 11:42 #1237 από Fotis_KFOR
Απαντήθηκε από Fotis_KFOR στο θέμα Απ: Σχολικές αναμνήσεις...
RM Cobol κάναμε και αλλά δεν μου πολυάρεσε μιας και ήταν δύσχρηστη και πρόσφερε πολύ λίγα (και αν την συγκρίναμε και με την PASCAL...) :silly:

Παρακαλούμε Σύνδεση ή Δημιουργία λογαριασμού για να συμμετάσχετε στη συζήτηση.

  • Fotis_KFOR
  • Το Άβαταρ του/της Fotis_KFOR
  • Site Owner / Admin
  • Site Owner / Admin
  • PC / Sinclair ZX Spectrum+3
Περισσότερα
11/09/2012 06:53 - 11/09/2012 06:57 #2065 από Fotis_KFOR
Απαντήθηκε από Fotis_KFOR στο θέμα Απ: Σχολικές αναμνήσεις...
Βάζω και εγώ ένα πρόγραμμα που ξεκίνησα να το φτιάχνω όταν τελείωνα το λύκειο το 1995 αλλά το τελείωσα σχεδόν το ....2003 λόγω υποχρεώσεων, χόμπυ είναι εξάλλου, δεν μας κυνηγάει κανένας.

Είχα φτιάξει μια μονάδα (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 είναι οι εξής :
Procedures

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
Functions

1. GETSERIALNUMBER
2. INVERSE
3. BINARYDIGIT
4. DELTREE


Παρακάτω περιγράφονται συνοπτικά οι λειτουργίες των procedures και των functions, δηλαδή το τι ακριβώς κάνει η καθεμία, και μετά ο τρόπος σύνταξης τους στα προγράμματα (είναι έτσι όπως έχουν συνταχθεί στην Fotis.tpu, ώστε να συνταχθούν και έτσι αντίστοιχα στα προγράμματα που θα δημιουργηθούν από αυτή τη μονάδα).




Procedures



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 (Αλλάζουμε την ώρα του συστήματος)


Functions



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 τα ελληνικά θα σας τα βγάζει "κινέζικα"
Συνημμένα:

Παρακαλούμε Σύνδεση ή Δημιουργία λογαριασμού για να συμμετάσχετε στη συζήτηση.

  • Brandon
  • Το Άβαταρ του/της Brandon
  • Elite Member
  • Elite Member
Περισσότερα
13/09/2012 22:51 #2096 από Brandon
Απαντήθηκε από Brandon στο θέμα Απ: Σχολικές αναμνήσεις...
Απο μικρός διάνοια ο My Lord!!!!Μπράβο σε όσοθς τα πιάνουν κ τα καταλαβαίνουν όλα αυτά!!!!Εγώ δηλώνω άσχετος!!!!

Why...???Why Harry McDowel???

Παρακαλούμε Σύνδεση ή Δημιουργία λογαριασμού για να συμμετάσχετε στη συζήτηση.

Χρόνος δημιουργίας σελίδας: 0.262 δευτερόλεπτα
Powered by Kunena Φόρουμ

great retro computers and retro consoles companies logos