Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Δεν μπορουσες να τα πεις καλυτερα απο εμενα.Μπορει να εχω γνωσεις αλλα δεν εχω ανθρωπιστικη παιδεια.Εσυ που εχεις εβαλες καποια πραγματα στη θεση τους.Σωστο το point σου λοιπον.

 

Στον δικο μου ιδανικο κοσμο ΝΑΙ μακαρι να ισχυε κατι τετοιο.Δεν μπορει ο καθενας να πεταει την @@@ του

 

Στο δικό σου κόσμο θα έκρινες εσύ. Σε υποτιθέμενους κόσμους άλλων, εσύ λες βλακείες. Εάν δε υπολογίσουμε ότι εσύ ούτε καν έχεις βγει από το αυγό σου, δεν κερδίζεις τα προς το ζην σου, δεν έχεις κανενός είδους πανεπιστημιακής εκπαίδευσης... τότε (προς το παρόν) θα έπρεπε εσύ να μην μπορείς να λες τίποτα.

 

Αλλά και όταν θα έχεις κάποια "χαρτιά"... ποιος λέει ότι εσύ και όχι ο άλλος έχεις δίκιο; Επειδή εσένα σου φαίνεται σωστό, σημαίνει και ότι είναι; Επίσης, επειδή κάποιος έχει λεφτά (π.χ.) και μπορεί να ορίζει (βάσει ισχύος) τι είναι σωστό και τι όχι σημαίνει ότι είναι όντως έτσι;

 

Τέλος, καταλαβαίνεις ότι ο μόνος λόγος που μπορείς και εκφέρεις τέτοιες απόψεις είναι ότι υπάρχει δημοκρατία και εσύ μπορεί να υπερασπίζεσαι ότι η δική σου γνώμη είναι η σωστότερη και όλοι οι άλλοι πρέπει να σωπάσουν; Κοινώς, καταλαβαίνεις ότι ο μόνος λόγος που υπερασπίζεσαι φασιστικές απόψεις είναι επειδή κανένας δεν σου επέβαλε φασιστικά τρόπους και πράξεις που εσύ δεν συμφωνείς;

 

 

Τι να πω...; Είσαι πιτσιρίκος και κάπως το καταπίνω... ειδεμή ντρέπομαι και λυπούμαι που στον κλάδο μου υπάρχουν τέτοιες απόψεις.

  • Like 1
Δημοσ.

Δεν βλέπω "φασιστικές απόψεις" και προφανώς κάτι πήρε στραβά ο Groot. Παρακαλώ για τις ανάγκες τις επικοινωνίας σας χρησιμοποιήστε PM..

Ευχαριστώ!

Δημοσ.

Αν έχω καταλάβει καλά η γλώσσα που έχει φτιάξεις είναι εναλλακτική της VB. Όπως ήδη γνωρίζει ένας μεγάλος λόγος της επιτυχίας της VB είναι το GUI design και το QT σε αυτό τον τομέα είναι κορυφή , όχι μόνο γιατί τρέχει σε όλες τις πλατφόρμες , όχι μόνο γιατί έχει Native Look αλλά και γιατί στην ουσία έρχεται με το δικό του IDE , GUI designer.

 

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

 

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

 

Ναι με το QT η Μ2000 θα πάει έτη φωτός μπροστά στο κλάδο GUI και φυσικά θα έχει και ενα IDE με GUI designers. Δες πχ το pyQT

 

https://wiki.python.org/moin/PyQt

 

Και εννοείται υπάρχουν πολλά άλλες βιβλιοθήκες που μπορείς να προσθέσεις.

Δημοσ. (επεξεργασμένο)

..........

 

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

............

 

Η Μ2000 δεν είναι γλώσσα που θα αντικαταστήσει γλώσσες με μεγάλη απήχηση. Αν είχα βάλει το QT, και θα έπρεπε να υποχρέωνα τον όποιο χρήστη της Μ2000 να φορτώσει αυτές τις βιβλιοθήκες και θα έπρεπε να κοιτάω αν θα έχω θέμα με τροποποιήσεις τους. Κάνω το απλό και βάζω "απλές" φόρμες. Απλές για να στηρίξει κανείς την εφαρμογή που θέλει να γράψει, κάτι απλό δηλαδή. Η Μ2000 γράφτηκε για να δοκιμάζει κανείς διάφορα πράγματα, επειδή μπορείς γρήγορα να τα κάνεις.

