Willus.com
Home
|
Archive
|
About
SNDCAST2.BAS
(2428 bytes)
EMULATE AS:
DEFAULT TYPE (BASIC)
|
CMD program
|
Program on Disk
|
2-Disk Debug
|
Disk Download
SHOW BELOW AS:
BASIC program
(download)
|
Text File
(download)
|
Z-80 Program
(download)
|
EDTASM File
(download)
|
Graphic
(download)
|
Hex File
(download)
|
SCRIPSIT File
(download)
Return to TRS-80 software list.
1 'COPYRIGHT (C) CLOAD 1979 500 CLS:N=2.434E-4:INPUT"HI THERE! WHAT'S YOUR NAME";A$ 510 PRINT:PRINT"THIS IS THE GAME OF SAND CASTLE." 520 PRINT:INPUT"WOULD YOU LIKE INSTRUCTIONS";A$ 530 IFLEFT$(A$,1)="N"THENPRINT"WISE GUY":GOTO700 540 CLS 550 PRINT"THE OBJECT OF THIS GAME IS TO BUILD A MOUNTAIN 18 LAYERS " 560 PRINT"HIGH. YOU ARE GIVEN THREE MATERIALS TO WORK WITH: SAND, GRAVEL," 570 PRINT"AND BRICK. THE ADVANTAGE OF SAND IS THAT YOU GET A LOT OF IT." 580 PRINT"THE DISADVANTAGE IS THAT IT WILL SLIDE IF YOU TRY TO STACK IT" 590 PRINT"TOO STEEP,FORCING YOU TO START ALL OVER. (EVERY LAYER OF SAND" 600 PRINT"MUST BE AT LEAST 6 METERS NARROWER THAN THE LAYER UNDERNEATH)" 610 PRINT"GRAVEL CAN BE STACKED STEEPER (EVERY LAYER MUST BE AT LEAST 4" 620 PRINT"METERS SMALLER THAN THE ONE BELOW). YOU ALSO GET LESS OF IT." 630 PRINT"BRICKS CAN BE LAID STEEPEST OF ALL. (WITHIN TWO METERS)" 640 PRINT"BUT IT'S EXPENSIVE - YOU GET VERY LITTLE OF IT." 650 PRINT 660 PRINT"THE STARTING FOUNDATION IS 100 METERS WIDE, SO YOUR FIRST LAYER" 670 PRINT"MUST BE LESS THAN 95 METERS WIDE (OF SAND)." 680 PRINT"EACH LAYER IS 4 METERS THICK AND CIRCULAR IN CROSS SECTION, SO" 690 PRINT"WIDE LAYERS USE UP A LOT OF MATERIAL." 700 INPUT"PRESS 'ENTER' TO START";B$ 720 S=7.143E-6:G=4.552E-9:B=3.3365E3 730 CLS:F=100:Y=47:H=0 735 E=88167:D=5039:C=262 740 PRINT@0," MATERIALS - SAND:";E;" GRAVEL:";D;" BRICK:";C 750 PRINT"PROGRESS - LAYERS TO GO:";(Y-11)/2;" THE BASE LAYER IS";F; 760 PRINT"METERS WIDE." 765 PRINT:PRINT:PRINT@128,""; 770 INPUT"HOW MANY METERS WIDE";Z:IFZ>100THENZ=100 780 V=INT(3.1416*(Z/2)*(Z/2)*4) 784 INPUT"WHICH MATERIAL (SAND, GRAVEL, OR BRICK) FOR NEXT LAYER";A$:A$=LEFT$(A$,1) 790 PRINT@0,,,," ":PRINT:PRINT:PRINT:IFY>17THENPRINT:PRINT 792 PRINT@0,""; 800 IFZ<1THEN740 810 IFA$="S"THENB$="SAND":A=S:GOSUB870 820 IFA$="G"THENB$="GRAVEL":A=G:GOSUB900 830 IFA$="B"THENB$="BRICK":A=B:GOSUB930 840 IFH=1THENH=0:GOTO980 850 IFY=11THEN1040 860 GOTO740 870 E=E-V:IFE<0THENE=E+V:GOTO960 880 IFZ>F-6THENH=1 890 F=Z:GOTO970 900 D=D-V:IFD<0THEND=D+V:GOTO960 910 IFZ>F-4THENH=1 920 F=Z:GOTO970 930 C=C-V:IFC<0THENC=C+V:GOTO960 940 IFZ>F-2THENH=1 950 F=Z:GOTO970 960 PRINT:PRINT:PRINT"NOT ENOUGH ";B$:PRINT:FORI=1TO2000:NEXTI:RETURN 970 FORX=64-INT(Z/2)TO63+INT(Z/2+.6):SET(X,Y):SET(X,Y-1):NEXTX:Y=Y-2:RETURN 980 PRINT@0,"":PRINT:PRINT:PRINT" * * * ";B$;"SLIDE * * *" 990 FORI=1TO2000:NEXTI 992 CLS:PRINT"YOU BUILT ";(47-Y)/2;" LAYERS. THAT'S QUITE A PILE." 1000 PRINT:INPUT"WOULD YOU LIKE TO TRY AGAIN";A$:IFLEFT$(A$,1)="N"THENPRINT"O.K, BYE":END 1010 INPUT"WOULD YOU LIKE TO REVIEW THE INSTRUCTIONS";A$ 1020 IFLEFT$(A$,1)="N"THEN730 1030 GOTO540 1040 PRINT@0,,,,"":PRINT:PRINT:PRINT 1050 FORY=47TO16STEP-1:RESET(64,Y):NEXTY 1060 FORY=11TO0STEP-1:SET(64,Y):NEXTY 1070 FORX=65TO79:SET(X,0):SET(X,1):SET(X,2):SET(X,3):SET(X,4):NEXTX 1080 PRINTA$;"'S CASTLE"; 1090 GOTO1090