0 GOTO470:REM (C) FREDRIK RAMSBERG 2018. FREE TO PLAY AND DISTRIBUTE.
1 XD=D:IFPEEK(198)THENGETI$:IFI$=","ORI$="."THEND=N(Z+D-(I$="."))
2 P=P+D:C=C+(DANDABS(D)=1):IFP<MORC<.ORC=ZTHEN770
3 IFPEEK(P)=QTHEN7
4 IFPEEK(P)=90THENGOSUB200:GOTO7
5 IFPEEK(P)=.THEN850
6 GOTO770
7 V=1-V:IFVTHENPOKEX3,33
8 POKEY+P,1:IFLTHENPOKET%(H),SY(120+XD+XD+D)
9 H=H+1:IFH>NTHENH=.
10 POKEP,81:T%(H)=P:IFL<TLTHENL=L+1:GOTO12
11 POKET%((H+M-L)ANDN),Q
12 IFVTHENPOKEX3,Q
13 IFTI>SL(SP)THENPOKESC+SP,11:IFSPTHENSP=SP-1
14 IFGE<1THEN1
15 FORI=1TOGE:NEXTI:GOTO1
20 V=0:XD=D:O=TI:GOTO2
200 TL=TL+GF:E=E-1:PS=PS+B:GS=GS-2:GE=GS:IFGE>GMTHENGE=GM
202 IFGE<GXTHENGE=GX
205 IFF<1ANDETHEN227
210 A=RND(1)*920+M:IFPEEK(A)<>QTHEN210
220 S=90:IFE=.THENS=E
225 POKEA,S:POKEY+A,5:F=F-1
227 BA=BA-1:IFBATHENPOKEX2,17:XS=16:GOTO261
260 BB=BB+10:BA=BB:U=U+1:POKEX2,33:XS=Q
261 S$=STR$(BA)
262 S1=LEN(S$):FORI=1TOS1:POKE1983-S1+I,ASC(MID$(S$,I,1))AND63OR128:NEXTI
263 T=INT((GL-GE)/SM):IFT<>DSTHENDS=T:POKE1966,T+176
265 GOTO400
290 IFF<1THENRETURN
291 A=RND(1)*920+M:IFPEEK(A)<>QTHEN291
293 POKEA,90:POKEY+A,5:F=F-1:RETURN
300 XW=17:POKEXB+5,97:POKEXB+6,200:POKEX1,XW
302 FORI=0TO255STEP30
304 POKEXB,I:POKEXB+1,255-I
306 FORJ=0TO33:NEXTJ,I
308 FORI=0TO30:NEXTI:POKEX1,0:RETURN
310 XW=17:POKEXB+5,97:POKEXB+6,200:POKEX1,XW
312 FORI=0TO255STEP30
314 POKEXB,255-I:POKEXB+1,I
316 FORJ=0TO33:NEXTJ,I
318 FORI=0TO30:NEXTI:POKEX1,0:RETURN
380 IFL<1THENRETURN
381 POKEXB+12,0:POKEXB+13,196:POKEXB+7,0:POKEXB+8,16:XX=4
382 FORI=H-LTOH:IFI=HTHENPOKEXB+13,252:XX=50
384 POKEX2,129:POKET%((I+M)ANDN),32
386 FORJ=1TOXX:NEXTJ:POKEX2,128:FORJ=1TO6:NEXTJ,I
388 RETURN
400 S$="LIFE:"+STR$(U)+" LVL:"+STR$(W)+" APL:"+STR$(E)+" SCORE:"+STR$(PS)+" "
410 IFLEN(S$)>39THENS$=MID$(S$,1,39)
411 POKE214,23:POKE211,0:PRINTC1$S$;:IFXSTHENPOKEX2,XS:XS=0
412 RETURN
415 POKE214,PR-1:POKE211,0:PRINTC1$;:RETURN
430 PRINTCHR$(155)CHR$(147):IFK=0THENW=W+1
431 S$="RTIME BONUS     SPEED:     NEXT LIFE:   ":PR=23:GOSUB415:PRINTS$;
432 F=3+W:E=F
435 H=0:TL=GF:L=0:D=-40:GS=GL-(GD+1)*(W-1)/2:GE=GS:IFGE>GMTHENGE=GM
436 IFGE<GXTHENGE=GX
437 GOSUB500
438 DS=-1:GOTO261
440 PRINTC1$"*LAUNCHING MENU*"
445 U=1:BB=10:BA=BB:W=0:PS=0:XS=16
450 FORI=XBTOXB+24:POKEI,0:NEXTI:POKEXB+24,15
455 POKEXB+19,17:POKEXB+20,133:POKEXB+14,0:POKEXB+15,3
460 PL=0:RETURN
470 GOSUB540
472 GOSUB440
474 GOSUB5000
476 GOSUB430
478 IFKTHENK=0:GOTO482
480 GOSUB740
482 GOSUB600
484 GOTO20
500 G3=0:G1=GS:IFG1<0THENG1=0
510 FORI=0TOF:G2=G1-2*I
511 IFG2<GL-2*SMTHENG2=GL-2*SM
512 G3=G3+G2:NEXTI:G4=G3/(F+1)
520 LT=(F+1)*(21+.3*PL)*(.1115+G4*.001885)
530 RETURN
540 POKE53280,15:POKE53281,0:PRINT"JAKE THE SNAKEQ"
545 M=1024:N=M-1:Y=54272:Q=32:Z=40
550 XD=.:D=.:O=.:C=.:P=.:V=.:GE=.:L=.:TL=.:I=.:I$="":H=.:TM=2023:SP=.
551 XB=54272:X3=XB+18:SC=Y+1944:X2=XB+11:X1=XB+4
552 B=100:E=.:F=.:GF=.:GM=.:GX=.:GS=.:PS=.:S$="":BA=.:BB=.:XS=.:DS=.
554 T=RND(-TI):C1$=CHR$(13):F1$=CHR$(133):F3$=CHR$(134)
555 HF$="JAKE5SCORE":SM=6:GL=5*SM:LD=-1:LP=-1:ED=-1:EP=-1
556 DC$="":DC=.:DP=.:A$="":B$="":T$="":BW=.:DE=.:DE$="":DM=.:DN=.:U=.:W=.
557 R=.:G1=.:G2=.:G3=.:G4=.:GD=.:HP=.:J=.:K=.:LE=.:LI=.:LS=.:ND=.
558 PL=.:PR=.:RH=.:SH=.:TA=.:TB=.:XW=.:XX=.:GC=.
559 DIMT%(N),SL(39),N(81),DN(11),SY(240)
560 DIMHN$(2,9),HS(2,9),HL(2,9),HP$(2,9),HC(2),S$(25),D(50),GD$(2),SN$(9)
561 DIMSS(9,1)
562 SY(0)=66:SY(117)=67:SY(123)=67:SY(240)=66:SY(39)=73:SY(41)=85:SY(78)=74
563 SY(82)=75:SY(162)=73:SY(199)=75:SY(201)=74:SY(158)=85
565 N(0)=-1:N(1)=1:N(39)=40:N(40)=-40:N(41)=-40:N(42)=40:N(80)=1
570 N(81)=-1:S$(0)="":FORI=1TO25:S$(I)=S$(I-1)+" ":NEXTI
575 GD$(0)="NOVICE":GD$(1)="NORMAL":GD$(2)="EXPERT"
580 FORI=0TO9:READSN$(I),T,J:SS(I,0)=GL-T*SM:SS(I,1)=GL-J*SM:NEXTI
590 GOTO4000
600 PRINT"S";
601 ONPLGOSUB30100,30200,30300,30400,30500,30600,30700,30800,30900,31000,31100
602 IFPL>11THENONPL-11GOSUB31200,31300,31400,31500,31600,31700,31800,31900
603 IFPL>19THENONPL-19GOSUB32000,32100,32200,32300,32400,32500,32600,32700
604 IFPL>27THENONPL-27GOSUB32800,32900,33000,33100,33200,33300,33400,33500,33600
608 C=20:P=1944+C
610 POKEXB+12,17:POKEXB+13,192:POKEXB+7,0:POKEXB+8,16:POKEXB+10,6
612 GOSUB290:GOSUB290:GOSUB290:GOSUB290:POKE198,0
613 T=FRE(0)
614 TI$="000000":LS=TI:LI=LS+60*LT
616 J=(LI-LS)/40:FORI=0TO39:SL(I)=INT(LS+(40-I)*J):NEXTI:SP=39
618 RETURN
700 IFPEEK(198)=0THENWAIT198,1
701 GETI$:IFI$<>" "THEN700
702 POKE198,0:RETURN
740 PL=PL+1:IFPL>36THENPL=1
745 IFPL<BW+1THENPL=BW+1
750 RETURN
770 POKE198,0:GOSUB380:U=U-1:IFU=0THEN800
775 S$="       YOU DIED! (SPACE)              ":GOSUB410:GOSUB300:GOSUB700
790 K=1:BA=BB:GOTO476
800 S$="        GAME OVER! (SPACE)          ":GOSUB410:GOSUB300:GOSUB700
820 PRINTCHR$(147)"YOU MADE IT TO LEVEL"W:PRINTC1$"YOUR FINAL SCORE WAS"PS
822 HP=0:GOSUB4200:IFHPTHEN840
825 PRINTC1$"PRESS SPACE TO CONTINUE"
830 GOSUB700
840 GOTO472
850 POKE198,0:LE=TI:TB=0:IFLE<LITHENTB=INT(10*(LI-LE)/60)+1
852 S$=" COMPLETED! TIME BONUS: "+STR$(TB)+" (SPACE)":S$=S$+S$(39-LEN(S$))
855 GOSUB410:GOSUB310:PS=PS+TB:GOSUB700:GOTO476
4000 GOSUB4900:IFDN=0THENRETURN
4002 PRINTC1$"*SEARCHING FOR HIGHSCORES*"
4005 OPEN15,DN,15:OPEN5,DN,5,"0:"+HF$+",S,R"
4010 INPUT#15,DE,DE$:ON-(DE=62)GOTO4400:ON-(DE>0)GOTO4070
4015 PRINTC1$"*LOADING HIGHSCORES*"
4020 FORJ=0TO2:FORI=0TO9
4030 INPUT#5,HN$(J,I),HS(J,I),HL(J,I)
4040 IFHS(J,I)<0THENI=1E5:GOTO4050
4045 IFST=64THEN4060
4050 NEXTI
4055 NEXTJ
4060 CLOSE5:CLOSE15:RETURN
4070 CLOSE5:CLOSE15:S$="COULD NOT READ HIGHSCORES":GOSUB4100:GOTO4000
4100 PRINTS$
4110 PRINT"ERROR: "DE$C1$:RETURN
4200 LD=GD:LP=-1
4205 IFPS<1THENRETURN
4210 FORI=9TO0STEP-1:IFPS>HS(GD,I)THENLP=I
4212 NEXTI:IFLP<0THENRETURN
4215 PRINTC1$"WHAT'S YOUR NAME (MAX 18 CHARACTERS)":I$=""
4217 PRINT"  "HN$:PRINTCHR$(145);:INPUTI$
4222 IFLEN(I$)<1ORLEN(I$)>18THEN4215
4225 HN$=I$
4230 FORJ=8TOLPSTEP-1:HN$(GD,J+1)=HN$(GD,J):HS(GD,J+1)=HS(GD,J)
4235 HL(GD,J+1)=HL(GD,J):NEXTJ
4240 HN$(GD,LP)=I$:HS(GD,LP)=PS:HL(GD,LP)=W:HC(GD)=LP:HP=1
4300 IFDN=0THENRETURN
4301 PRINTC1$"*SAVING HIGHSCORES*"
4302 OPEN15,DN,15:PRINT#15,"S0:"+HF$+"-NEW"
4305 OPEN5,DN,5,"0:"+HF$+"-NEW,S,W"
4310 INPUT#15,DE,DE$:ON-(DE>0)GOTO4370
4320 FORT=0TO2
4327 FORI=0TO9
4330 IFHS(T,I)<1THENPRINT#5,"NOBODY,-1,-1":I=1E6:GOTO4350
4340 PRINT#5,HN$(T,I)+","+STR$(HS(T,I))+","+STR$(HL(T,I))
4350 NEXT:NEXT
4360 CLOSE5:PRINT#15,"S0:"+HF$
4362 INPUT#15,DE,DE$:ON-(DE>1)GOTO4380
4364 PRINT#15,"R0:"+HF$+"="+HF$+"-NEW"
4366 INPUT#15,DE,DE$:ON-(DE>0)GOTO4390
4368 CLOSE15:RETURN
4370 CLOSE5:CLOSE15:S$="COULD NOT WRITE HIGHSCORES":GOTO4100
4380 CLOSE5:CLOSE15:S$="COULD NOT DELETE OLD HIGHSCORES":GOTO4100
4390 CLOSE5:CLOSE15:S$="COULD NOT RENAME HIGHSCORE FILE":GOTO4100
4400 PRINTC1$"*CREATING HIGHSCORE FILE*"
4405 CLOSE5:OPEN5,DN,5,"0:"+HF$+",S,W"
4410 INPUT#15,DE,DE$:ON-(DE>0)GOTO4440
4420 PRINT#5,"NOBODY,-1,-1":PRINT#5,"NOBODY,-1,-1":PRINT#5,"NOBODY,-1,-1"
4430 CLOSE5:CLOSE15:RETURN
4440 CLOSE5:CLOSE15:S$="COULD NOT WRITE HIGHSCORES":GOTO4100
4900 GD=1:GC=0:GM=SS(GC,0):GX=SS(GC,1):IFPEEK(2024)<>74ORPEEK(2025)<>83THEN4920
4905 GC=PEEK(2027):IFGC>9THENGC=0
4906 GM=SS(GC,0):GX=SS(GC,1)
4908 GD=PEEK(2028):IFGD<0ORGD>2THENGD=0
4910 DN=PEEK(2026):IFDN=0OR(DN>7ANDDN<12)THEN4925
4920 DN=PEEK(186):IFDN<8ORDN>11THENDN=0
4925 FORI=8TO11:OPEN15,I,15:CLOSE15:DN(I)=-((128ANDST)=0):NEXTI
4926 IFDN=0ORDN(DN)THEN4930
4927 FORDN=8TO11:IFDN(DN)=0THENNEXTDN
4928 IFDN>11THENDN=0
4930 IFDN=0ANDDN(8)+DN(9)+DN(10)+DN(11)=0THEN4970
4932 PRINT"LOAD/SAVE HIGHSCORES ON DRIVE"
4935 PRINT"(N)ONE";:FORI=8TO11:IFDN(I)THENPRINT","I;CHR$(157);
4940 NEXTI:PRINT"?":PRINT" ";:IFDN=0THENPRINT" N";:GOTO4945
4942 PRINTDN;
4945 POKE211,0:INPUTDN$:ND=-1
4950 IFDN$="8"ANDDN(8)THENND=8
4951 IFDN$="9"ANDDN(9)THENND=9
4952 IFDN$="10"ANDDN(10)THENND=10
4953 IFDN$="11"ANDDN(11)THENND=11
4954 IFDN$="N"ORDN$="NONE"THENND=0
4955 IFND<0THENPRINT"THAT IS NOT AN OPTION."C1$:GOTO4930
4957 DN=ND
4960 POKE2024,74:POKE2025,83:POKE2026,DN:POKE2027,GC:POKE2028,GD
4965 RETURN
4970 PRINT"NO DRIVE DETECTED. HIGHSCORES WILL NOT  BE SAVED.":GOTO4960
5000 GOSUB5800:SH=0:PRINTCHR$(155)CHR$(147)C1$"          JAKE THE SNAKE V5.0"
5005 PRINT"            F.RAMSBERG 2018"
5010 PRINTC1$" ',' AND '.' TO TURN. (SPACE) TO START."
5014 PRINTC1$"          MODE : E"GD$(GD)" (F1)"
5015 PRINT"          SPEED: E"SN$(GC)" (F3)"
5016 PRINT"                 01π23£45"
5018 PRINT
5020 PRINTC1$" HIGHSCORES ON "GD$(GD)"       SCORE LEVEL"
5100 DP=1:IFD(1)=.THENGOSUB5980
5115 GOSUB5900:A=1933:GOSUB5720
5120 P=1795:D=1:L=0:TL=4
5200 PR=11:GOSUB415:RH=0:PRINTCHR$(5)
5210 FORI=0TO4:PRINTHP$(GD,SH+I):NEXTI:SH=5-SH:PRINTCHR$(155)
5300 POKE198,0
5500 P=P+D:ON-(PEEK(P)=90)GOSUB5700:XD=D:IFDP>DCORDP=26THENRH=1
5510 IFDP>DCTHENDP=1
5545 IFD(DP)=77ORD(DP)=78THEND=N(Z+D-(D(DP)=77))
5570 DP=DP+1:POKEY+P,1:IFL>0THENPOKET%((H+M)ANDN),SY
5580 POKEP,81:SY=SY(120+XD+XD+D)
5590 H=(H+1)ANDN:T%(H)=P:IFL<TLTHENL=L+1:GOTO5630
5600 POKET%((H+M-L)ANDN),32
5630 GETI$:IFI$=" "THEN5660
5634 IFI$=F1$THENGOSUB5750:IFRH=0THENRH=1:SH=5-SH
5635 IFI$=F3$THENGOSUB5730
5640 IFRHTHEN5200
5650 GOTO5500
5660 GF=4+GD:BW=12*GD
5670 RETURN
5700 TL=TL-4*(TL<40)
5710 A=T%((H-L-3+M)ANDN)
5720 POKEA,90:POKEY+A,5:RETURN
5730 GC=GC+1:IFGC>9THENGC=0
5732 GM=SS(GC,0):GX=SS(GC,1)
5735 PRINT"SQQQQQQQ]]]]]]]]]]]]]]]]]E"SN$(GC)""
5742 POKE2027,GC:RETURN
5750 GD=GD+1:IFGD>2THENGD=0
5760 PRINT"SQQQQQQ]]]]]]]]]]]]]]]]]E"GD$(GD)"QQQQQ"GD$(GD)
5762 POKE2028,GD
5775 RETURN
5800 IFED>=0ANDEP>=0THENHP$(ED,EP)="  "+MID$(HP$(ED,EP),5)
5801 IFHC(0)<0ANDHC(1)<0ANDHC(2)<0THENED=-1:EP=-1:RETURN
5802 FORJ=0TO2:IFHC(J)<0THEN5850
5805 FORI=HC(J)TO9
5810 IFHS(J,I)<1THENS$="---                        -     -":GOTO5830
5820 S$=HN$(J,I):S$=S$+S$(19-LEN(S$))
5822 T$=MID$(STR$(HS(J,I)),2):S$=S$+S$(9-LEN(T$))+T$
5824 T$=MID$(STR$(HL(J,I)),2):S$=S$+S$(6-LEN(T$))+T$
5830 S$=" "+STR$(I+1)+" "+S$:IFI<9THENS$=" "+S$
5835 IFLD=JANDLP=ITHENS$="=>E"+MID$(S$,3)
5840 HP$(J,I)=S$:NEXTI:HC(J)=-1
5850 NEXTJ:ED=LD:EP=LP:RETURN
5900 PR=18:GOSUB415
5910 PRINT"          R                     "
5920 PRINT"          R    R    R    R    R    R "
5930 PRINT"          R  R    R    R    R    R  R   APPLE"
5940 PRINT"          R  R                  R "
5950 PRINT"          R                    R  @ EXIT"
5960 PRINT"          R                     "
5970 RETURN
5980 T$=".MN.NM.MN.NM.MN.NM.MN.NM.M..M.................M..M"
5985 DC=LEN(T$):FORI=1TODC:D(I)=ASC(MID$(T$,I,1)):NEXTI:RETURN
9000 DATA"├─┤   ",0,2
9001 DATA"├──┤  ",0,3
9002 DATA"├───┤ ",0,4
9003 DATA"├────┤",0,5
9004 DATA" ├─┤  ",1,3
9005 DATA" ├──┤ ",1,4
9006 DATA" ├───┤",1,5
9007 DATA"  ├─┤ ",2,4
9008 DATA"  ├──┤",2,5
9009 DATA"   ├─┤",3,5
30000 PRINT"";:GOSUB30200
30100 REM EMPTY (SIZE 4)
30104 RETURN
30200 REM HORISONTAL BAR (SIZE 4)
30202 PRINT"RQQQQQQQQQQ]]]]]]]]]                      ";
30204 RETURN
30300 REM TWO VERTICAL BARS (SIZE 4)
30302 PRINT"RQQQQQ]]]]]]]]] Q Q Q Q Q Q Q Q Q Q Q Q ]]]]]]]]]]]]]";
30304 PRINT"]]]]]]             ";
30306 RETURN
30400 REM H (SIZE 12)
30402 PRINT"RQQQQQ]]]]] Q Q Q Q Q Q Q Q Q Q Q SQQQQQQ Q Q ";
30404 PRINT"Q Q Q Q Q Q Q Q Q SQQQQQQQQQ]]]]]]]]]]                  ";
30406 PRINT"  ";
30408 RETURN
30500 REM FOUR VERTICAL BARS (SIZE 8)
30502 PRINT"RQQQ]]]] Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q ]]]]]]]]";
30504 PRINT"]                 ]]]]]]]]] Q Q";
30506 PRINT" Q Q Q Q Q Q Q Q Q Q Q Q Q Q ]]]]]]]]]     ";
30508 PRINT"            ";
30510 RETURN
30600 REM ONE ROOM (SIZE 24)
30602 PRINT"RQQQ]]] Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q SQQQ]]]] ";
30604 PRINT"             ]]]]               Q Q Q Q Q Q Q Q Q Q Q ";
30606 PRINT"Q Q Q Q Q ]]]]]]]              ]]]]              ";
30608 RETURN
30700 REM 2 SHELVES (SIZE 16)
30702 PRINT"RQQQQQQQ                  ]]]]                  QQQQQQQ          ";
30704 PRINT"        ]]]]                  ";
30706 RETURN
30800 REM 7 VERTICAL BARS WITH OPENINGS (SIZE 32)
30802 PRINT"RQQQ]]]] Q Q Q Q Q Q QQQQ Q Q Q Q Q Q ]]]]    ";
30804 PRINT"          ]]]] Q Q Q Q Q Q QQQQ";
30806 PRINT" Q Q Q Q Q Q ]]]]             ";
30808 PRINT" ]]]] Q Q Q Q Q Q QQQQ Q Q Q Q Q Q ]]]]    ";
30810 PRINT"          ]]]] Q Q Q Q Q Q QQQQ";
30812 PRINT" Q Q Q Q Q Q ";
30814 RETURN
30900 REM FLAG (SIZE 32)
30902 PRINT"RQQQQQQQQ]]]]              ]]]]              QQQQQQ]]]]]]]]     ";
30904 PRINT"         ]]]]              SQQQQ]]]]]]]]]]]]]]]]] Q Q Q ]]]";
30906 PRINT"] Q Q Q QQQQQQQQ Q Q Q ]]]] Q Q Q ";
30908 RETURN
31000 REM FOUR ROOMS (SIZE 24)
31002 PRINT"RQQQQQQQQQQQ  ]]]                              ]]]  S]]]]]]]]]]]]";
31004 PRINT"]]]]]]] Q QQQQ Q Q Q Q Q Q Q Q Q Q Q Q QQQQ Q ";
31006 RETURN
31100 REM BUG EYES (SIZE 40)
31102 PRINT"RQQQQ]]]]]]]]]]                     SQQQQQQQQ]]]]]]]]]]] Q Q QQ";
31104 PRINT" Q Q        ]]]]]]]]]]]        Q Q QQ Q Q ";
31106 PRINT" Q Q Q Q ]]]     ";
31108 RETURN
31200 REM ZIG ZAG (SIZE 16)
31202 PRINT"RQQQQQQ]                   ]              QQQQQQQ]]]]]]]]]]]    ";
31204 PRINT"          ]                  ";
31206 RETURN
31300 REM ONE ROOM OPEN CORNERS (SIZE 20)
31302 PRINT"RQQQQ]]]]]]]]]]                    SQQQQQQQ]]]]]]] Q Q Q Q Q";
31304 PRINT" Q Q Q SQQQQQQQQ Q Q Q Q Q Q Q Q QQQ]]]]]]]]]]";
31306 PRINT"]]]]]]]        ]]]]        ";
31308 RETURN
31400 REM 16 LINES (SIZE 16)
31402 PRINT"RQQQ]]";
31404 FORI=1TO4:PRINT" Q Q Q Q ]]]]     ]]]]";:NEXTI
31406 PRINT"QQQQQQQ                ]]]]                QQQ]]]]";
31408 FORI=1TO4:PRINT" Q Q Q Q ]]]]     ]]]]";:NEXTI
31410 RETURN
31500 REM 4 CROQUETS (SIZE 48)
31502 PRINT"RQQQQQQQQQQQQQQQQQQ]]]               ";
31504 PRINT"                                  Q Q Q Q Q Q Q Q Q Q";
31506 PRINT" Q Q Q Q Q ]]]]]]]]]]           ";
31508 PRINT"                          Q Q Q Q Q Q Q Q Q Q Q ]]]]]";
31510 PRINT"]]]]]]]]]]]]]                         Q Q Q Q ";
31512 PRINT"Q Q Q              Q Q Q ";
31514 RETURN
31600 REM TWO ROOMS (SIZE 48)
31602 PRINT"RQQQQ]]]]      ]]]     ]]]]              QQQQQQQQQQQQQQ]]]]]]]] ";
31604 PRINT"             ]]]]     ]]]      SQQQQQ]]]] Q Q Q Q QQQQ Q Q";
31606 PRINT" Q Q SQQQQQ]]]]]]]]]]]]]]]]] Q Q Q Q Q Q Q Q Q Q Q Q";
31608 PRINT" ]]]] Q Q Q Q Q Q Q Q Q Q Q Q SQQQQQQ";
31610 PRINT" Q Q Q Q QQQQ Q Q Q Q ";
31612 RETURN
31700 REM 8 EXITS (SIZE 40)
31702 PRINT"RQQQQQ]]]]]]]]]]]]]]]]]]] Q Q Q Q Q Q Q Q Q Q Q Q SQQ";
31704 PRINT"QQQQQQQQQ]]]]]                              SQQQQQ]]]]]          ";
31706 PRINT" ]]]]]]]            QQQQQQQQQQQQ]]]]]]]]]]           ]]]]]]]    ";
31708 PRINT"        SQQQQQQ]]]]] Q Q SQQQQQQQ Q Q QQQQQQ]]]]]]]]]]";
31710 PRINT" Q Q Q Q Q ";
31712 RETURN
31800 REM TETRIS (SIZE 44)
31802 PRINT"RQQQQQQQQQQQQ]]                     ]]]]]]]]]";
31804 PRINT"]]]]] Q Q Q Q Q Q Q Q Q Q           QQQQQQQQQ]]]]]]]]";
31806 PRINT"                                Q Q";
31808 PRINT" Q Q Q QQQ          Q Q Q Q Q Q Q ";
31810 RETURN
31900 REM BROKEN FLAG
31902 PRINT"RQQQQQQQQQ        ]]]              ]]QQQ Q Q Q ";
31904 PRINT"Q Q Q        ]]]        QQQ]]]                Q Q Q Q Q ";
31906 PRINT"Q QQQ]]                      ";
31908 RETURN
32000 REM 2 ROOMS + 2 DETACHED ROOMS (SIZE 72)
32002 PRINT"RQQQ]]]      SQQQQQQQQQQQQQQQQQQQQ      SQQQ]]]]]]]]]]]]";
32004 PRINT"      QQQQQQQQQQQQQQQQ]]]]      SQQQQ]]]]]]]]]]]]]]]]] Q Q Q Q";
32006 PRINT" Q QQQQ]]]] Q Q Q Q Q SQQQQQQQQQ]]]              QQQQ]]]]]";
32008 PRINT"]              SQQQQ]]] QQQQQQQQQQQ SQQQQQQQQ]]] QQQQQQQQ";
32010 PRINT"QQQ SQ Q Q QQQQ Q Q Q QQQQ Q";
32012 PRINT" Q Q QQQQ Q Q ]]]                  QQQ        ";
32014 PRINT"          ";
32016 RETURN
32100 REM ROOM IN ROOM (SIZE 56)
32102 PRINT"RQQQ]]] Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q SQQQ]]]] ";
32104 PRINT"            ]]]]]               Q Q Q Q Q Q Q Q Q Q Q ";
32106 PRINT"Q Q Q Q Q ]]]]]]]              ]]]]              SQQQQQQQ]]";
32108 PRINT"]]]]] Q Q                          Q Q QQQQ]]]]]]]]]]]]]] ";
32110 PRINT"Q Q Q Q Q ]]]]]]]]]]]]]]]                 ";
32112 PRINT"        Q Q ]]]]]]]]]] Q Q ";
32114 RETURN
32200 REM 2 TOWERS (SIZE 64)
32202 PRINT"RQQQ]]]               ]]]]               Q]]]]]] Q Q Q Q Q ";
32204 PRINT"Q Q Q Q Q Q Q Q Q SQQQQ]]]]]]]]]]]]]]]]] Q Q Q Q Q ";
32206 PRINT"Q Q Q Q Q Q Q Q Q ]]]] Q Q Q Q Q Q Q";
32208 PRINT" Q Q Q Q Q Q Q SQQQQQ Q Q Q Q Q Q Q Q Q Q Q";
32210 PRINT" Q Q Q SQQQQQQ]]]]]]         ]]]]]]]]]]         QQQ]]]]]]]]]]";
32212 PRINT"]]         ]]]]]]]]]]         QQQ]]]]]]]]]]]]         ]]]]]]]]]";
32214 PRINT"]         QQQ]]]]]]]]]]]]         ]]]]]]]]]]         QQQ]]]]]]]]";
32216 PRINT"]]]]         ]]]]]]]]]]         ";
32218 RETURN
32300 REM 9 ROOMS (SIZE 48)
32302 PRINT"RQQ]]]]]]]]]]]] Q Q Q Q Q QQQ Q Q Q Q QQQQ Q Q Q Q";
32304 PRINT" SQ Q Q Q Q QQQ Q Q Q Q Q QQQ Q Q Q Q";
32306 PRINT" Q SQQQQQQQ          ]]]]]          ]]]          QQQQQQQQ]]]]  ";
32308 PRINT"               ]]      ]]]          ";
32310 RETURN
32400 REM W (SIZE 64)
32402 PRINT"RQQQQ]]]]              SQQQQQ]]]] Q Q Q Q              Q Q ";
32404 PRINT"Q Q Q              Q Q Q Q Q   ";
32406 PRINT"           ]]]]      ]]]     Q Q Q";
32408 PRINT" Q Q Q Q Q Q Q Q Q Q Q Q SQQQQQQ Q Q Q Q Q ";
32410 PRINT"Q Q Q Q Q Q Q Q Q             ";
32412 PRINT"                Q ]]]] Q ";
32414 RETURN
32500 REM 12U (SIZE 144)
32502 PRINT"RQQ]]]      ]]]      ]]]]      ]]]      SQQQQQQ]]]      ]]]      ";
32504 PRINT"]]]]      ]]]      QQQ]]]]]]      ]]]      ]]]]      ]]]      QQ";
32506 PRINT"QQ]]]]]]      ]]]      ]]]]      ]]]      QQQ]]]]]]      ]]]   ";
32508 PRINT"   ]]]]      ]]]      QQQQ]]]]]]      ]]]      ]]]]      ]]]    ";
32510 PRINT"  SQQQ]]]]]]]] Q Q ]]]]]]]] Q Q ]]]] Q Q ]]]]]]]] Q ";
32512 PRINT"Q SQQQQQQQQQQ]]] Q Q ]]]]]]]] Q Q ]]]]]]]]]]]]]] Q Q ";
32514 PRINT"]]]]]]]] Q Q QQQQQ]]]]]]]]]]] Q Q ]]]]]]]] Q Q ]]]] Q";
32516 PRINT" Q ]]]]]]]] Q Q ";
32518 RETURN
32600 REM 7 ROOMS (SIZE 72)
32602 PRINT"RQQ]]]]]]]]]] Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q ";
32604 PRINT"Q SQ Q Q Q Q QQQ Q Q Q Q Q Q Q Q QQQ Q";
32606 PRINT" Q Q Q SQQQQQQQ        Q        QQQQQQQQ]] ";
32608 PRINT"       Q        SQQQ]]]]]]]]]]]]]]] Q Q Q Q";
32610 PRINT" Q Q ]]]]]]]] Q Q Q Q Q Q QQQ Q Q Q Q";
32612 PRINT" Q Q Q ]]]]]]]] Q Q Q Q Q Q Q ";
32614 PRINT" Q Q Q Q Q Q Q Q Q Q ]] Q Q Q Q Q Q Q";
32616 PRINT" Q Q Q    ]]   QQQQQQQQQQQQQQQQ   ";
32618 PRINT"]]   ";
32620 RETURN
32700 REM 3 GRIDS
32702 PRINT"RQQQ]]]            ]]] Q Q Q Q Q Q Q Q Q Q Q Q Q Q ";
32704 PRINT"Q Q ]]]                      QQQQ";
32705 PRINT"       ]]] Q Q Q Q Q Q ";
32706 PRINT"]]]]]]                     ]]]]]]]";
32708 PRINT"   ]]] Q Q ]]]]]   ]]] Q Q ]]]]]]Q Q Q Q Q Q Q ";
32710 PRINT"Q Q ]]]    QQQ Q Q  Q Q QQQ    ";
32712 PRINT"]]]]]]]]]]]]]]]Q       QQQ       ";
32714 RETURN
32800 REM CROSS WITH ROOMS
32802 PRINT"RQQQQQQQ           ]]]]        ]]]QQQ Q Q Q Q ";
32804 PRINT"Q Q Q ]]] Q Q Q Q Q Q Q ]]]]            ";
32806 PRINT"QQQ]]]                                  ]]]QQQ           ]]]] Q ";
32808 PRINT"Q Q Q Q Q Q ]]]        ]]]QQQ Q Q Q ";
32810 PRINT"Q Q Q Q ]]]]            ";
32812 RETURN
32900 REM 4 SIDE ROOMS (SIZE 72)
32902 PRINT"R]]]]]]]] Q Q Q Q           ]]]           Q Q Q SQQQQ";
32904 PRINT"QQQQ     QQQQQQ     QQQQ]]] Q Q Q Q           ]]]   ";
32906 PRINT"       Q Q Q Q ]]]     Q     ]]]]]]]]]]]";
32908 PRINT"                  ]] Q Q Q Q Q Q ]]]]]]]]]]]]]]]]]]]      ";
32910 PRINT"            SQQQQQQQQ]]]]]]]] Q Q Q Q Q Q           ]]] ";
32912 PRINT"        ";
32914 RETURN
33000 REM 5 CHALLENGES (SIZE 108)
33002 PRINT"RQQQQQ]]           ]]]]]    ]]]]]           QQQQQQQQQQQQ]]]]    ";
33004 PRINT"  ]]         ]]         ]]      SQQQQQQ]]]]]]] Q Q Q Q Q Q ";
33006 PRINT"Q Q Q Q ]]]]]]] Q Q Q Q Q Q Q Q Q Q Q ";
33008 PRINT"]]]]]]]] Q Q Q Q Q Q Q Q Q Q Q SQQQQQQQ";
33010 PRINT" Q Q Q Q Q Q Q Q Q Q SQQQQQQQQ]]   QQQQQQ   ";
33012 PRINT" Q Q Q Q ]]]]]]]    QQQQQQ     QQQQ ";
33014 PRINT"]]]]]]    QQQ    QQQ     Q QQ]] Q ]]]]";
33016 PRINT"] Q Q QQQ     QQQ     ]     ";
33018 RETURN
33100 REM 6 ROOMS (SIZE 100)
33102 PRINT"RQQQ]]]       Q Q Q Q Q Q ]]        Q Q Q Q";
33104 PRINT" Q ]]          Q Q Q  Q Q Q          ";
33106 PRINT"]]       Q Q Q Q Q Q ]]        Q Q Q Q Q";
33108 PRINT" QQQQQ]]]]]]       Q Q Q Q Q Q ]]        Q Q";
33110 PRINT" Q Q Q ]]          QQQ Q Q Q    ]]     ";
33112 PRINT"Q Q ]]       Q Q Q Q Q Q ]]        Q Q";
33114 PRINT" Q Q Q ";
33116 RETURN
33200 REM 5 LVL CRYPT (SIZE 72)
33202 PRINT"RQQQ]]]                                  Q]]]]]] Q Q Q QQQ Q";
33204 PRINT" Q Q Q Q Q Q Q Q Q Q Q SQQQQQ Q Q Q QQQ Q Q";
33206 PRINT" Q Q Q Q Q Q Q Q Q Q SQQQQQQQ]]]]]]]            ]]     ";
33208 PRINT"       Q]]]]]]]]]]]]]] Q Q Q Q Q Q Q Q Q Q Q Q Q Q";
33210 PRINT" SQQQQQQQQQ Q Q Q Q Q Q Q Q Q Q Q Q Q Q SQQ";
33212 PRINT"QQQQQQQQQ]]]]]]]]]]]                  Q Q Q Q";
33214 PRINT" QQQ Q Q Q Q ]]]]]]]]]]]]]]]] Q Q Q QQQ Q Q";
33216 PRINT" Q Q     ]]    Q Q Q Q Q Q ";
33218 PRINT"Q ]]]]]]]] Q Q Q Q Q Q ";
33220 RETURN
33300 REM U IN U IN U (SIZE 76)
33302 PRINT"RQQ]]                 Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q";
33304 PRINT" Q Q Q                   ";
33306 PRINT"            SQQQQQ]] Q Q Q Q Q Q Q Q Q Q Q SQQQQQ]]]  ";
33308 PRINT"           QQQ           Q Q Q Q Q Q ";
33310 PRINT"                  ]]]]]]]] Q Q Q Q Q Q";
33312 PRINT" Q Q Q Q Q Q Q Q Q Q Q Q                 SQQQ Q ";
33314 PRINT"Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q SQQQ";
33316 PRINT" Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q  ";
33318 PRINT"         Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q ";
33320 PRINT" Q Q Q Q Q Q Q Q Q Q Q Q      Q";
33322 PRINT" Q Q Q Q Q Q Q Q Q Q ";
33324 RETURN
33400 REM S (SIZE 128)
33402 PRINT"RQQ]] Q Q Q Q Q    ]]]]] Q Q Q Q Q    SQQQ";
33404 PRINT" Q Q Q Q Q    SQQQ Q Q Q Q Q    SQQQQ]]]";
33406 PRINT"]]    Q Q Q Q Q Q Q Q ]]]]]    Q Q Q Q Q Q ";
33408 PRINT"Q Q ]]]]    Q Q Q Q Q Q Q Q SQQQQQ ";
33410 PRINT"   Q Q Q Q Q Q Q Q ]]]]]]]]]] Q Q Q Q Q Q Q ";
33412 PRINT"Q    ]]]]] Q Q Q Q Q Q Q Q    ]]]]]]]]]]";
33414 PRINT"]]] Q Q Q Q Q Q Q Q    SQQQQQQQQQQQ Q Q Q Q Q";
33416 PRINT" Q Q Q    ]]]]]]]]    Q Q Q Q Q ]]]]]    Q ";
33418 PRINT"Q Q Q Q ]]]]    Q Q Q Q Q ]]]]]]]]    Q";
33420 PRINT" Q Q Q Q ";
33422 RETURN
33500 REM CORRIDORS (SIZE 72)
33502 PRINT"RQQ]]             SQQQ]] Q Q Q Q Q ]]          SQQQQQQQQ]";
33504 PRINT"]]                                   SQQ]]]]]]]]]]]]]]]]]] Q Q ";
33506 PRINT"Q Q Q ]]] Q Q Q Q Q ]]]            QQQ";
33508 PRINT"              QQQQQ]]              Q Q Q Q Q";
33510 PRINT" Q Q Q Q          ]]] Q Q Q Q Q Q Q Q ";
33512 PRINT"]] Q Q Q Q Q Q Q Q Q Q Q ]]] Q Q Q Q";
33514 PRINT" Q Q Q Q Q Q Q ]] Q Q Q Q Q Q Q Q Q ";
33516 PRINT"]]]         QQQQQQQQQ             Q Q";
33518 PRINT" Q Q Q Q Q ";
33520 RETURN
33600 REM OO (SIZE 96)
33602 PRINT"RQQ]]                 SQQQ]] Q Q Q Q Q Q Q Q Q Q Q Q ";
33604 PRINT"QQQ Q Q SQQQQQ]]]]]]]]         Q Q Q Q Q Q Q";
33606 PRINT" Q Q Q Q Q        ]]]]] Q QQQ Q Q Q Q Q";
33608 PRINT" Q Q Q Q Q Q Q Q                ";
33610 PRINT" Q Q Q Q Q Q Q Q Q Q Q        ";
33612 PRINT"       ]]]]]]                 Q Q";
33614 PRINT" Q Q Q Q Q Q Q Q Q Q Q QQQ Q Q ]]]]]";
33616 PRINT"         Q Q Q Q Q Q Q Q Q Q Q Q ";
33618 PRINT"       SQQQQ Q QQQ Q Q Q Q Q Q Q Q Q Q Q Q Q ";
33620 PRINT"               SQQQQQQQ Q Q Q Q Q Q Q ";
33622 PRINT"Q Q Q Q               ";
33624 RETURN