home *** CD-ROM | disk | FTP | other *** search
- 1000 a=1000:goto20:rem **mozart**
- 1010 rem ** eroeffnung und menue **
- 1020 dimt$(119),wa(12,7),wb(12,7),sv(160),sp(160),sd(160)
- 1030 dimw$(13)
- 1040 t=1:d=30:tz=0:w=0:vo=0:so=2:vt=ve:ht=ho
- 1050 nc=(asc("[193]")=65):rem not commodore-64
- 1060 restore
- 1070 forve=1 to5:gosub2930:gosub150:nextve
- 1080 w=0
- 1090 forve=9 to19 step2:gosub2930:printsr$;:nextve
- 1100 gosub120:he=ho:ve=9:gosub110:printd;
- 1110 ve=11:gosub110:printso;
- 1120 ve=22:gosub2930:gosub150
- 1130 forw=7 to13:readw$(w):nextw
- 1140 rem
- 1150 rem ** noten und takte lesen **
- 1160 rem
- 1170 fort=1 to119:readt$(t):nextt
- 1180 forz=2 to12:forwt=1 to7
- 1190 readwa(z,wt):readwb(z,wt)
- 1200 nextwt:nextz
- 1500 rem
- 1510 rem ** funktionsauswahl **
- 1520 rem
- 1530 x=7:gosub3130:if(in$<"1")or(in$>"6") then1530
- 1540 x=in-48:onx goto3530,3630,3730,3830,2030,950
- 2000 rem
- 2010 rem ** 24 takte mozart-walzer **
- 2020 rem
- 2030 gosub3030:x=8:gosub3230
- 2040 fori=1 to2
- 2050 forwa=1 to7
- 2060 gosub2530:t=wa(z,wa):gosub2710
- 2070 nextwa
- 2080 sd=d/2:sp=67:sv=12:gosub2630
- 2090 nexti
- 2100 forwb=1 to7
- 2110 gosub2530:t=wb(z,wb):gosub2710
- 2120 nextwb
- 2130 t$(0)="[205][193]5":t=0:gosub2710
- 2140 sv(tz+1)=-1:tz=0
- 2150 rem
- 2160 rem ** notenfeld vorspielen **
- 2170 rem
- 2180 x=9:gosub3230:sr$=w$(13):gosub3330
- 2190 fortz=1 to160
- 2200 sv=sv(tz):sp=sp(tz):sd=sd(tz)
- 2210 ifsv=12 then gosub400:goto2250
- 2220 gosub200
- 2230 if(in>0)or(sv<0) thentz=160:goto2250
- 2240 gosub400
- 2250 nexttz
- 2260 tz=0:ifsv=-1 then2030
- 2270 goto1530
- 2500 rem
- 2510 rem ** zufallszahl 2-12 **
- 2520 rem
- 2530 gosub260:z=int(rv*11)+2
- 2540 return
- 2600 rem
- 2610 rem ** notenfeld aufbauen **
- 2620 rem
- 2630 tz=tz+1:sd(tz)=sd:sv(tz)=sv:sp(tz)=sp+12-so*12
- 2640 return
- 2700 rem
- 2710 forl=1 tolen(t$(t))
- 2720 ha=asc(mid$(t$(t),l,1)):ifnc then2740
- 2730 ha=ha+32:ifha>128 thenha=ha-160
- 2740 sv=12:ifl=1 thensv=15
- 2750 ifha>91 thensd=d/16:sp=ha-32-5:gosub2630:goto2840
- 2760 ifmid$(t$(t),l+1,1)="*" then2810
- 2770 sp=ha-5:sd=d/8:gosub2630:goto2840
- 2780 rem
- 2790 rem ** triller **
- 2800 rem
- 2810 sd=d/32:sp=ha-5
- 2820 forh1=1 to8:sp=ha+ha-9-sp:gosub2630:nexth1
- 2830 l=l+1
- 2840 nextl
- 2850 return
- 2900 rem
- 2910 rem ** bildschirmsteuerung **
- 2920 rem
- 2930 readsr$:w=w+1:w$(w)=sr$
- 2940 ho=(ht-len(sr$))/2-3:gosub110
- 2950 return
- 3000 rem
- 3010 rem ** zeile loeschen **
- 3020 rem
- 3030 ve=vt-2:ho=ht-8:gosub110:sr$=w$(10):printright$(sr$,8);
- 3040 return
- 3100 rem
- 3110 rem ** textzeile **
- 3120 rem
- 3130 gosub3030:ve=22:gosub2940:printsr$;:sr$=w$(x)
- 3140 gosub2940:printsr$;:gosub210
- 3150 return
- 3200 rem
- 3210 rem ** zeile in inverse **
- 3220 rem
- 3230 ve=22:sr$=w$(10):gosub2940:printsr$;:sr$=w$(x)
- 3240 gosub2940:gosub150
- 3250 return
- 3300 rem
- 3310 rem ** zeile printen **
- 3320 rem
- 3330 ve=vt-2:ho=ht-8:gosub110:printsr$;
- 3340 return
- 3400 rem
- 3410 rem ** zahl loeschen **
- 3420 rem
- 3430 ve=x*2+7:ho=he:gosub110:printw$(10);:gosub110
- 3440 inputa$:gosub110:printw$(10):gosub110:print" ";a$;
- 3450 return
- 3500 rem
- 3510 rem ** tempo veraendern **
- 3520 rem
- 3530 gosub3430:d=int(val(a$)):if(d<6)or(d>99) then3530
- 3540 goto1530
- 3600 rem
- 3610 rem ** oktave veraendern **
- 3620 rem
- 3630 gosub3430:so=int(val(a$))
- 3640 if(so<0)or(so>5) then3630
- 3650 goto1530
- 3700 rem
- 3710 rem ** takteingabe **
- 3720 rem
- 3730 x=11:gosub3230:x=3
- 3740 gosub3430:t=int(val(a$))
- 3750 if(t<0)or(t>119) then3740
- 3760 if(t=0)or(tz>150) then3880
- 3770 gosub3030:sr$=t$(t):gosub3330:gosub2710:goto3740
- 3800 rem
- 3810 rem ** zufalls-melodie **
- 3820 rem
- 3830 x=12:gosub3230
- 3840 forzu=1 to24
- 3850 gosub260:t=int(rv*118)+1:gosub3030
- 3860 sr$=t$(t):gosub3330:gosub2710
- 3870 nextzu
- 3880 sv(tz+1)=-99:goto2190
- 25000 rem
- 25010 rem *** menuedaten ***
- 25020 rem
- 25030 data" ","[205] [207] [218] [193] [210] [212]","-----------"
- 25040 data" [203][214] 294d "," ","1 ... [212]empo (6-99) :"
- 25050 data"2 ... [207]ktave (0-5) :","3 ... [212]akt (0-119) :"
- 25060 data"4 ... [210]andom-[211]ound ","5 ... [205]ozart-[215]alzer "
- 25070 data"6 ... [208]rogrammende ","-ich lerne [206]oten-"
- 25080 data" [211]ie waehlen :","-ich komponiere-"
- 25090 data"-ich musiziere-"," "
- 25100 data"0 = vorspielen","[211]o ein [218]ufall !",">[212][193][211][212][197]<"
- 25110 rem
- 25120 rem *** noten der takte 1-119 ***
- 25130 rem
- 25140 data"[210][207][212]","[202]ghlt","[212][205][209]","[212][207]*","[200][205][209]","qmqtyt","[209][207][200]"
- 25150 data"ljlmol","qmljhg","[205][205][205]","[205][200][197]","[209]tq[205]","[214][211][207]"
- 25160 data"mhmqhm","qm[209][212]","[212]x[[207]","mqtojs","[209][205][200]","rqoqrt"
- 25170 data"cgjosv","[209][209][209]","rqroml","sojvso","loto[204]","qm[200][209]"
- 25180 data"qmol[200]","[202][207][211]","jqotsv","txto[204]","[205][200][209]","[212][200][200]"
- 25190 data"mlmqhm","mlmq[200]","lmoljh","[212]rqom","[202]rojl","mlmhea"
- 25200 data"[212]xtol","[212]to[216]","[209]mqty","[205]qm[200]","mhqmtq","onorhl"
- 25210 data"[209]qr[212]","[212][216][207]","ol[200][212]","[212][209][205]","[205]qm[212]","qmlhjg","ymlm[200]"
- 25220 data"qtytqm","oj[207][211]","[211][214][211]","[212]xtot","[211]vsos","tx[x[212]"
- 25230 data"rqomlo","yxytqm","[211][211][211]","tx[212][207]","[207][202][211]","ol[200][212]","[205][209][200]"
- 25240 data"[207]ot[216]","totxto","rq[207][212]","sv[vsv","[207]tx[207]","tstolh"
- 25250 data"[211][214][207]","qoqtyt","so[202][211]","mqmh[197]","[202]omlj","[209][212][217]"
- 25260 data"ororlo","ommllj","[210][207][204]","[207][207][207]","orvrol","ojosvs"
- 25270 data"qvtxsv","qmtqyt","[vsoj","[212]xt[207]","tstx[207]","tqol[200]"
- 25280 data"mhmqtq","[204][207][212]","vtst[207]","[209]ol[200]","[207]tolo","jqomlh"
- 25290 data"[211]so[214]","[211][211]*","txtx[207]","[202]jo[211]","oqroml","[212]ol[200]"
- 25300 data"orjolo","[207][211][214]","qyxtvs","ro[202][204]","[209][209]*","ojsovs"
- 25310 data"onosvs","txtolh","mhqm[212]","[204]oljh","qtomlj","[207][200][200]"
- 25320 data"[207][200][204]","oxto[204]","[205]mo[209]","qtotjs","lmoqro","rv[202]lo"
- 25330 data"qmlo[212]","vtxtot"
- 25340 rem
- 25350 rem *** zahlentafeln ***
- 25360 rem
- 25370 data18,55,18,85,98,21,33,7,55,18,86,18,9,76,5,81,5,31
- 25380 data89,88,50,46,101,5,38,5,93,80,47,53,47,96,109,12
- 25390 data11,91,105,47,45,47,77,100,32,67,14,119,78,6,63,26
- 25400 data79,32,2,32,110,43,58,20,58,99,69,51,37,87,61,58
- 25410 data69,58,28,1,71,95,71,56,22,104,114,24,106,71,54,71
- 25420 data82,19,35,13,35,107,116,18,44,118,70,35,92,35,17,66
- 25430 data83,84,42,65,79,40,41,113,97,42,64,42,115,57,30,52
- 25440 data30,60,34,15,108,62,59,30,90,30,49,103,3,72,3,4
- 25450 data112,25,48,111,94,3,39,3,102,117,10,27,10,16,8,75
- 25460 data73,68,23,10,29,10,74,36
- 30000 rem
- 30010 rem ***************************
- 30020 rem * *
- 30030 rem * dieses programm wurde *
- 30040 rem * fuer basicode - 3 auf *
- 30050 rem * einem kc85/4 entwickelt.*
- 30060 rem * den algorithmus entnah- *
- 30070 rem * men wir dem kv 294d von *
- 30080 rem * wolfgang-amadeus mozart,*
- 30090 rem * der uns die verstuemme- *
- 30100 rem * lung seines werkes ver- *
- 30110 rem * zeihen moege. *
- 30120 rem * in die vorliegende form *
- 30130 rem * brachten die noten: *
- 30140 rem * *
- 32000 rem * uwe und andreas zierott *
- 32010 rem * pappelallee 1 *
- 32020 rem * lehnin 1804 *
- 32030 rem * ddr *
- 32040 rem * *
- 32050 rem * 21.09.89 *
- 32060 rem * *
- 32070 rem ***************************
- 32080 rem
- 32090 rem erstausstrahlung: radio ddr
- 32100 rem 900110
-