1 OPTIONBASE 1 10 PRINT SPC(28);"AMAZING PROGRAM" 20 PRINT SPC(15);"CREATIVE COMPUTING MORRISTOWN, NEW JERSEY" 30 PRINT 31 PRINT 32 PRINT 33 PRINT 100 PRINT "WHAT ARE YOUR WIDTH"; 101 INPUT H 102 PRINT "WHAT ARE YOUR LENGTH"; 103 INPUT V 105 IF H<>1 AND V<>1 THEN GOTO 110 106 PRINT "MEANINGLESS DIMENSIONS. TRY AGAIN." 107 GOTO 100 110 WS=DIM(H,V) 111 VS=DIM(H,V) 120 PRINT 130 PRINT 140 PRINT 150 PRINT 160 Q=0 161 Z=0 162 X=INT(RND(1)*H+1) 165 FOR I=1 TO H 170 IF I==X THEN GOTO 173 171 PRINT ".--"; 172 GOTO 175 173 PRINT ". "; 180 NEXT 190 PRINT "." 195 C=1 196 WS(X,1)=C 197 C=C+1 200 R=X 201 S=1 202 GOTO 260 210 IF R<>H THEN GOTO 240 215 IF S<>V THEN GOTO 230 220 R=1 221 S=1 222 GOTO 250 230 R=1 231 S=S+1 232 GOTO 250 240 R=R+1 250 IF WS(R,S)==0 THEN GOTO 210 260 IF R-1==0 THEN GOTO 530 265 IF WS(R-1,S)<>0 THEN GOTO 530 270 IF S-1==0 THEN GOTO 390 280 IF WS(R,S-1)<>0 THEN GOTO 390 290 IF R==H THEN GOTO 330 300 IF WS(R+1,S)<>0 THEN GOTO 330 310 X=INT(RND(1)*3+1) 320 REM ON X GOTO 790,820,860 321 IF X==1 THEN GOTO 790 322 IF X==2 THEN GOTO 820 323 IF X==3 THEN GOTO 860 330 IF S<>V THEN GOTO 340 334 IF Z==1 THEN GOTO 370 338 Q=1 339 GOTO 350 340 IF WS(R,S+1)<>0 THEN GOTO 370 350 X=INT(RND(1)*3+1) 360 REM ON X GOTO 790,820,910 361 IF X==1 THEN GOTO 790 362 IF X==2 THEN GOTO 820 363 IF X==3 THEN GOTO 910 370 X=INT(RND(1)*2+1) 380 REM ON X GOTO 790,820 390 IF R==H THEN GOTO 470 400 IF WS(R+1,S)<>0 THEN GOTO 470 405 IF S<>V THEN GOTO 420 410 IF Z==1 THEN GOTO 450 415 Q=1 416 GOTO 430 420 IF WS(R,S+1)<>0 THEN GOTO 450 430 X=INT(RND(1)*3+1) 440 REM ON X GOTO 790,860,910 441 IF X==1 THEN GOTO 790 442 IF X==2 THEN GOTO 860 443 IF X==3 THEN GOTO 910 450 X=INT(RND(1)*2+1) 460 REM ON X GOTO 790,860 470 IF S<>V THEN GOTO 490 480 IF Z==1 THEN GOTO 520 485 Q=1 486 GOTO 500 490 IF WS(R,S+1)<>0 THEN GOTO 520 500 X=INT(RND(1)*2+1) 510 REM ON X GOTO 790,910 511 IF X==1 THEN GOTO 790 512 IF X==2 THEN GOTO 910 520 GOTO 790 530 IF S-1==0 THEN GOTO 670 540 IF WS(R,S-1)<>0 THEN GOTO 670 545 IF R==H THEN GOTO 610 547 IF WS(R+1,S)<>0 THEN GOTO 610 550 IF S<>V THEN GOTO 560 552 IF Z==1 THEN GOTO 590 554 Q=1 555 GOTO 570 560 IF WS(R,S+1)<>0 THEN GOTO 590 570 X=INT(RND(1)*3+1) 580 REM ON X GOTO 820,860,910 581 IF X==0 THEN GOTO 820 582 IF X==1 THEN GOTO 860 583 IF X==2 THEN GOTO 910 590 X=INT(RND(1)*2+1) 600 REM ON X GOTO 820,860 601 IF X==1 THEN GOTO 820 602 IF X==2 THEN GOTO 860 610 IF S<>V THEN GOTO 630 620 IF Z==1 THEN GOTO 660 625 Q=1 626 GOTO 640 630 IF WS(R,S+1)<>0 THEN GOTO 660 640 X=INT(RND(1)*2+1) 650 REM ON X GOTO 820,910 651 IF X==0 THEN GOTO 820 652 IF X==1 THEN GOTO 910 660 GOTO 820 670 IF R==H THEN GOTO 740 680 IF WS(R+1,S)<>0 THEN GOTO 740 685 IF S<>V THEN GOTO 700 690 IF Z==1 THEN GOTO 730 695 Q=1 696 GOTO 830 700 IF WS(R,S+1)<>0 THEN GOTO 730 710 X=INT(RND(1)*2+1) 720 REM ON X GOTO 860,910 721 IF X==0 THEN GOTO 860 722 IF X==1 THEN GOTO 910 730 GOTO 860 740 IF S<>V THEN GOTO 760 750 IF Z==1 THEN GOTO 780 755 Q=1 756 GOTO 770 760 IF WS(R,S+1)<>0 THEN GOTO 780 770 GOTO 910 780 GOTO 1000 790 WS(R-1,S)=C 800 C=C+1 801 VS(R-1,S)=2 802 R=R-1 810 IF C==H*V+1 THEN GOTO 1010 815 Q=0 816 GOTO 260 820 WS(R,S-1)=C 830 C=C+1 840 VS(R,S-1)=1 841 S=S-1 842 IF C==H*V+1 THEN GOTO 1010 850 Q=0 851 GOTO 260 860 WS(R+1,S)=C 870 C=C+1 871 IF VS(R,S)==0 THEN GOTO 880 875 VS(R,S)=3 876 GOTO 890 880 VS(R,S)=2 890 R=R+1 900 IF C==H*V+1 THEN GOTO 1010 905 GOTO 530 910 IF Q==1 THEN GOTO 960 920 WS(R,S+1)=C 921 C=C+1 922 IF VS(R,S)==0 THEN GOTO 940 930 VS(R,S)=3 931 GOTO 950 940 VS(R,S)=1 950 S=S+1 951 IF C==H*V+1 THEN GOTO 1010 955 GOTO 260 960 Z=1 970 IF VS(R,S)==0 THEN GOTO 980 975 VS(R,S)=3 976 Q=0 977 GOTO 1000 980 VS(R,S)=1 981 Q=0 982 R=1 983 S=1 984 GOTO 250 1000 GOTO 210 1010 FOR J=1 TO V 1011 PRINT "I"; 1012 FOR I=1 TO H 1013 IF VS(I,J)<2 THEN GOTO 1030 1020 PRINT " "; 1021 GOTO 1040 1030 PRINT " I"; 1040 NEXT 1041 PRINT 1043 FOR I=1 TO H 1045 IF VS(I,J)==0 THEN GOTO 1060 1050 IF VS(I,J)==2 THEN GOTO 1060 1051 PRINT ": "; 1052 GOTO 1070 1060 PRINT ":--"; 1070 NEXT 1071 PRINT "." 1072 NEXT 1073 END