H M2000 δεν είναι εναλλακτική της VB6. Είναι μια basic με αντικείμενα και τώρα έχει και φόρμες! Απευθύνεται σε μερακλήδες! Αν θες μπορείς να φτιάξεις ένα παιχνίδι σε αυτήν. Έχει sprites. Αν θες φτιάξε γραφικά. Αν θες φτιάξε κάποια βάση δεδομένων και κοίταξε τι μπορείς να κάνεις. Μπορείς να ασχοληθείς. Αν είσαι τόσο παλαβός μπορεί να την κάνεις Front End για κάτι (έχει εντολή Dos που στέλνει εντολές στην κονσόλα και Win που στέλνει εντολές στο Run).

Το καλό είναι ότι θες μόνο ένα exe και ένα mdb (αν θες το πετάς και αυτό)...και η γλώσσα τρέχει...χωρίς installation. Σε όποιοδήποτε μηχάνημα από XP και πάνω...με οποιαδήποτε γλώσσα (π.χ. Windows Αγγλικά...τρέχει κανονικά)

Επεξ/σία από M2000
Δημοσ.

Για τη Μ2000:

Η εφαρμογή που τρέχει τη γλώσσα είναι γραμμένη σε VB6, και αυτή έχει γίνει καθαρά γλώσσα μηχανής (η VB6 κάνει compiling σε γλώσσα μηχανής ή αν επιλέξει κανείς σε bytecode, αλλά εδώ έχουμε βελτιστοποίηση σε γλώσσα μηχανής, π.χ. μια βελτιστοποίηση είναι ότι δεν κάνει ελέγχους σε δείκτες πινάκων, όπως η C).

Η Μ2000 είναι διερμηνευτής (interpreter), δηλαδή εκτελεί καθώς μεταφράζει και ένα λάθος θα το βρει στη πορεία εκτέλεσης, π.χ. to Α$=3 είναι λάθος, θα έπρεπε να βάλουμε αλφαριθμητικό, αλλά δεν θα το βρει αν δεν φτάσει ο διερμηνευτής εκεί. 

Η tokenized μορφή είναι στην ουσία ένα πρώτο πέρασμα. Με το πρώτο πέρασμα τέτοια λάθη βρίσκονται. Επίσης καθορίζονται τα άλματα και το πόσες και ποιες είναι οι μεταβλητές. Αυτό δεν το κάνει η Μ2000. Ότι είναι να το κάνει το κάνει άμεσα. Π.χ. το Α=10 θα το κάνει εκείνη την ώρα που το βρήκε, αν υπάρχει Α θα βάλει την τιμή αν δεν υπάρχει θα την φτιάξει. Δηλώνουμε πίνακες μόνο πριν τους χρησιμοποιήσουμε. Το σύστημα που ακολουθεί η Μ2000 είναι να χρησιμοποιεί ανάλυση του κώδικα την ώρα της εκτέλεσης. Θα βρει για παράδειγμα την Τύπωσε (ή στα Αγγλικά την Print), θα επισημάνει τη γλώσσα γιατί έχει σημασία για μερικά ονόματα που διαφοροποιούν την εντολή, και δεν αφήνει να μπερδέψουμε το συμπλήρωμα της εντολής με άλλης γλώσσας αναγνωριστικό, και υπάρχει ένας διερμηνευτής ειδικά για την τύπωσε (η οποία είναι πολύπλοκη εντολή, έχει και εσωτερικές εντολές, για αλλαγές χρωμάτων και άλλα πολλά).

 

Άρα μιλάμε για μια γλώσσα που τρέχει χωρίς ιδιαίτερο πέρασμα κώδικα. Έχει δυνατότητα να βάλει κώδικα (Ένθεση ή Inline) από αλφαριθμητικό, ή να παίξει εκφράσεις από αλφαριθμητικό;

π.χ. Ένθεση "Τύπωσε 2" είναι σαν να βάλαμε το Τύπωσε 2

ή Τύπωσε Έκφρ("Χ**2") είναι σαν να κάνουμε το Τύπωσε Χ**2

