>L. 10 REM ************************* 20 REM Boulder Game Level Editor 30 REM By Mark Ray 40 REM ************************* 50 REM NC100/200 Version : 5/96 60 REM Downloaded from Tim's Amstrad NC User's Site 70 REM http://www.ncus.org.uk 80 REM Originally from the Amstrad Notepad Users' Web 90 CLS:PRINT''SPC(30);"BOULDER EDITOR"''SPC(32);"by Mark Ray" 100 INPUT TAB(25,7);"Level Name",N$:CLS 110 X=0:Y=0:K$="QWERTYUIASDFGHJ":DIM C$(15),M%(139) 120 FORT=0TO139:M%(T)=17476:NEXT 130 FORK=0TO14:READT:C$(K)=CHR$(27)+CHR$(T):NEXT 140 REPEAT:PRINTTAB(X,Y);"*"; 150 G$=GET$:WX=X+(G$="Z")-(G$="X"):WY=Y+(G$="K")-(G$="M") 160 IF WX<0 OR WX>79 OR WY<0 OR WY>6 THEN WX=X:WY=Y 170 PRINTTAB(X,Y);C$(FNmap(X,Y));:X=WX:Y=WY 180 IFINSTR(K$,G$)THENPROCchange(X,Y,(INSTR(K$,G$)-1)) 190 UNTIL G$="P" 200 PRINT'"Preparing Data ..."; 210 FOR X=0TO79:FORY=0TO6:IFFNmap(X,Y)=0THENSX=X:SY=Y 220 IFFNmap(X,Y)=12THENMX=X:MY=Y 230 NEXT:VDU46:NEXT:PRINT:OSCLI "SPOOL "+N$ 240 PRINT"30000 DATA ";SX;",";SY;",";MX;",";MY 250 FORT=1TO7:T$="":FORX=0TO79:T$=T$+CHR$(FNmap(X,T-1)+64):NEXT 260 PRINT"3000";STR$(T);" DATA ";T$:NEXT 270 OSCLI"SPOOL" 280 CLS:PRINT"Now type:"'" LOAD""BOULDER"""'" *EXEC ";N$'" RENUMBER"'"and use EDIT 30 to increase the value of LastLevel by one"'"Remember to SAVE it!" 290 END 300 DEFFNmap(X%,Y%):=(M%(Y%*20+X%DIV4)DIV(16^(X%MOD4)))MOD16 310 DEFPROCput(X%,Y%,C%):LOCAL T% 320 T%=Y%*20+X%DIV4:M%(T%)=M%(T%)-((FNmap(X%,Y%)-C%)*(16^(X%MOD4))) 330 ENDPROC 340 DEFPROCchange(X%,Y%,C%) 350 PROCput(X%,Y%,C%):PRINTTAB(X%,Y%);C$(C%); 360 ENDPROC 370 DATA 1,176,177,178,32,3,4,14,21,229,15,233,2,219,79 >*SPOOL