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 >
Wrap
Commodore BASIC
|
2023-02-26
|
4KB
|
161 lines
5 rem boulderedit v1.0
10 iffl=0thenfl=1:load"boulderchars",8,1
20 poke53272,peek(53272)and240or13
100 print"[147] boulderedit v1.0"
105 print"1993 by tobias pfaff"
110 poke 53280,6:poke53281,0
120 def fn h(x)=int(x/256)
130 def fn l(x)=x-fn h(x)*256
140 sa=2^14
150 print"-f1- level weiterverarbeiten"
151 print"-f3- neues level erstellen"
152 geta$:ifa$=chr$(134)then3070
153 ifa$<>chr$(133)then152
154 print"[147]_ level laden..."
155 print"'i' intermission"
156 print"'c' cave"
160 get a$
170 if a$="i" then e$=".int":goto 200
175 ifa$="n"thene$="":goto200
180 if a$="c" then e$=".cav":goto 200
190 goto 160
200 input" name der level ";n$
210 if n$="" then 200
215 print"[147]lege die cav und int disc ein"
216 poke198,0:wait198,1
220 poke 56,140
250 na$=n$+e$
260 sys57812na$,8
265 poke 780,0
270 poke 781,fn l(sa)
280 poke 782,fn h(sa)
290 sys 65493
300 gosub 1000
350 print"[147]":gosub360:goto410
360 for a=0 to 879 step 2
370 fy=(peek(sa+a/2) and 15):poke1024+a+1,fy+65
375 fw=((peek(sa+a/2) and 240)/16):poke1024+a+0,fw+65
380 gosub2000
390 next a
400 print"[158]etwas setzen mit return[146] - ende mit space[146]";
403 return
410 poke198,0:lf=peek(1024+101):p=100:r=101:q=0:goto 550
450 get a$:if a$="" then 450
455 u=asc(a$)
460 if a$="" then p=p+40:goto 550
470 if a$="[145]" then p=p-40:goto 550
475 if a$="@"thengosub705:gosub3100:gosub360
480 if a$="" then p=p+1 :goto 550
490 if a$="[157]" then p=p-1 :goto 550
495 if u>=48 and u<=57 then q=u-48
496 if u>=65 and u<=70 then q=u-55
500 if a$=" "then goto 700
510 if a$=chr$(13)then poke 1024+p,q+65:lf=q+65:a=p:fw=q:fy=30:gosub2000
520 if a$="*" thenrun
540 goto 450
550 if p<0 then p=0
560 if p>879 then p=879
570 lx=peek(1024+p)
600 iflf=209thenlf=69
605 poke1024+r,lf
610 poke 1024+p,209
620 r=p:lf=lx
650 goto 450
700 print" bitte warten ** level wird berechnet ";
702 gosub705:goto760
705 for a=0 to 879 step 2
710 n=(peek(1024+a+1)-65)and 15
720 m=(peek(1024+a+0)-65)and 15
725 ifpeek(1024+a)=209thenm=(lx-65)and15
727 ifpeek(1025+a)=209thenn=(lx-65)and15
730 poke sa+a/2,n+m*16
750 next a:return
760 input"[147]neuer name:";na$:na$=left$(na$,12)
770 na$=na$+e$
810 sys57812na$,8
820 poke 193,fn l(sa)
830 poke 194,fn h(sa)
840 poke 174,fn l(sa+495)
850 poke 175,fn h(sa+495)
860 sys 62954
880 gosub 1000
890 print"[147]lege programm-disc ein!"
895 poke198,0:wait198,1
900 poke828,0:print"[147]load"+chr$(34)+"b.2"+chr$(34)+",8,1"
905 print"na$="+chr$(34);na$;chr$(34)+":g[207]100"
910 poke631,13:poke632,13:poke198,2:printchr$(19);:end
1000 open 1,8,15:input# 1,y,y$:close 1
1010 print" ";y$;" * ( fehler-nr.";y;")"
1020 if y=0 then return
1030 print " abbruch wegen i/o-fehler"
1040 end
2000 iffy=0thenpoke55297+a,12:goto2160
2010 iffy=1thenpoke55297+a,4:goto2160
2020 iffy=2thenpoke55297+a,3:goto2160
2030 iffy=3thenpoke55297+a,3:goto2160
2040 iffy=4thenpoke55297+a,9:goto2160
2050 iffy=5thenpoke55297+a,3:goto2160
2060 iffy=6thenpoke55297+a,1:goto2160
2070 iffy=7thenpoke55297+a,8:goto2160
2080 iffy=8thenpoke55297+a,2:goto2160
2090 iffy=9thenpoke55297+a,6:goto2160
2100 iffy=10thenpoke55297+a,5:goto2160
2110 iffy=11thenpoke55297+a,6:goto2160
2120 iffy=12thenpoke55297+a,1:goto2160
2130 iffy=13thenpoke55297+a,1:goto2160
2140 iffy=14thenpoke55297+a,1:goto2160
2150 iffy=15thenpoke55297+a,0
2160 iffw=0thenpoke55296+a,12:return
2170 iffw=1thenpoke55296+a,4:return
2180 iffw=2thenpoke55296+a,3:return
2190 iffw=3thenpoke55296+a,3:return
2200 iffw=4thenpoke55296+a,9:return
2210 iffw=5thenpoke55296+a,3:return
2220 iffw=6thenpoke55296+a,1:return
2230 iffw=7thenpoke55296+a,8:return
2240 iffw=8thenpoke55296+a,2:return
2250 iffw=9thenpoke55296+a,6:return
2260 iffw=10thenpoke55296+a,5:return
2270 iffw=11thenpoke55296+a,6:return
2280 iffw=12thenpoke55296+a,1:return
2290 iffw=13thenpoke55296+a,1:return
2300 iffw=14thenpoke55296+a,1:return
2310 iffw=15thenpoke55296+a,0:return
3000 print"[147]":fort=1024to1104:poket,69:nextt:fort=55296to55376:poket,9:nextt:print"";
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
3020 fort=1483to1903:poket,69:nextt:fort=55755to56175:poket,9:nextt
3030 return
3040 fort=1024to1104:poket,69:nextt:fort=55296to55376:poket,9:nextt:print"";
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
3060 return
3070 print"[147]_ neues level erstellen..."
3072 print"-f1- intermission"
3073 print"-f3- cave"
3074 geta$:ifa$=chr$(133)thene$=".int":gosub3000:gosub400:goto410
3080 ifa$=chr$(134)thene$=".cav":gosub3040:gosub400:goto410
3090 goto3074
3100 poke53280,0:poke53281,0:poke646,1:poke198,0
3110 print"[147] was bezeichnung taste"
3120 print"[152] [193] stein 0"
3130 print"[156] [194] diamant 1"
3140 print"[159] [195] magic mill 2"
3150 print"[159] [196] mauer 3"
3160 print"[149] [197] rand 4"
3170 print"[159] [198] wuchsmauer 5"
3180 print" [199] mann 6"
3190 print"[129] [200] erde/sand 7"
3195 print" (space)"
3196 wait198,1:poke198,0
3197 print"[147] was bezeichnung taste"
3200 print" [201] monster1 8"
3210 print" [202] monster2 9"
3220 print" [203] gruene saeure a"
3230 print" [203] blaue saeure b"
3240 print" [205] out versteckt c"
3250 print" [206] out normal d"
3260 print" [207] start/in e"
3270 print"[144] [208] leerfeld f"
3280 print" (space)"
3290 geta$:ifa$=""then3290
3300 print"[147]":poke198,0:return