{"id":85,"date":"2026-04-11T10:43:40","date_gmt":"2026-04-11T10:43:40","guid":{"rendered":"https:\/\/permacomputer.solarpunk.au\/?p=85"},"modified":"2026-04-11T10:43:40","modified_gmt":"2026-04-11T10:43:40","slug":"part-1-dungeon-of-doom-level-editor","status":"publish","type":"post","link":"https:\/\/permacomputer.solarpunk.au\/?p=85","title":{"rendered":"PART #1 &#8211; Dungeon Of Doom Level Editor"},"content":{"rendered":"\n<p>This version for the BBC Micro.<\/p>\n\n\n\n<figure class=\"wp-block-video\"><video height=\"838\" style=\"aspect-ratio: 960 \/ 838;\" width=\"960\" controls src=\"https:\/\/permacomputer.solarpunk.au\/wp-content\/uploads\/2026\/04\/level-2026-04-11_18.37.47.mp4\"><\/video><\/figure>\n\n\n\n<pre class=\"wp-block-code alignwide\"><code>10 GOSUB 610\n20 COLOUR 3+128:CLS\n30 LET BG=2:LET FG=1:LET T=0:LET L=3:LET LW=W-3:GOSUB 280\n40 COLOUR 2+128:COLOUR 0\n50 PRINT TAB(1,1);\"LEVEL GENERATOR\";\n60 PRINT TAB(1,2);\"THIS IS LEVEL:\";LE;\n70 PRINT TAB(1,3);\"PRESS H FOR HELP\"\n80 LET BG=3:LET FG=2:LET T=5:LET L=15:LET LW=15:GOSUB 280\n90 LET X=1:LET Y=1\n100 LET I$=INKEY$(0)\n110 IF I$=\"H\" THEN GOSUB 360\n120 IF I$=\"A\" AND Y>1 THEN LET Y=Y-1\n130 IF I$=\"Z\" AND Y&lt;15 THEN LET Y=Y+1\n140 IF I$=\"N\" AND X>1 THEN LET X=X-1\n150 IF I$=\"M\" AND X&lt;15 THEN LET X=X+1\n160 IF I$>\"\/\" AND I$&lt;\":\" THEN GOSUB 230\n170 COLOUR 3+128:COLOUR 0\n180 PRINT TAB(X,Y+5);CHR$(OS);\n190 PRINT TAB(X,Y+5);CHR$(R(X,Y));\n200 IF I$=\"S\" AND IX>0 THEN GOSUB 450:GOTO 20\n210 IF I$&lt;>\"F\" THEN GOTO 100\n220 STOP\n230 LET I=VAL(I$)\n240 IF I=9 THEN LET I=8+RND(3)\n250 IF I=5 THEN LET IX=X:LET IY=Y\n260 LET R(X,Y)=C0+I\n270 RETURN\n280 PRINT TAB(0,T);\n290 COLOUR FG+128:PRINT LEFT$(B$,LW+2)\n300 COLOUR BG+128:COLOUR FG\n310 FOR I=1 TO L\n320     PRINT TAB(0);CHR$(OS);LEFT$(B$,LW);CHR$(OS)\n330 NEXT I\n340 COLOUR FG+128:PRINT LEFT$(B$,LW+2);\n350 RETURN\n360 COLOUR 128+1:COLOUR 3\n370 FOR H=1 TO 10\n380     PRINT TAB(1,4);H$(H);:GOSUB 430\n390     PRINT TAB(1,4);LEFT$(B$,W-2);\n400 NEXT H\n410 COLOUR 3\n420 RETURN\n430 LET G$=INKEY$(0):IF G$=\"\" THEN GOTO 430\n440 RETURN\n450 PRINT TAB(1,4);\"ONE MOMENT PLEASE.\";\n460 LET S$=\"\"\n470 FOR J=1 TO 15\n480     FOR K=1 TO 15\n490         LET S$=S$+CHR$(R(K,J))\n500     NEXT K\n510 NEXT J\n520 LET S$=S$+CHR$(IX+OS):LET S$=S$+CHR$(IY+OS)\n530 LET S$=S$+CHR$(LE+OS)\n540 PRINT TAB(1,4);\"ANY KEY TO SAVE  \";:GOSUB 430\n550 LET S=OPENOUT \"LEVEL\"\n560 PRINT#S,S$\n570 CLOSE#S\n580 PRINT TAB(1,4);LEFT$(B$,W)\n590 LET LE=LE+1:GOSUB 700\n600 RETURN\n610 DIM R(15,15),H$(10)\n620 GOSUB 790\n630 DATA \"PRESS ANY KEY\",\"TO MOVE A Z N M\",\"1 WALL   2 VASE\"\n640 DATA \"3 CHEST 4 * IDOL *\",\"5 WAY IN  6 EXIT\",\"7 TRAP\",\"8 SAFE PLACE\"\n650 DATA \"9 GUARD\",\"0 TO ERASE\",\"S TO SAVE\"\n660 LET LE=1\n670 FOR I=1 TO 10\n680     READ H$(I)\n690 NEXT I:GOSUB 810\n700 FOR J=1 TO 15\n710     FOR K=1 TO 15\n720         LET R(J,K)=C0\n730     NEXT K\n740 NEXT J\n750 LET IX=0:LET IY=0\n760 LET B$=\"\":FOR I=1 TO W:LET B$=B$+\" \":NEXT I\n770 RETURN\n790 OS=224:C0=OS+6:W=20\n795 MODE 5:VDU 23,0,8202;0;0;0;\n800 RETURN\n810 REM READ THE CHARACTERS\n820 VDU 23,224:FOR I=0 TO 7:READ A:VDU A:NEXT I\n830 FOR I=0 TO 11:VDU 23,230+I\n840     FOR J=0 TO 7:READ A:VDU A:NEXT J\n850 NEXT I:RETURN\n1000 DATA 255,255,255,255,255,255,255,255\n1010 DATA 0,0,0,0,0,0,0,0\n1020 DATA 85,170,85,170,85,170,85,170\n1030 DATA 0,60,24,60,126,126,126,60\n1040 DATA 0,56,100,114,95,73,41,31\n1050 DATA 20,42,20,20,93,93,62,99\n1060 DATA 60,126,255,255,255,253,255,255\n1070 DATA 60,102,195,129,129,129,133,129\n1080 DATA 129,66,36,0,0,36,66,129\n1090 DATA 0,60,66,66,66,66,60,0\n1100 DATA 76,158,170,190,84,30,37,88\n1110 DATA 0,56,84,124,56,44,68,102\n1120 DATA 0,8,28,42,127,85,65,34\n<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>This version for the BBC Micro.<\/p>\n","protected":false},"author":1,"featured_media":86,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[9],"tags":[14,17,15],"class_list":["post-85","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-archeology","tag-bbc-basic","tag-retrocomputing","tag-retrogaming"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/permacomputer.solarpunk.au\/wp-content\/uploads\/2026\/04\/Screenshot_2026-04-11_18-21-30.png","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/permacomputer.solarpunk.au\/index.php?rest_route=\/wp\/v2\/posts\/85","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/permacomputer.solarpunk.au\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/permacomputer.solarpunk.au\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/permacomputer.solarpunk.au\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/permacomputer.solarpunk.au\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=85"}],"version-history":[{"count":5,"href":"https:\/\/permacomputer.solarpunk.au\/index.php?rest_route=\/wp\/v2\/posts\/85\/revisions"}],"predecessor-version":[{"id":92,"href":"https:\/\/permacomputer.solarpunk.au\/index.php?rest_route=\/wp\/v2\/posts\/85\/revisions\/92"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/permacomputer.solarpunk.au\/index.php?rest_route=\/wp\/v2\/media\/86"}],"wp:attachment":[{"href":"https:\/\/permacomputer.solarpunk.au\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=85"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/permacomputer.solarpunk.au\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=85"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/permacomputer.solarpunk.au\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=85"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}