Αυτά τα δυο δεν μπορούν να γίνουν σε γλώσσα που δίνει το κώδικα από compiler γιατί τα ονόματα όπως Τύπωσε και η μεταβλητή ως όνομα Χ δεν είναι πια στο κώδικα!

 

Οι γλώσσες που εκτελούν άμεσα κώδικα ως κείμενο λέγονται και script γλώσσες. αν και αυτό μπορεί στην εκτέλεση να γίνει bytecode, ή να υπάρχει αυτό που λέγεται just in time compiler (πράγμα που σκοπεύω αργότερα να κάνω για τη Μ2000).

 

Ενδιαφέρον εδώ παρουσιάζει το τι γίνεται ο κώδικας που δίνει κανείς στη Μ2000, από την άποψη του που πηγαίνει και πώς τρέχει.Ένα πρόγραμμα σε Μ2000 έχει τμήματα, συναρτήσεις, κλάσεις, και μερικές άμεσες εντολές, μια από τις οποίες θα τρέξει το πρώτο τμήμα. Δεν υπάρχει εδώ ανάγκη να έχουμε ένα τμήμα/συνάρτηση Main. Όταν τρέχει ένα τμήμα ο κώδικάς του αντιγράφεται σε ένα αντικείμενο εκτέλεσης. Και σε αυτό το τμήμα ο κώδικας στην κυριολεξία καταναλώνεται...δηλαδή γραμμές που έχουν τρέξει αφαιρούνται! Δεν υπάρχει "program counter", υπάρχει "μη καταναλωμένος κώδικας". Ένα τμήμα μπορεί να δημιουργεί ότι και ένα πρόγραμμα, δηλαδή συναρτήσεις, τμήματα, κλάσεις. Εκτός από αυτά υπάρχουν και άλλα δυο: Οι ρουτίνες και τα νήματα. Οι ρουτίνες είναι μέρη του τμήματος/συνάρτησης και δεν έχουν δικό τους αντικείμενο εκτέλεσης. Τα νήματα δεν έχουν όνομα αλλά αριθμό και ανήκουν και αυτά στο τμήμα/συνάρτηση που τα δημιούργησε αλλά έχουν δικό τους αντικείμενο εκτέλεσης.

Τα αντικείμενα εκτέλεσης μπορούν να έχουν στατικές μεταβλητές, έτσι αν ένα τμήμα κληθεί από διαφορετικά αντικείμενα εκτέλεσης θα έχει για το καθένα διαφορετικές στατικές. Αν ένα νήμα το παράγω δέκα φορές και έχει δυο στατικές θα έχουμε 20 στατικές μεταβλητές. Τα νήματα τρέχουν παράλληλα. Υπάρχει ένας TaskManager στη Μ2000 που δέχεται κλήσεις από το Kernel (ανήκει στα Windows), σαν να κάνουμε κλικ σε button σε ένα παράθυρο. Κάθε φορά που τρέχει ο TaskManager διακόπτεται το κύριο πρόγραμμα και μπαίνει "σφήνα" το νήμα που έχει σειρά βάσει του χρόνου που δίνεται, Το κάθε νήμα δηλαδή τρέχει ανά τακτά χρονικά διαστήματα, και υπάρχουν δυο τρόποι να τρέξει μια εντολή και να γυρίσει στο TaskManager ή να τρέξει όλες τις εντολές και να γυρίσει.

Η Μ2000 έχει τα δικά της παράθυρα και τώρα ετοιμάζω και άλλα στοιχεία ελέγχου. Αυτά λοιπόν όταν κάνουμε κλικ σε ένα button ετοιμάζει ένα αντικείμενο εκτέλεσης και τρέχει τη ρουτίνα για το συγκεκριμένο button για το γεγονός αυτό.

 

Ουσιαστικά ο κώδικας της γλώσσας ρυθμίζει μια λίστα τμημάτων/συναρτήσεων μια λίστα πινάκων/μεταβλητών, (και οι δυο λειτουργούν με συνάρτηση κατακερματισμού, δηλαδή βρίσκουν το όνομα με την μία εκτελώντας μια συνάρτηση που του λέει που πρέπει να είναι στον πίνακα η μεταβλητή, και σε περίπτωση που πέσει και κάτι άλλο τότε θα είναι στο ίδιο μέρος αφού μπαίνει σε συνδεδεμένη λίστα πίσω από το πρώτο - στην ίδια θέση - αν δεν το κατάλαβες δήλωσε το να στο εξηγήσω). 

