home *** CD-ROM | disk | FTP | other *** search
/ Rockford Magazine / Rockford_Magazine_004_19xx_-_de_Disk_1_of_2_Side_A.d64 / boulderedit (.txt) < prev    next >
Commodore BASIC  |  2023-02-26  |  4KB  |  161 lines

  1. 5 rem boulderedit v1.0
  2. 10 iffl=0thenfl=1:load"boulderchars",8,1
  3. 20 poke53272,peek(53272)and240or13
  4. 100 print"[147]       boulderedit v1.0"
  5. 105 print"1993 by tobias pfaff"
  6. 110 poke 53280,6:poke53281,0
  7. 120 def fn h(x)=int(x/256)
  8. 130 def fn l(x)=x-fn h(x)*256
  9. 140 sa=2^14
  10. 150 print"-f1- level weiterverarbeiten"
  11. 151 print"-f3- neues level erstellen"
  12. 152 geta$:ifa$=chr$(134)then3070
  13. 153 ifa$<>chr$(133)then152
  14. 154 print"[147]_ level laden..."
  15. 155 print"'i' intermission"
  16. 156 print"'c' cave"
  17. 160 get a$
  18. 170 if a$="i" then e$=".int":goto 200
  19. 175 ifa$="n"thene$="":goto200
  20. 180 if a$="c" then e$=".cav":goto 200
  21. 190 goto 160
  22. 200 input"  name der level ";n$
  23. 210 if n$="" then 200
  24. 215 print"[147]lege die cav und int disc ein"
  25. 216 poke198,0:wait198,1
  26. 220 poke 56,140
  27. 250 na$=n$+e$
  28. 260 sys57812na$,8
  29. 265 poke 780,0
  30. 270 poke 781,fn l(sa)
  31. 280 poke 782,fn h(sa)
  32. 290 sys 65493
  33. 300 gosub 1000
  34. 350 print"[147]":gosub360:goto410
  35. 360 for a=0 to 879 step 2
  36. 370 fy=(peek(sa+a/2) and 15):poke1024+a+1,fy+65
  37. 375 fw=((peek(sa+a/2) and 240)/16):poke1024+a+0,fw+65
  38. 380 gosub2000
  39. 390 next a
  40. 400 print"[158]etwas setzen mit return[146] - ende mit space[146]";
  41. 403 return
  42. 410 poke198,0:lf=peek(1024+101):p=100:r=101:q=0:goto 550
  43. 450 get a$:if a$="" then 450
  44. 455 u=asc(a$)
  45. 460 if a$="" then p=p+40:goto 550
  46. 470 if a$="[145]" then p=p-40:goto 550
  47. 475 if a$="@"thengosub705:gosub3100:gosub360
  48. 480 if a$="" then p=p+1 :goto 550
  49. 490 if a$="[157]" then p=p-1 :goto 550
  50. 495 if u>=48 and u<=57 then q=u-48
  51. 496 if u>=65 and u<=70 then q=u-55
  52. 500 if a$=" "then goto 700
  53. 510 if a$=chr$(13)then poke 1024+p,q+65:lf=q+65:a=p:fw=q:fy=30:gosub2000
  54. 520 if a$="*" thenrun
  55. 540 goto 450
  56. 550 if p<0   then p=0
  57. 560 if p>879 then p=879
  58. 570 lx=peek(1024+p)
  59. 600 iflf=209thenlf=69
  60. 605 poke1024+r,lf
  61. 610 poke 1024+p,209
  62. 620 r=p:lf=lx
  63. 650 goto 450
  64. 700 print"  bitte warten ** level wird berechnet  ";
  65. 702 gosub705:goto760
  66. 705 for a=0 to 879 step 2
  67. 710 n=(peek(1024+a+1)-65)and 15
  68. 720 m=(peek(1024+a+0)-65)and 15
  69. 725 ifpeek(1024+a)=209thenm=(lx-65)and15
  70. 727 ifpeek(1025+a)=209thenn=(lx-65)and15
  71. 730 poke sa+a/2,n+m*16
  72. 750 next a:return
  73. 760 input"[147]neuer name:";na$:na$=left$(na$,12)
  74. 770 na$=na$+e$
  75. 810 sys57812na$,8
  76. 820 poke 193,fn l(sa)
  77. 830 poke 194,fn h(sa)
  78. 840 poke 174,fn l(sa+495)
  79. 850 poke 175,fn h(sa+495)
  80. 860 sys 62954
  81. 880 gosub 1000
  82. 890 print"[147]lege programm-disc ein!"
  83. 895 poke198,0:wait198,1
  84. 900 poke828,0:print"[147]load"+chr$(34)+"b.2"+chr$(34)+",8,1"
  85. 905 print"na$="+chr$(34);na$;chr$(34)+":g[207]100"
  86. 910 poke631,13:poke632,13:poke198,2:printchr$(19);:end
  87. 1000 open 1,8,15:input# 1,y,y$:close 1
  88. 1010 print"  ";y$;"  *  ( fehler-nr.";y;")"
  89. 1020 if y=0 then return
  90. 1030 print "  abbruch wegen i/o-fehler"
  91. 1040 end
  92. 2000 iffy=0thenpoke55297+a,12:goto2160
  93. 2010 iffy=1thenpoke55297+a,4:goto2160
  94. 2020 iffy=2thenpoke55297+a,3:goto2160
  95. 2030 iffy=3thenpoke55297+a,3:goto2160
  96. 2040 iffy=4thenpoke55297+a,9:goto2160
  97. 2050 iffy=5thenpoke55297+a,3:goto2160
  98. 2060 iffy=6thenpoke55297+a,1:goto2160
  99. 2070 iffy=7thenpoke55297+a,8:goto2160
  100. 2080 iffy=8thenpoke55297+a,2:goto2160
  101. 2090 iffy=9thenpoke55297+a,6:goto2160
  102. 2100 iffy=10thenpoke55297+a,5:goto2160
  103. 2110 iffy=11thenpoke55297+a,6:goto2160
  104. 2120 iffy=12thenpoke55297+a,1:goto2160
  105. 2130 iffy=13thenpoke55297+a,1:goto2160
  106. 2140 iffy=14thenpoke55297+a,1:goto2160
  107. 2150 iffy=15thenpoke55297+a,0
  108. 2160 iffw=0thenpoke55296+a,12:return
  109. 2170 iffw=1thenpoke55296+a,4:return
  110. 2180 iffw=2thenpoke55296+a,3:return
  111. 2190 iffw=3thenpoke55296+a,3:return
  112. 2200 iffw=4thenpoke55296+a,9:return
  113. 2210 iffw=5thenpoke55296+a,3:return
  114. 2220 iffw=6thenpoke55296+a,1:return
  115. 2230 iffw=7thenpoke55296+a,8:return
  116. 2240 iffw=8thenpoke55296+a,2:return
  117. 2250 iffw=9thenpoke55296+a,6:return
  118. 2260 iffw=10thenpoke55296+a,5:return
  119. 2270 iffw=11thenpoke55296+a,6:return
  120. 2280 iffw=12thenpoke55296+a,1:return
  121. 2290 iffw=13thenpoke55296+a,1:return
  122. 2300 iffw=14thenpoke55296+a,1:return
  123. 2310 iffw=15thenpoke55296+a,0:return
  124. 3000 print"[147]":fort=1024to1104:poket,69:nextt:fort=55296to55376:poket,9:nextt:print"";
  125. 3010 fort=1to10:print"[149][197][129][200][200][200][200][200][200][200][200][200][200][200][200][200][200][200][200][200][200][149][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197]";:nextt
  126. 3020 fort=1483to1903:poket,69:nextt:fort=55755to56175:poket,9:nextt
  127. 3030 return
  128. 3040 fort=1024to1104:poket,69:nextt:fort=55296to55376:poket,9:nextt:print"";
  129. 3050 fort=1to20:print"[149][197][129][200][200][200][200][200][200][200][200][200][200][200][200][200][200][200][200][200][200][200][200][200][200][200][200][200][200][200][200][200][200][200][200][200][200][200][200][200][200][149][197]";:nextt
  130. 3060 return
  131. 3070 print"[147]_ neues level erstellen..."
  132. 3072 print"-f1- intermission"
  133. 3073 print"-f3- cave"
  134. 3074 geta$:ifa$=chr$(133)thene$=".int":gosub3000:gosub400:goto410
  135. 3080 ifa$=chr$(134)thene$=".cav":gosub3040:gosub400:goto410
  136. 3090 goto3074
  137. 3100 poke53280,0:poke53281,0:poke646,1:poke198,0
  138. 3110 print"[147]  was  bezeichnung   taste"
  139. 3120 print"[152] [193]   stein           0"
  140. 3130 print"[156] [194]   diamant         1"
  141. 3140 print"[159] [195]   magic mill      2"
  142. 3150 print"[159] [196]   mauer           3"
  143. 3160 print"[149] [197]   rand            4"
  144. 3170 print"[159] [198]   wuchsmauer      5"
  145. 3180 print" [199]   mann            6"
  146. 3190 print"[129] [200]   erde/sand       7"
  147. 3195 print"    (space)"
  148. 3196 wait198,1:poke198,0
  149. 3197 print"[147]  was  bezeichnung   taste"
  150. 3200 print" [201]   monster1        8"
  151. 3210 print" [202]   monster2        9"
  152. 3220 print" [203]   gruene saeure   a"
  153. 3230 print" [203]   blaue saeure    b"
  154. 3240 print" [205]   out versteckt   c"
  155. 3250 print" [206]   out normal      d"
  156. 3260 print" [207]   start/in        e"
  157. 3270 print"[144] [208]   leerfeld        f"
  158. 3280 print"    (space)"
  159. 3290 geta$:ifa$=""then3290
  160. 3300 print"[147]":poke198,0:return
  161.