Τετάρτη 28 Οκτωβρίου 2015

Προγραμματισμός μουσικής με νότες (Μ2000)

Παρακάτω είναι ένα πρόγραμμα που παίζει δυο φωνές με νότες που έχουμε γράψει. Επίσης η μουσική παίζει στο περιθώριο, ενώ τρέχουμε δυο βρόχους και κάνουμε εισαγωγή αριθμού και αναμονή για πάτημα πλήκτρου!
Το περιβάλλον προγραμματισμού πέρα από τις βασικές εντολές έχει αρκετές άλλες για να γίνει πιο αποδοτικό και ευχάριστο στον χρήστη, που κύρια είναι ο Μαθητής...Το όνομα της γλώσσας είναι Μαθητής 2000 όχι της χρονολογίας αλλά της χιλιετίας 2000 και μετά. Το περιβάλλον της γλώσσας (η εφαρμογή που την τρέχει) γράφτηκε αρχικά σε Visual Basic 5 το 1999 ενώ σήμερα είναι σε Visual Basic 6, και μπορεί κανείς να διαβάσει τον κώδικα αν και είναι μεγάλος,- π.χ. ένα από τα βασικά κομμάτια έχει 30000 γραμμές κώδικα ενώ άλλα έχουν από 4000 ή 7000 γραμμές εντολών).


Ένταση 100 \\ στο μέγιστο, γενική ένταση
Τύπωσε "Επίλεξε όργανο:";
Επίλεξε.όργανο
'/ αρχική τιμή, χρειάζεται γιατί μπορεί να πατήσουμε esc και να μην κάνουμε επιλογή
'/ επιλογή=0 σημαίνει όχι επιλογή!
κ=49
Αν επιλογή<>0 τότε κ=επιλογή : τύπωσε επιλογη$(κ)
'/ C C# D D# E F F# G G# A A# B
'/ ένα νούμερο δίπλα είναι η οκτάβα 1 έως 5
'/ κενός χαρακτήρας είναι η παύση
'/ 800 είναι ο χρόνος του μέτρου σε χιλιοστά του δευτερολέπτου
'/ @2 χρόνος 800/2^(2-1) παίζει μέχρι @6 ή  800/32   800/2^(6-1)
'/ το V αλλάζει την ένταση τοπικά, από 1 έως 127
'/ Πάντα ξεκινάει κάθε φωνή με την κανονική ένταση
'/ Υπάρχουν 16 φωνές και 127 όργανα να επιλέξουμε ένα ανά φωνή
'/ μπορούμε να βάλουμε το ίδιο όργανο σε όσες φωνές θέλουμε


Φωνή 1, 800, "F#4@3A @3C@3DF#3@3A @2CDV80F#4@3A @3C@3DF#3@3A @2CD"
Φωνή 2, 800, "D#4@3E@2F#3 @2D#@3CD#D#4@3E@2F#3 @2D#@3CD#"
Αναφορα 3, {Ξεκινώ δυο φωνές με διαφορετικά όργανα. Παίζουν στο περιθώριο, και θα συνεχίζουν να παίζουν μόλις τερματίσει το πρόγραμμα, και γυρίσουμε στην γραμμή εντολών.
Πάτα ένα πλήκτρο
}
Α$=Κομ$ \\ περιμένει ένα πλήκτρο
Παίξε 1, κ, 2, 51
Καθαρό ι \\ πλεονασμός αλλά δείχνει ότι μπορούμε να ορίσουμε μια μεταβλητή, επιπλέον παίρνει λίστα ονομάτων!
για ι=1 εως 500 {
      τύπωσε ι
}
Επανέλαβε {
      Τύπωσε ι
      ι++
} μέχρι ι>1000

\\ η μουσική παίζει και κατά την διάρκεια της εισαγωγής!
\\ αυτό συμβαίνει γιατί τρέχει σε δικό της νήμα!
\\ Αν πατήσει κανείς enter χωρίς να δώσει αριθμό βγαίνει λάθος
\\ οπότε το κλείνουμε σε μια Δες

δες οκ { Εισαγωγή "Δώσε έναν αριθμό (με 1 κλείνω τη μουσική):", κ }
αν οχι οκ τοτε τύπωσε ' να αλλάξουμε γραμμή!
Αν κ=1 τότε Παίξε 0 ' κλείνει άμεσα την μουσική

Αναφορά {Πάτα ένα πλήκτρο. Περιμένω πλήκτρο ενώ παίζει η μουσική}
Α$=Κομ$




Δεν υπάρχουν σχόλια:

Δημοσίευση σχολίου

You can feel free to write any suggestion, or idea on the subject.