Με αυτές τις δυο λίστες καταφέρνει να έχει πίνακες μέχρι 10 διαστάσεων  (οι πίνακες είναι ειδικά αντικείμενα και πιάνουν μια θέση στο πίνακα κατακερματισμού), να έχει αντικείμενα που τα λέμε ομάδες και μπορούν να έχουν ότι και ένα πρόγραμμα (εκτός από νήματα και ρουτίνες, αλλά έχουν τμήματα που μπορούν να έχουν και αυτά).

 

Τέλος το αντικείμενο εκτέλεσης έχει πάντα ένα αντικείμενο εξόδου-εισόδου, ή μόνο εξόδου, π.χ. μπορεί να έχει ένα παράθυρο, ή την κονσόλα, ή τη σελίδα του εκτυπωτή, ή το περιθώριο (γράφουμε και εκεί) πίσω από την οθόνη της "κονσόλας". Έχει καθοριστεί να μπορούμε να χειριστούμε 100 παράθυρα (κρατάει στοιχεία για το αντικείμενο εξόδου, π.χ. θέση χαρακτήρων, θέση γραφικών, χρώματα και άλλα).

 

Καλό είναι να δεις το εγχειρίδιο εδώ http://georgekarras.blogspot.gr/p/2000.html και να κάνεις αντιγραφή κομμάτια και να τα τρέχεις στη Μ2000.

(αν την ανοίξεις και θες να τη κλήσεις γράψε Τέλος ή END, αν θες βάζεις τόνους στα ελληνικά δεν είναι απαραίτητο).

  • Like 1
Δημοσ.

Ανέβασα την αναθεώρηση 193.

Τώρα  τα παράθυρα της Μ2000 έχουν μια ιδιότητα "sizable" και με True (Αληθές ή Αληθής), μπορούν να αλλάξουν μέγεθος με χειρισμό με το ποντίκι (άλλαζαν μέγεθος προγραμματιστικά αλλά όχι με το ποντίκι).. Αυτό που προσφέρει το σύστημα είναι ότι αν πάμε το δείκτη στην κάτω δεξιά γωνία αλλάζει το εικονίδιο του δείκτη και μπορούμε με αλλάξουμε το μέγεθος. Παράλληλα βγαίνει ένα μήνυμα Resize() για να φτιάξουμε ή να μετακινήσουμε στοιχεία.

Επιπλέον έφτιαξα ένα τρόπο να έχουμε Popup παράθυρο πάνω από παράθυρο. Ένα τέτοιο παράθυρο δεν είναι τύπου modal (δεν μπλοκάρει δηλαδή τα άλλα παράθυρα), αλλά αν χάσει το focus τότε κλείνει. Επίσης δίνουμε και το που θα ανοίξει, ή μάλλον προτείνουμε πού θα ανοίξει, και αυτό ανοίγει με τρόπο να είναι εντός της οθόνης, δηλαδή αν δεν το παίρνει να εμφανιστεί εκεί που προτείνουμε με Χ και Υ, θα πάει προς το κέντρο της οθόνης αλλά κοντά στα Χ και Υ. Επίσης δέχεται τίτλο και και μπορούμε να μετακινήσουμε το παράθυρο popup πριν χάσει την εστίαση (focus). (κάτι που δεν το κάνουν τα popup παράθυρα - όπως το context menu- των Windows).

 

Στο παράδειγμα εδώ (στα αγγλικά), φτιάχνουμε ένα modal παράθυρο (ανοίγει πάνω από τα άλλα αφού τα κάνει ανενεργά και συμβαίνει αυτό μέχρι να κλείσει), και με δεξί κλικ στο χώρο του ανοίγει το Popup παράθυρο. Αν κάνουμε κλικ στο modal παράθυρο ή στη κονσόλα (η κονσόλα δεν κλειδώνει από το modal, αλλά δεν έρχεται και μπροστά, είναι πάντα στο φόντο, και μπορούμε να την κρύψουμε), τότε το popup φεύγει!

 

