home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
64'er 1987 December
/
64er_Magazin_87-12_1987_Markt__Technik_de_Side_A.d64
/
apfel16.bas
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-10-26
|
5KB
|
169 lines
10 print"[147][158]":poke53280,11:poke53281,0:poke55,0:poke56,64
20 ifla=0thenla=1:gosub130:load"ms.apfel16",8,1
30 open5,0:poke786,192:v=53248:pokev+39,1:pokev+40,1
40 xu=-1:xo=2.4:yu=-1.25:yo=1.25:it=40:gosub60:goto300
50 rem ----- write ------
60 poke785,15:poke50683,80:xu=usr(xu):poke50683,85:xo=usr(xo)
70 poke50683,90:yu=usr(yu):poke50683,95:yo=usr(yo)
80 poke24420,it:return
90 rem ---- lesen ------
100 poke785,12:poke50676,80:xu=usr(xu):poke50676,85:xo=usr(xo)
110 poke50676,90:yu=usr(yu):poke50676,95:yo=usr(yo)
120 it=peek(24420):return
130 forn=28672to28734:reada:poken,a:next
140 forn=28736to28798:reada:poken,a:next:return
150 data192,0,0,192,0,0,192,0,0
160 data192,0,0,192,0,0,192,0,0
170 data192,0,0,192,0,0,192,0,0
180 data192,0,0,192,0,0,192,0,0
190 data192,0,0,192,0,0,192,0,0
200 data192,0,0,192,0,0,192,0,0
210 data192,0,0,192,0,0,255,255,255
220 rem -----------------
230 data255,255,255,0,0,3,0,0,3
240 data0,0,3,0,0,3,0,0,3
250 data0,0,3,0,0,3,0,0,3
260 data0,0,3,0,0,3,0,0,3
270 data0,0,3,0,0,3,0,0,3
280 data0,0,3,0,0,3,0,0,3
290 data0,0,3,0,0,3,0,0,3
300 print"[147][158]":poke53280,11:poke53281,0
310 print" [193]pfelmaennchen! [156]von [205]. [193]umer[158]"
320 print" [196]aten eingeben / anzeigen ..... < 1 >"
330 print" [194]ild laden .................... < 2 >"
340 print" [194]ild speichern ................ < 3 >"
350 print" [194]ild berechnen ................ < 4 >"
360 print" [193]usschnitt berechnen .......... < 5 >"
370 print" [194]ild anzeigen / [198]arbeffekte ... < 6 >"
380 print" [196]irectory ..................... < 7 >"
390 poke198,0:wait198,1:geta$:poke198,0:z=val(a$):ifz=0orz>7then390
400 onzgosub450,610,680,750,770,1210,420
410 goto300
420 print"[147]";:sys49161:poke198,0:wait198,1:poke198,0:return
430 rem aendern
440 rem aendern
450 print"[147]"
460 print" [206]eue [197]ingaben [214]eraendern die [215]erte."
470 print" [206]ur [210][197][212][213][210][206] veraendert nichts."
480 gosub100
490 print" linker [210]and:";xu
500 print"[145]";:input#5,xu:print
510 print" rechter [210]and:";xo
520 print"[145]";:input#5,xo:print
530 print" unterer [210]and:";yu
540 print"[145]";:input#5,yu:print
550 print" oberer [210]and:";yo
560 print"[145]";:input#5,yo:print:print
570 print" [201]terationsgrenze <255! :";it
580 print"[145]";:input#5,it:print:ifit>255orit<1then580
590 gosub60:return
600 rem laden
610 print"[147][204]aden":print" [194]itte [206]ame ohne .pic eingeben."
620 print" [205]aximal 12 [218]eichen.":na$=""
630 print" [210]eturn = [197]nde !"
640 input#5,na$:print:print:iflen(na$)>12thenreturn
650 ifna$=""thenreturn
660 a$=na$+".pic":sys49155,a$,8,1:return
670 rem speichern
680 print"[147][211]peichern":print" [194]itte [206]ame ohne .pic eingeben."
690 print" [205]aximal 12 [218]eichen.":na$=""
700 print" [210]eturn = [197]nde !"
710 input#5,na$:print:print:iflen(na$)>12thenreturn
720 ifna$=""thenreturn
730 a$=na$+".pic":sys49158,a$,8,1:return
740 rem berechnen
750 print"[147]";:poke53280,0:poke53281,0:poke24421,0:poke24422,0:sys49173:sys49176
760 sys49170:sys49185:sys49152:sys49191:sys49188:return
770 print"[147]"
780 print" [211]teuerung des [203]astens mittels [195]ursor-"
790 print" tasten."
800 print" + und - vergroessert / verkleinert den"
810 print" [203]asten."
820 print" _ beschleunigt alle [194]ewegungen
830 [153]" nochmaliges str$ruecken hebt die
840 print" [194]eschleunigung wieder auf !"
850 print" ^ beendet den [214]organg."
860 gosub100:dx=(xo-xu)/320:dy=(yo-yu)/200
870 xx=0:yy=0:ky=24:kx=ky*1.6
880 poke198,0:wait198,1:poke198,0
890 dd=1:sys49185:pokev+21,3:poke25592,192:poke25593,193
900 kx=ky*1.6:xs=xx+24:ys=yy+ky+30:x2=xx+kx+1:y2=yy+50
910 s=-2*(x2>255)-(xs>255)
920 pokev+1,ys:pokev+3,y2:pokev,xsand255:pokev+2,x2and255:pokev+16,s
930 geta$:ifa$=""then930
940 ifa$="_"thendd=9-dd
950 ifa$="^"then1030
960 ifa$=""then1080
970 ifa$="[145]"then1100
980 ifa$="[157]"then1120
990 ifa$=""then1140
1000 ifa$="+"then1160
1010 ifa$="-"then1190
1020 goto930
1030 xu=xu+dx*xx:yu=yu+dy*yy:xo=xu+dx*kx:yo=yu+dy*ky:pokev+21,0:sys49188:gosub60
1040 print"[147]":print" [201]terationsgrenze:";it
1050 print"[145]";:input#5,it:print
1060 ifit>255orit<1then1050
1070 poke24420,it:goto750
1080 ifys+dd>255then930
1090 yy=yy+dd:goto900
1100 ify2-dd<0then930
1110 yy=yy-dd:goto900
1120 ifxs-dd<0then930
1130 xx=xx-dd:goto900
1140 ifx2+dd>511then930
1150 xx=xx+dd:goto900
1160 ifx2+dd*1.6>511then930
1170 ify1+dd>255then930
1180 ky=ky+dd:goto900
1190 ifky-dd<2then930
1200 ky=ky-dd:goto900
1210 print"[147][158]":poke53280,14:poke53281,0
1220 print" [193]nzeigemenue !"
1230 print" [198]arben sichern ................. < 1 >"
1240 print" [198]arben zurueck holen ........... < 2 >"
1250 print" [194]ild in 16 [198]arben zeigen ....... < 3 >"
1260 print" [194]ild in 4 [198]arben zeigen ....... < 4 >"
1270 print" [198]arbgebung aendern ............. < 5 >"
1280 print" [205]enue2 verlassen ............... < 6 >"
1290 poke198,0:wait198,1:geta$:poke198,0
1300 z=val(a$):ifz=0orz>6then1290
1310 ifz=6thenreturn
1320 onzgosub1340,1350,1360,1470,1620
1330 goto1210
1340 sys49191:return
1350 sys49194:return
1360 print"[147]"
1370 print" r rotiert einmal "
1380 print" ^ zurueck in [205]enue2"
1390 poke198,0:wait198,1:poke198,0
1400 poke53280,0:poke53281,rr:sys49185
1410 r=0
1420 rem
1430 geta$:ifa$=""then1430
1440 ifa$="r"thensys49182:goto1430
1450 ifa$="^"thensys49188:return
1460 goto1420
1470 print"[147]"
1480 print" f1 schaltet [198]arbe1 weiter"
1490 print" f3 schaltet [198]arbe2 weiter"
1500 print" f5 schaltet [198]arbe3 weiter"
1510 print" f7 schaltet [200]intergrund weiter"
1520 print" ^ = zurueck zum [205]enue2"
1530 a=106:b=7:c=0:poke198,0:wait198,1:poke198,0
1540 sys49185:poke24421,a:poke24422,b:sys49173:poke53280,0:poke53281,c
1550 geta$:ifa$=""then1550
1560 ifa$="^"thensys49188:sys49194:return
1570 ifa$="[136]"thenc=(15and(c+1)):poke53281,c:goto1550
1580 ifa$="[135]"thenb=(15and(b+1)):poke24422,b:sys49173:goto1550
1590 ifa$="[133]"thena=(255and(a+16)):poke24421,a:sys49173:goto1550
1600 ifa$="[134]"thena=(aand240)+(15and(1+(aand15))):poke24421,a:sys49173:goto1550
1610 goto1550
1620 print"[147]"
1630 print" [194]itte geben [211]ie die neuen [198]arben ein !"
1640 print" [200]intergrund:";:input#5,rr:print
1650 forn=1to15
1660 print" [198]arbe"n;tab(17)":";:input#5,a:print
1670 poke50343+n,a:next
1680 sys49179:return