Dungeon Generator

Developer(s): Tony Willing
Date: 198x
Type: Program
Platform(s): TS 1000

Content

Appears On

Assembled by Tim Ward from many sources. Contains programs 10176 – 10210.

Related Products

Related Articles

Related Content

Image Gallery

Dungeon Generator

Source Code

   0 REM % % % %D%U%N%G%E%O%N% %G%E%N%E%R%A%T%O%R% % %            BY ANTHONY WILLING                      3/84
   4 CLS 
   5 FAST 
   7 PRINT "%0%1%2%3%4%5%6%7%8%9%0%1%2%3%4%5%6%7%8%9%0%1%2%3%4%5%6%7%8%9%0%1"
  10 FOR A=SGN PI TO VAL "20"
  20 PRINT "% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % "
  30 NEXT A
  40 FOR C=SGN PI TO 2
  50 FOR A=NOT PI TO LEN STR$ PI
  60 PRINT AT A,NOT PI;CHR$ (A+VAL "156")
  70 IF C=2 THEN PRINT AT A+10,NOT PI;CHR$ (A+VAL "156")
  75 NEXT A
  76 NEXT C
  78 PRINT AT 20,0;"%0"
  80 DIM R$(7,5)
  90 LET R$(1)="20%X30"
 100 LET R$(2)="20%X40"
 110 LET R$(3)="30%X50"
 120 LET R$(4)="40%X60"
 130 LET R$(5)="20%X20"
 140 LET R$(6)="30%X30"
 150 LET R$(7)="40%X40"
 160 FOR Q=1 TO 7
 170 PRINT AT 21,NOT PI;"HOW MANY ";R$(Q);" ROOMS?"
 180 INPUT G
 190 FOR B=SGN PI TO G
 200 GOSUB VAL "100*Q+2000"
 210 NEXT B
 220 NEXT Q
 230 PRINT AT 21,NOT PI;"HOW MANY PITS?    (%X)"
 240 INPUT G
 250 FOR B=1 TO G
 260 LET Z=INT (1+26*RND)
 270 LET Y=INT (1+18*RND)
 280 PRINT AT Y,Z;"%X"
 290 NEXT B
 300 PRINT AT 21,0;"PLACE YOUR LAKES (\##)%8%6% %T%O% %E%N%D"
 310 INPUT M
 315 IF M=86 THEN GOTO 331
 320 INPUT N
 322 IF M>21 OR M<1 THEN GOTO 300
 324 IF N>31 OR N<1 THEN GOTO 300
 329 PRINT AT M,N;"\##"
 330 GOTO 300
 331 PRINT AT 21,0;"PLACE YOUR WALLS (% )%8%6% %T%O% %E%N%D"
 332 INPUT M
 333 IF M=86 THEN GOTO 350
 334 INPUT N
 335 IF M>20 OR M<1 THEN GOTO 350
 336 IF N>30 OR N<1 THEN GOTO 350
 337 PRINT AT M,N;"% "
 339 GOTO 331
 350 PRINT AT 21,0;"PLACE YOUR HALLS (.)%8%6% %T%O% %E%N%D"
 360 INPUT M
 370 IF M=86 THEN GOTO 421
 380 INPUT N
 390 IF M>20 OR M<1 THEN GOTO 350
 400 IF N>31 OR N<1 THEN GOTO 350
 410 PRINT AT M,N;"."
 420 GOTO 350
 430 PRINT AT 21,0;"PLACE YOUR DOORS (%D)%8%6% %T%O% %E%N%D"
 440 INPUT M
 450 IF M=86 THEN GOTO 1500
 460 INPUT N
 470 IF M>20 OR M<1 THEN GOTO 350
 480 IF N>30 OR N<1 THEN GOTO 350
 490 PRINT AT M,N;"%D"
 500 GOTO 430
\n1500 PRINT AT 21,0;"ENTER ""COPY"" TO COPY TO PRINTER"
\n1510 INPUT G$
\n1520 IF G$="COPY" THEN COPY 
\n1530 STOP 
\n2000 STOP 
\n2100 LET Z=INT (SGN PI+VAL "28"*RND)
\n2110 LET Y=INT (SGN PI+VAL "18"*RND)
\n2120 PRINT AT Y,Z;"..."
\n2130 PRINT AT Y+1,Z;"..."
\n2140 RETURN 
\n2200 LET Z=INT (SGN PI+VAL "26"*RND)
\n2210 LET Y=INT (SGN PI+VAL "18"*RND)
\n2220 PRINT AT Y,Z;"....."
\n2230 PRINT AT Y+SGN PI,Z;"....."
\n2240 RETURN 
\n2300 LET Z=INT (SGN PI+VAL "26"*RND)
\n2310 LET Y=INT (SGN PI+VAL "17"*RND)
\n2320 PRINT AT Y,Z;"....."
\n2330 PRINT AT Y+SGN PI,Z;"....."
\n2340 PRINT AT Y+2,Z;"....."
\n2350 RETURN 
\n2400 LET Z=INT (SGN PI+VAL "25"*RND)
\n2410 LET Y=INT (SGN PI+VAL "16"*RND)
\n2420 PRINT AT Y,Z;"......"
\n2430 PRINT AT Y+1,Z;"......"
\n2440 PRINT AT Y+2,Z;"......"
\n2450 PRINT AT Y+3,Z;"......"
\n2460 RETURN 
\n2500 LET Z=INT (SGN PI+VAL "29"*RND)
\n2510 LET Y=INT (SGN PI+VAL "18"*RND)
\n2520 PRINT AT Y,Z;".."
\n2530 PRINT AT Y+SGN PI,Z;".."
\n2540 RETURN 
\n2600 LET Z=INT (SGN PI+VAL "28"*RND)
\n2610 LET Y=INT (SGN PI+VAL "17"*RND)
\n2620 PRINT AT Y,Z;"..."
\n2630 PRINT AT Y+SGN PI,Z;"..."
\n2640 PRINT AT Y+2,Z;"..."
\n2650 RETURN 
\n2700 LET Z=INT (SGN PI+VAL "27"*RND)
\n2710 LET Y=INT (SGN PI+VAL "16"*RND)
\n2720 PRINT AT Y,Z;"...."
\n2730 PRINT AT Y+SGN PI,Z;"...."
\n2740 PRINT AT Y+2,Z;"...."
\n2750 PRINT AT Y+3,Z;"...."
\n2760 RETURN 
\n2800 STOP 
\n2810 CLEAR 
\n2820 SAVE  "1020%6"
\n2830 RUN 
Scroll to Top