home *** CD-ROM | disk | FTP | other *** search
GW-BASIC | 1980-01-01 | 2.2 KB | 101 lines |
- 2000 '********************************************************
- 2100 '* TAB(SOUNDLOAD<UNK! {FEC3}><UNK! {00FB}>CALLPSET: SG66.BAS *
- 2200 '* CALLTOUSRIMPRANDOMIZEEDITSOUNDPOINT: CLOSEDEFINTWRITEMERGECOLOR+THENLOAD *
- 2300 '* WHILE<0xE0!>CALLTOSCREENERRPSETVARPTR: 1987.10 *
- 2400 '********************************************************
- 4000 KEY OFF
- 4001 OPEN "ZBMC.TXT" FOR INPUT AS #1
- 4002 INPUT #1,GN$,XS$,YS$
- 4003 CLOSE #1
- 4004 K=0
- 4005 DIM X(15),Y(15)
- 4006 OPEN "ZBSZ66.TXT" FOR INPUT AS #1
- 4007 IF EOF(1)=-1 THEN CLOSE #1 : GOTO 4010
- 4008 K=K+1:INPUT #1,X(K),Y(K):GOTO 4007
- 4010 GOSUB 4030
- 4011 L%=LEN(GN$)
- 4012 LOCATE 10,(40-L%)/2,0
- 4013 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 '
- 4030 SCREEN 1,0 : COLOR 9,0 : CLS
- 4031 MAX=Y(1)
- 4032 FOR I=2 TO K
- 4033 IF Y(I)>MAX THEN MAX=Y(I)
- 4034 NEXT I
- 4040 M0=INT(MAX) : M1=LEN(STR$(M0))
- 4042 M2=VAL(MID$(STR$(M0),2,1))
- 4045 MAX=(M2+1)*10^(M1-2)
- 4046 SY=100/MAX
- 4050 GOSUB 4080
- 4055 GOSUB 4200
- 4057 RETURN
- 4058 '
- 4059 '
- 4080 LINE (38,140)-(310,140)
- 4084 LINE (310,140)-STEP(-8,2)
- 4085 LINE (310,140)-STEP(-8,-2)
- 4087 LINE (38,140)-(38,1)
- 4088 LINE (38,1)-STEP(2,6)
- 4089 LINE (38,1)-STEP(-2,6)
- 4090 FOR I=1 TO K
- 4095 X1=40+I*200/K-(200/K-2)/2
- 4097 LINE (X1,138)-STEP(0,4)
- 4100 CN=X(I) : GOSUB 5002
- 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=MAX/5
- 4143 FOR I=120 TO 40 STEP -20
- 4145 IF I<80 THEN GOTO 4150
- 4146 L%=LEN(STR$(YM))
- 4147 LOCATE I*6/100,5-L%
- 4148 PRINT STR$(YM)
- 4149 YM=YM+MAX/5
- 4150 LINE (36,I)-(40,I)
- 4155 NEXT I
- 4160 RETURN
- 4180 '
- 4190 '
- 4200 C%=0
- 4205 FOR I=1 TO K
- 4210 C%=C%+1
- 4215 IF C%>3 THEN C%=C%-3
- 4220 LINE (40+(I-1)*200/K+2,140)-STEP(200/K-2,-Y(I)*SY),C%,BF
- 4225 NEXT I
- 4230 LINE (38,140)-(310,140)
- 4235 LINE (38,140)-(38,1)
- 4240 FOR I=1 TO K
- 4245 LINE (40+I*200/K-(200/K-2)/2,138)-STEP(0,4)
- 4250 NEXT I
- 4260 RETURN
- 5000 '
- 5001 '
- 5002 L=LEN(STR$(CN))-1
- 5004 FOR II=1 TO L
- 5005 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
-