Για να είναι πιο ωραίο πρόσθεσα στο Popup ένα TextBox (είναι διαφορετικό από το EditBox - το EditBox είναι επεξεργαστής κειμένου), και έβαλα την λειτουργία όταν πατάμε enter στο textbox να αλλάζει ο τίτλος του modal παραθύρου.

 

Οι φόρμες κάνουν unload όταν δηλώσουμε Declare όνομαφόρμας Nothing, αλλά και αν πατήσουμε το Esc, όπου διακόπτουμε το πρόγραμμα και κλείνουμε παράθυρα (και νήματα κλείνει) και καθαρίζει και τις μεταβλητές. Το Esc με Escape Off βγαίνει εκτός, αλλά είναι χρήσιμο όταν θέλουμε να ετοιμάσουμε ένα πρόγραμμα και θέλουμε να το διακόπτουμε με ένα κλικ.

 

Με λίγες εντολές έχουμε το παράθυρο και κάνουμε αυτό που θέλουμε! (δεν έχω δώσει μέγεθος στο παράθυρο, έχει το εξ ορισμού μέγεθος).

Μια εξήγηση για αυτήν την εντολή: With Text1,"Text" as txt$

Ο διερμηνευτής δημιουργεί ένα αντικείμενο που εμείς το βλέπουμε ως txt$. Μέσα σε αυτό υπάρχει μια αναφορά για το Text1 αντικείμενο και ένας αριθμός για την ιδιότητα "Text". Κάθε ιδιότητα αντικειμένου έχει έναν αριθμό, η With το βρίσκει και έτσι κάθε φορά που χρησιμοποιούμε το txt$ δεν χρειάζεται να αναζητούμε πάλι το όνομα. Πάντα δηλαδή εσωτερικά η ανάγνωση ή η εγγραφή σε ιδιότητα γίνεται μέσω του αριθμού - χειριστή αυτής-  που δίνει το αντικείμενο. Μπορούμε να βάλουμε και στοιχείο πίνακα π.χ. Α$(3) να έχει ένα τέτοιο αντικείμενο. Το αντικείμενο στο txt$ διαγράφεται στο τέλος εκτέλεσης του τμήματος που το έφτιαξε (με όποιο τρόπο τελείωσε αυτό, όπως και με το Esc).

 

Κανονικά κάτι που έχει οριστεί σε ένα τμήμα είναι τοπικό, και το βλέπει μόνο το τμήμα. Εδώ όμως παρατηρούμε ότι το txt$ το βλέπει η συνάρτηση Text1.Enter(). Αυτό συμβαίνει γιατί έχει κληθεί η συνάρτηση με μια Call Local, όπου βάζει το κώδικα της συνάρτησης στο χώρο του τμήματος, που έχει δημιουργηθεί η φόρμα aPopUpForm. Όμως ό,τι νέα μεταβλητή φτιάξουμε εκεί θα διαγραφεί στο πέρας της Text1.Enter(). Έτσι θα διαγραφούν και στην Form1.MouseDown() τα button, X και Υ. Τα ονόματα σε αυτές τις ρουτίνες τα επιλέγουμε με την ιδέα ότι δεν θα παίζουν τα ίδια στο τμήμα. Όμως αν θέλουμε με Local X, Y : Read X, Y μπορούμε να σκιάσουμε άλλες Χ και Υ που ξέρουμε ότι έχει το Τμήμα. Αν έχουμε να κάνουμε τοπικές με αναφορές, και επειδή δεν αφήνει ο διερμηνευτής να δώσουμε άλλη αναφορά σε υπάρχον αναφορά τότε έχουμε την Read New που δημιουργεί νέα μεταβλητή και αποδίδει και την αναφορά, μέχρι να διαγραφεί στο πέρας της συνάρτησης (στο παράδειγμα δεν έχουμε τέτοιο πράγμα). Υπάρχουν ορισμένα μηνύματα από το παράθυρο που έχουν πέρασμα τιμής με αναφορά, όπως το unload() που δίνει ένα νούμερο για να γράψουμε True και να μην κάνει Unload η φόρμα. Αλλά θα το δούμε αυτό σε άλλο παράδειγμα!

 

 

 

 

