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 >
Commodore BASIC  |  2022-10-26  |  5KB  |  169 lines

  1. 10 print"[147][158]":poke53280,11:poke53281,0:poke55,0:poke56,64
  2. 20 ifla=0thenla=1:gosub130:load"ms.apfel16",8,1
  3. 30 open5,0:poke786,192:v=53248:pokev+39,1:pokev+40,1
  4. 40 xu=-1:xo=2.4:yu=-1.25:yo=1.25:it=40:gosub60:goto300
  5. 50 rem ----- write ------
  6. 60 poke785,15:poke50683,80:xu=usr(xu):poke50683,85:xo=usr(xo)
  7. 70 poke50683,90:yu=usr(yu):poke50683,95:yo=usr(yo)
  8. 80 poke24420,it:return
  9. 90 rem ---- lesen ------
  10. 100 poke785,12:poke50676,80:xu=usr(xu):poke50676,85:xo=usr(xo)
  11. 110 poke50676,90:yu=usr(yu):poke50676,95:yo=usr(yo)
  12. 120 it=peek(24420):return
  13. 130 forn=28672to28734:reada:poken,a:next
  14. 140 forn=28736to28798:reada:poken,a:next:return
  15. 150 data192,0,0,192,0,0,192,0,0
  16. 160 data192,0,0,192,0,0,192,0,0
  17. 170 data192,0,0,192,0,0,192,0,0
  18. 180 data192,0,0,192,0,0,192,0,0
  19. 190 data192,0,0,192,0,0,192,0,0
  20. 200 data192,0,0,192,0,0,192,0,0
  21. 210 data192,0,0,192,0,0,255,255,255
  22. 220 rem -----------------
  23. 230 data255,255,255,0,0,3,0,0,3
  24. 240 data0,0,3,0,0,3,0,0,3
  25. 250 data0,0,3,0,0,3,0,0,3
  26. 260 data0,0,3,0,0,3,0,0,3
  27. 270 data0,0,3,0,0,3,0,0,3
  28. 280 data0,0,3,0,0,3,0,0,3
  29. 290 data0,0,3,0,0,3,0,0,3
  30. 300 print"[147][158]":poke53280,11:poke53281,0
  31. 310 print"     [193]pfelmaennchen!    [156]von [205]. [193]umer[158]"
  32. 320 print" [196]aten eingeben / anzeigen ..... < 1 >"
  33. 330 print" [194]ild laden .................... < 2 >"
  34. 340 print" [194]ild speichern ................ < 3 >"
  35. 350 print" [194]ild berechnen ................ < 4 >"
  36. 360 print" [193]usschnitt berechnen .......... < 5 >"
  37. 370 print" [194]ild anzeigen / [198]arbeffekte ... < 6 >"
  38. 380 print" [196]irectory ..................... < 7 >"
  39. 390 poke198,0:wait198,1:geta$:poke198,0:z=val(a$):ifz=0orz>7then390
  40. 400 onzgosub450,610,680,750,770,1210,420
  41. 410 goto300
  42. 420 print"[147]";:sys49161:poke198,0:wait198,1:poke198,0:return
  43. 430 rem aendern
  44. 440 rem aendern
  45. 450 print"[147]"
  46. 460 print" [206]eue [197]ingaben [214]eraendern die [215]erte."
  47. 470 print" [206]ur [210][197][212][213][210][206] veraendert nichts."
  48. 480 gosub100
  49. 490 print" linker  [210]and:";xu
  50. 500 print"[145]";:input#5,xu:print
  51. 510 print" rechter [210]and:";xo
  52. 520 print"[145]";:input#5,xo:print
  53. 530 print" unterer [210]and:";yu
  54. 540 print"[145]";:input#5,yu:print
  55. 550 print" oberer  [210]and:";yo
  56. 560 print"[145]";:input#5,yo:print:print
  57. 570 print" [201]terationsgrenze <255! :";it
  58. 580 print"[145]";:input#5,it:print:ifit>255orit<1then580
  59. 590 gosub60:return
  60. 600 rem laden
  61. 610 print"[147][204]aden":print" [194]itte [206]ame ohne .pic eingeben."
  62. 620 print" [205]aximal 12 [218]eichen.":na$=""
  63. 630 print" [210]eturn = [197]nde !"
  64. 640 input#5,na$:print:print:iflen(na$)>12thenreturn
  65. 650 ifna$=""thenreturn
  66. 660 a$=na$+".pic":sys49155,a$,8,1:return
  67. 670 rem speichern
  68. 680 print"[147][211]peichern":print" [194]itte [206]ame ohne .pic eingeben."
  69. 690 print" [205]aximal 12 [218]eichen.":na$=""
  70. 700 print" [210]eturn = [197]nde !"
  71. 710 input#5,na$:print:print:iflen(na$)>12thenreturn
  72. 720 ifna$=""thenreturn
  73. 730 a$=na$+".pic":sys49158,a$,8,1:return
  74. 740 rem berechnen
  75. 750 print"[147]";:poke53280,0:poke53281,0:poke24421,0:poke24422,0:sys49173:sys49176
  76. 760 sys49170:sys49185:sys49152:sys49191:sys49188:return
  77. 770 print"[147]"
  78. 780 print" [211]teuerung des [203]astens mittels [195]ursor-"
  79. 790 print" tasten."
  80. 800 print" + und - vergroessert / verkleinert den"
  81. 810 print"         [203]asten."
  82. 820 print" _ beschleunigt alle [194]ewegungen
  83. 830 [153]"   nochmaliges str$ruecken hebt die
  84. 840 print"   [194]eschleunigung wieder auf !"
  85. 850 print" ^ beendet den [214]organg."
  86. 860 gosub100:dx=(xo-xu)/320:dy=(yo-yu)/200
  87. 870 xx=0:yy=0:ky=24:kx=ky*1.6
  88. 880 poke198,0:wait198,1:poke198,0
  89. 890 dd=1:sys49185:pokev+21,3:poke25592,192:poke25593,193
  90. 900 kx=ky*1.6:xs=xx+24:ys=yy+ky+30:x2=xx+kx+1:y2=yy+50
  91. 910 s=-2*(x2>255)-(xs>255)
  92. 920 pokev+1,ys:pokev+3,y2:pokev,xsand255:pokev+2,x2and255:pokev+16,s
  93. 930 geta$:ifa$=""then930
  94. 940 ifa$="_"thendd=9-dd
  95. 950 ifa$="^"then1030
  96. 960 ifa$=""then1080
  97. 970 ifa$="[145]"then1100
  98. 980 ifa$="[157]"then1120
  99. 990 ifa$=""then1140
  100. 1000 ifa$="+"then1160
  101. 1010 ifa$="-"then1190
  102. 1020 goto930
  103. 1030 xu=xu+dx*xx:yu=yu+dy*yy:xo=xu+dx*kx:yo=yu+dy*ky:pokev+21,0:sys49188:gosub60
  104. 1040 print"[147]":print" [201]terationsgrenze:";it
  105. 1050 print"[145]";:input#5,it:print
  106. 1060 ifit>255orit<1then1050
  107. 1070 poke24420,it:goto750
  108. 1080 ifys+dd>255then930
  109. 1090 yy=yy+dd:goto900
  110. 1100 ify2-dd<0then930
  111. 1110 yy=yy-dd:goto900
  112. 1120 ifxs-dd<0then930
  113. 1130 xx=xx-dd:goto900
  114. 1140 ifx2+dd>511then930
  115. 1150 xx=xx+dd:goto900
  116. 1160 ifx2+dd*1.6>511then930
  117. 1170 ify1+dd>255then930
  118. 1180 ky=ky+dd:goto900
  119. 1190 ifky-dd<2then930
  120. 1200 ky=ky-dd:goto900
  121. 1210 print"[147][158]":poke53280,14:poke53281,0
  122. 1220 print"        [193]nzeigemenue !"
  123. 1230 print" [198]arben sichern ................. < 1 >"
  124. 1240 print" [198]arben zurueck holen ........... < 2 >"
  125. 1250 print" [194]ild in 16 [198]arben zeigen ....... < 3 >"
  126. 1260 print" [194]ild in 4  [198]arben zeigen ....... < 4 >"
  127. 1270 print" [198]arbgebung aendern ............. < 5 >"
  128. 1280 print" [205]enue2 verlassen ............... < 6 >"
  129. 1290 poke198,0:wait198,1:geta$:poke198,0
  130. 1300 z=val(a$):ifz=0orz>6then1290
  131. 1310 ifz=6thenreturn
  132. 1320 onzgosub1340,1350,1360,1470,1620
  133. 1330 goto1210
  134. 1340 sys49191:return
  135. 1350 sys49194:return
  136. 1360 print"[147]"
  137. 1370 print" r rotiert einmal "
  138. 1380 print" ^ zurueck in [205]enue2"
  139. 1390 poke198,0:wait198,1:poke198,0
  140. 1400 poke53280,0:poke53281,rr:sys49185
  141. 1410 r=0
  142. 1420 rem
  143. 1430 geta$:ifa$=""then1430
  144. 1440 ifa$="r"thensys49182:goto1430
  145. 1450 ifa$="^"thensys49188:return
  146. 1460 goto1420
  147. 1470 print"[147]"
  148. 1480 print" f1 schaltet [198]arbe1 weiter"
  149. 1490 print" f3 schaltet [198]arbe2 weiter"
  150. 1500 print" f5 schaltet [198]arbe3 weiter"
  151. 1510 print" f7 schaltet [200]intergrund weiter"
  152. 1520 print" ^ = zurueck zum [205]enue2"
  153. 1530 a=106:b=7:c=0:poke198,0:wait198,1:poke198,0
  154. 1540 sys49185:poke24421,a:poke24422,b:sys49173:poke53280,0:poke53281,c
  155. 1550 geta$:ifa$=""then1550
  156. 1560 ifa$="^"thensys49188:sys49194:return
  157. 1570 ifa$="[136]"thenc=(15and(c+1)):poke53281,c:goto1550
  158. 1580 ifa$="[135]"thenb=(15and(b+1)):poke24422,b:sys49173:goto1550
  159. 1590 ifa$="[133]"thena=(255and(a+16)):poke24421,a:sys49173:goto1550
  160. 1600 ifa$="[134]"thena=(aand240)+(15and(1+(aand15))):poke24421,a:sys49173:goto1550
  161. 1610 goto1550
  162. 1620 print"[147]"
  163. 1630 print" [194]itte geben [211]ie die neuen [198]arben ein !"
  164. 1640 print" [200]intergrund:";:input#5,rr:print
  165. 1650 forn=1to15
  166. 1660 print" [198]arbe"n;tab(17)":";:input#5,a:print
  167. 1670 poke50343+n,a:next
  168. 1680 sys49179:return
  169.