Willus.com
Home
|
Archive
|
About
SNDCAST1.BAS
(2405 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.
10 REM SAND 20 CLS:N=2.434E-4:INPUT"HI THERE! WHAT'S YOUR NAME";A$ 30 PRINT:PRINT"THIS IS THE GAME OF SAND CASTLE." 40 PRINT:INPUT"WOULD YOU LIKE INSTRUCTIONS";A$ 50 IFLEFT$(A$,1)="N"THENPRINT"WISE GUY":GOTO220 60 CLS 70 PRINT"THE OBJECT OF THIS GAME IS TO BUILD A MOUNTAIN 18 LAYERS " 80 PRINT"HIGH. YOU ARE GIVEN THREE MATERIALS TO WORK WITH: SAND, GRAVEL," 90 PRINT"AND BRICK. THE ADVANTAGE OF SAND IS THAT YOU GET A LOT OF IT." 100 PRINT"THE DISADVANTAGE IS THAT IT WILL SLIDE IF YOU TRY TO STACK IT" 110 PRINT"TOO STEEP,FORCING YOU TO START ALL OVER. (EVERY LAYER OF SAND" 120 PRINT"MUST BE AT LEAST 6 METERS NARROWER THAN THE LAYER UNDERNEATH)" 130 PRINT"GRAVEL CAN BE STACKED STEEPER (EVERY LAYER MUST BE AT LEAST 4" 140 PRINT"METERS SMALLER THAN THE ONE BELOW). YOU ALSO GET LESS OF IT." 150 PRINT"BRICKS CAN BE LAID STEEPEST OF ALL. (WITHIN TWO METERS)" 160 PRINT"BUT IT'S EXPENSIVE - YOU GET VERY LITTLE OF IT." 170 PRINT 180 PRINT"THE STARTING FOUNDATION IS 100 METERS WIDE, SO YOUR FIRST LAYER" 190 PRINT"MUST BE LESS THAN 95 METERS WIDE (OF SAND)." 200 PRINT"EACH LAYER IS 4 METERS THICK AND CIRCULAR IN CROSS SECTION, SO" 210 PRINT"WIDE LAYERS USE UP A LOT OF MATERIAL." 220 INPUT"PRESS 'ENTER' TO START";B$ 230 S=7.143E-6:G=4.552E-9:B=3.3365E3 240 CLS:F=100:Y=47:H=0 250 E=88167:D=5039:C=262 260 PRINT@0," MATERIALS - SAND:";E;" GRAVEL:";D;" BRICK:";C 270 PRINT"PROGRESS - LAYERS TO GO:";(Y-11)/2;" THE BASE LAYER IS";F; 280 PRINT"METERS WIDE." 290 PRINT:PRINT:PRINT@128,""; 300 INPUT"HOW MANY METERS WIDE";Z:IFZ>100THENZ=100 310 V=INT(3.1416*(Z/2)*(Z/2)*4) 320 INPUT"WHICH MATERIAL (SAND, GRAVEL, OR BRICK) FOR NEXT LAYER";A$:A$=LEFT$(A$,1) 330 PRINT@0,,,," ":PRINT:PRINT:PRINT:IFY>17THENPRINT:PRINT 340 PRINT@0,""; 350 IFZ<1THEN260 360 IFA$="S"THENB$="SAND":A=S:GOSUB420 370 IFA$="G"THENB$="GRAVEL":A=G:GOSUB450 380 IFA$="B"THENB$="BRICK":A=B:GOSUB480 390 IFH=1THENH=0:GOTO530 400 IFY=11THEN600 410 GOTO260 420 E=E-V:IFE<0THENE=E+V:GOTO510 430 IFZ>F-6THENH=1 440 F=Z:GOTO520 450 D=D-V:IFD<0THEND=D+V:GOTO510 460 IFZ>F-4THENH=1 470 F=Z:GOTO520 480 C=C-V:IFC<0THENC=C+V:GOTO510 490 IFZ>F-2THENH=1 500 F=Z:GOTO520 510 PRINT:PRINT:PRINT"NOT ENOUGH ";B$:PRINT:FORI=1TO2000:NEXTI:RETURN 520 FORX=64-INT(Z/2)TO63+INT(Z/2+.6):SET(X,Y):SET(X,Y-1):NEXTX:Y=Y-2:RETURN 530 PRINT@0,"":PRINT:PRINT:PRINT" * * * ";B$;"SLIDE * * *" 540 FORI=1TO2000:NEXTI 550 CLS:PRINT"YOU BUILT ";(47-Y)/2;" LAYERS. THAT'S QUITE A PILE." 560 PRINT:INPUT"WOULD YOU LIKE TO TRY AGAIN";A$:IFLEFT$(A$,1)="N"THENPRINT"O.K, BYE":END 570 INPUT"WOULD YOU LIKE TO REVIEW THE INSTRUCTIONS";A$ 580 IFLEFT$(A$,1)="N"THEN240 590 GOTO60 600 PRINT@0,,,,"":PRINT:PRINT:PRINT 610 FORY=47TO16STEP-1:RESET(64,Y):NEXTY 620 FORY=11TO0STEP-1:SET(64,Y):NEXTY 630 FORX=65TO79:SET(X,0):SET(X,1):SET(X,2):SET(X,3):SET(X,4):NEXTX 640 PRINTA$;"'S CASTLE"; 650 GOTO650