Declare Form1 Form
Declare aPopUpForm Form
With Form1, "Title", "Hello There"
With aPopUpForm, "Title", "This is a PopUp Form"
Declare Text1 TextBox Form aPopUpForm
Method Text1,"Move", 2000,2000,6000,600
With Text1,"Text" as txt$

Function Text1.Enter {
      \\ If we press enter in textbox in popup form
      \\ we change title in form1
      With Form1, "Title", txt$
}
Function Form1.MouseDown {
\* Use STACK to see stack in console...
\* ...before you decide what to do with the values
\* Stack is cleared by you or by system if found any value
      Rem 1 : Stack
      Read button
      If button<>2 Then Exit
      Drop  \\ drop shift
      Read X, Y
      Method Form1, "PopUp", aPopUpForm, X, Y
}
Method Form1,"Show", 1 \\ modal  means wait to return
\\ we return focus to console
Show
\\ this is optional but is right to placed here
Declare Text1 Nothing
\\ we need these to unload forms
Declare aPopUpForm Nothing
Declare Form1 Nothing

 

 

 

Δημοσ.

Αναθεώρηση 194, έβαλα και το ListBox!

υπάρχει παράδειγμα στο blog,

Δημοσ.

Έβαλα παραδείγματα με Listbox και πώς δυο μαζί μπορούν να συνδεθούν ώστε  ότι κύλιση κάνει το ένα να κάνει και το άλλο μαζί! Επίσης και ένα άλλο παράδειγμα που δείχνει πως γίνεται να χορηγούμε τον αριθμό στοιχείων και τα στοιχεία δυναμικά απ΄έξω (σε πίνακα και όχι εσωτερικά στο στοιχείο). Ειδικά με αυτό το τελευταίο, δουλεύει και ο επιλογέας χρώματος...(μια φόρμα με ένα Listbox 16 εκατομμυρίων στοιχείων, που στην ουσία φτιάχνονται την ώρα που η σελίδα του listbox ζητάει να εμφανιστεί). 

Επίσης έβαλα παράδειγμα με custom Popup (που έχει ένα textbox), το οποίο το δημιουργούμε άμεσα και "χάνεται" με το που χάνει την εστίαση!

 

(αισίως η Μ2000 είναι στην αναθεώρηση 197)

Δημοσ.

Ανέβασα ένα απλό πρόγραμμα όπου σχεδιάζουμε αριθμούς Bitmap, δηλαδή εικόνες 5Χ7 Κουκίδες. Έχω βάλει ένα πρόγραμμα να κάνει αντίστροφη μέτρηση από το 9999 στο 0000

Εδώ είναι μια εικόνα (από ανάλυση 1440Χ900)

countdown.png

Δημοσ.

Στο βίντεο που ακολουθεί φαίνεται η διαδικασία όπου ανοίγω το αρχείο pong.gsb βάζω ως σημείωση τη γραμμή που κάνει το αρχείο "εκτελέσιμο"  και το ανοίγω με load pong

Μετά το "παιχνίδι" (το προχωράει όποιος θέλει περίπου μέχρι τη μέση της διάρκειας), ανοίγουμε για διόρθωση το τμήμα (Module) Α. Εκεί φαίνονται διάφορες δυνατότητες του διορθωτή, π.χ. με F1 αλλάζει από εμφάνιση με αναδίπλωση λέξης...χωρίς αναδίπλωση (δεν υπάρχει οριζόντια μπάρα κύλισης, δεν χρειάζεται,  υπάρχει μόνο κάθετη που εμφανίζεται αυτόματα). Μπορεί κανείς να βγάζει το χρωματισμό ή να εμφανίζει τους μη εκτυπώσιμους χαρακτήρες.

 

  • Like 2
Δημοσ. (επεξεργασμένο)

Screenshot 1440X900

Υπάρχουν 4 sprites (παίκτες), το μπαλάκι, η δεξιά ρακέτα και οι δυο αριστερές.

Και τό όνομα αυτού:MongPong..

Οι scanlines έχουν μπει επίτηδες (#222222 με εναλλαγή #555555)

 

mongpong.png

Επεξ/σία από M2000
Δημοσ.

Δεν πουλάμε...χαρίζουμε...

Ανοικτός κώδικας...όλα είναι ελεύθερα!

Επισκέπτης
Αυτό το θέμα είναι πλέον κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...