Seuraava ohjelmanpätkä arpoo kappaleen, soittaa sen piipperillä ja tulostaa näytölle, miltä se näyttää Nokian kännykän Soittoäänen sävellys -ruudussa.
' Copyright Jaakko Kulhia CLS INPUT "Kuinka pitkän soittoäänen haluat?"; real% CLS ala$ = "" FOR re% = 1 TO real% RANDOMIZE TIMER i% = RND * 8 RANDOMIZE TIMER pituus% = INT(RND * 6) + 1 RANDOMIZE TIMER yla% = RND * 2 DO DO RANDOMIZE TIMER o% = RND * 6 IF o% = 0 THEN o% = 3 END IF LOOP UNTIL o% < 4 LOOP WHILE o% < 2 GOTO kovin kova: i$ = is$ pituus$ = STR$(pituus%) oktaavi$ = STR$(o%) ok$ = STR$(o% - 1) IF i% = 0 OR i% = 8 THEN i$ = "n0" ok$ = "" o$ = "" is$ = "-" yla$ = "" ali$ = "" END IF re$ = re$ + "l" + pituus$ + "o" + oktaavi$ + i$ + yla$ + " " ala$ = ala$ + pituus$ + is$ + ali$ + ok$ + " | " LOCATE 1, 1: PRINT "loading...."; re% / real% * 100; "%" NEXT CLS PRINT ala$ PLAY re$ END kovin: IF i% = 1 THEN is$ = "a" ELSEIF i% = 2 THEN is$ = "b" ELSEIF i% = 3 THEN is$ = "c" ELSEIF i% = 4 THEN is$ = "d" ELSEIF i% = 5 THEN is$ = "e" ELSEIF i% = 6 THEN is$ = "f" ELSEIF i% = 7 THEN is$ = "g" END IF IF pituus% = 3 THEN pituus% = 4 ELSEIF pituus% = 4 THEN pituus% = 8 ELSEIF pituus% = 5 THEN pituus% = 16 ELSEIF pituus% = 6 THEN pituus% = 32 ELSE pituus% = 8 END IF IF yla% = 2 THEN yla$ = "+" ali$ = "#" END IF IF is$ = "e" OR is$ = "b" THEN yla$ = "" END IF GOTO kova END
kiitos! tämä tulee tarpeeseen!
Hyvin toimii, mutta ohjelman luomia ääniä en kyllä kännykkään laittaisi.
miksi?
RND on aina RND
hyvin sanottu!
Missä? Minkä soittoääni arpojan?
Jaakon tekemän koodivinkin. Löytyy QBasic-alueelta.
Lähettäkää nyt niitä kommenteja siitä!!! ottakaa Antista mallia!!!
ompas hijano
mielestäni laatua voisi hieman kohentaa.
Kätevä systeemi.
Hö johan on epeli!
Ihme laite ;)
Olen itse tehnyt joskus samantapaisia (mutta ne ei näyttänyt soitettua kappaletta soittoäänenä)
Ei sitä randomize timeriä tarvi joka randomin välissä tehdä? Mulla on toiminu ihan yhdellä randomize timerillä
nice
Kätevä! Juuri sopiva käyttöjärjestelmääni!
Aihe on jo aika vanha, joten et voi enää vastata siihen.