home *** CD-ROM | disk | FTP | other *** search
GW-BASIC | 1980-01-01 | 2.7 KB | 127 lines |
- 2000 '****************************************************************
- 2100 '* TAB(SOUNDLOAD<UNK! {FEC3}><UNK! {00FB}>CALLPSET: SG22.BAS *
- 2200 '* CALLTOUSRIMPRANDOMIZEEDITSOUNDPOINT: CLOSEDEFINTCOLORINSTRSTRING$PSETMERGE=STEPINKEY$WHILESCREENMERGESTEPTHENLOAD *
- 2300 '* WHILE<0xE0!>CALLTOSCREENERRPSETVARPTR: 1987.12 *
- 2400 '****************************************************************
- 2510 KEY OFF
- 2520 OPEN "ZBMC.TXT" FOR INPUT AS #1
- 2530 INPUT #1,GN$,XS$,YS$
- 2540 CLOSE #1
- 2550 K=0
- 2560 DIM Y(15)
- 2570 OPEN "ZBSZ22.TXT" FOR INPUT AS #1
- 2580 IF EOF(1)=-1 THEN CLOSE #1 : GOTO 2800
- 2590 K=K+1: INPUT #1,Y(K) : GOTO 2580
- 2800 OPEN "SXX.TXT" FOR INPUT AS #1
- 2801 INPUT #1,YD,YU
- 2802 CLOSE #1
- 4000 GOSUB 4025
- 4005 L%=LEN(GN$)
- 4010 LOCATE 10,(40-L%)/2,0
- 4012 PRINT GN$; ' or LINE<0xB4!>CLOSEINSTRCALL<0xB5!>LOAD<UNK! {00FC}>THEN<0xCB!>CALL<UNK! {00F6}>
- 4014 IF INKEY$=CHR$(13) THEN GOTO 4016
- 4015 GOTO 4014
- 4016 SYSTEM
- 4018 '
- 4019 '
- 4025 MAX=YU
- 4028 FOR I=1 TO K
- 4029 IF Y(I)>MAX THEN MAX=Y(I)
- 4030 NEXT I
- 4048 M0=INT(MAX) : M1=LEN(STR$(M0))
- 4050 M2=VAL(MID$(STR$(M0),2,1))
- 4055 MAX=(M2+1)*10^(M1-2)
- 4060 SY=100/MAX
- 4062 GOSUB 4080
- 4064 GOSUB 4200
- 4068 GOSUB 4500
- 4070 RETURN
- 4072 '
- 4074 '
- 4080 SCREEN 1,0 : COLOR 9,0 : CLS
- 4082 LINE (42,140)-(310,140)
- 4084 LINE (310,140)-STEP(-8,2)
- 4085 LINE (310,140)-STEP(-8,-2)
- 4087 LINE (42,140)-(42,1)
- 4088 LINE (42,1)-STEP(2,6)
- 4089 LINE (42,1)-STEP(-2,6)
- 4090 FOR I=1 TO K
- 4095 X1=42+(I-1)*200/(K-1)
- 4097 IF I<>1 THEN LINE (X1,138)-STEP(0,4)
- 4100 CN=I : GOSUB 5000
- 4105 NEXT I
- 4110 L%=LEN(XS$)
- 4115 LOCATE 9,40-L%
- 4120 PRINT XS$
- 4125 L%=LEN(YS$)
- 4130 FOR I=1 TO L% STEP 2
- 4135 LOCATE 1+I\2,3
- 4136 SUB$=MID$(YS$,I,2)
- 4138 PRINT SUB$
- 4140 NEXT I
- 4142 YM=0
- 4144 FOR I=140 TO 40 STEP -20
- 4145 IF I<80 THEN GOTO 4155
- 4146 L%=LEN(STR$(YM))
- 4147 LOCATE I*6/100,6-L%,0
- 4148 PRINT STR$(YM)
- 4150 YM=YM+MAX/5
- 4152 IF I=140 THEN GOTO 4158
- 4155 LINE (40,I)-(44,I)
- 4158 NEXT I
- 4160 RETURN
- 4170 '
- 4180 '
- 4200 X1=42 : Y1=140-Y(1)*SY
- 4210 FOR I=2 TO K
- 4220 X2=42+(I-1)*220/(K-1)
- 4230 Y2=140-Y(I)*SY
- 4240 LINE (X1,Y1)-(X2,Y2),2
- 4250 X1=X2 : Y1=Y2
- 4260 NEXT I
- 4270 RETURN
- 4272 '
- 4275 '
- 4500 Y0=140-YD*SY
- 4502 LINE (42,Y0)-STEP(15,0),1
- 4505 FOR I=0 TO 200 STEP 20
- 4515 LINE (57+I+5,Y0)-STEP(15,0),1
- 4520 NEXT I
- 4525 LOCATE Y0*6/100,36
- 4530 PRINT STR$(INT(YD))
- 4600 Y0=140-YU*SY
- 4602 LINE (42,Y0)-STEP(15,0),1
- 4605 FOR I=0 TO 200 STEP 20
- 4615 LINE (57+I+5,Y0)-STEP(15,0),1
- 4620 NEXT I
- 4625 LOCATE Y0*6/100,36
- 4630 PRINT STR$(INT(YU))
- 4800 Y0=140-(YD+YU)/2*SY
- 4810 LINE (34,Y0)-STEP(15,0),3
- 4820 FOR I=0 TO 240 STEP 29
- 4830 LINE (49+I+4,Y0)-STEP(1,0),3
- 4840 LINE (54+I+4,Y0)-STEP(1,0),3
- 4850 LINE (59+I+4,Y0)-STEP(15,0),3
- 4860 NEXT I
- 4870 LINE (42,140)-(42,10)
- 4880 RETURN
- 4885 '
- 4886 '
- 5000 L=LEN(STR$(CN))-1
- 5002 FOR II=1 TO L
- 5004 X0=X1+4*(II-L/2-1) : Y0=148
- 5006 V=VAL(MID$(STR$(CN),II+1,1))
- 5008 IF V=0 THEN PSET(X0,Y0) : DRAW "R4 D6 L4 U6" : GOTO 5030
- 5010 ON V GOTO 5012,5014,5016,5018,5020,5022,5024,5026,5028
- 5012 PSET(X0+2,Y0) : DRAW "D6" : GOTO 5030
- 5014 PSET(X0,Y0) : DRAW "R4 D3 L4 D3 R4" : GOTO 5030
- 5016 PSET(X0,Y0) : DRAW "R4 D3 L4 R4 D3 L4" : GOTO 5030
- 5018 PSET(X0,Y0) : DRAW "D4 R4 L1 U4 D6" : GOTO 5030
- 5020 PSET(X0+4,Y0) : DRAW "L4 D3 R4 D3 L4" : GOTO 5030
- 5022 PSET(X0+4,Y0) : DRAW "L4 D6 R4 U3 L4" : GOTO 5030
- 5024 PSET(X0,Y0) : DRAW "R4 D6" : GOTO 5030
- 5026 PSET(X0,Y0+3) : DRAW "R4 U3 L4 D6 R4 U3" : GOTO 5030
- 5028 PSET(X0+4,Y0+3) : DRAW "L4 U3 R4 D6 L4"
- 5030 NEXT
- 5040 RETURN
-