home *** CD-ROM | disk | FTP | other *** search
GW-BASIC | 1979-12-31 | 1.4 KB | 69 lines |
- 2000 '*******************************************************
- 2100 '* Filename: SG11.BAS *
- 2200 '* Date: 1987.9 *
- 2300 '*******************************************************
- 4001 KEY OFF
- 4004 DIM X(10),Y(10)
- 4005 K=10
- 4006 FOR I=1 TO K
- 4007 READ X(I)
- 4008 NEXT I
- 4009 FOR I=1 TO K
- 4010 READ Y(I)
- 4011 NEXT I
- 4012 DATA 10,20,30,40,50,60,70,80,90,100
- 4013 DATA 10,50,40,70,20,70,10,30,60,20
- 4014 XS$="aaaaaaaaaa"
- 4015 YS$="bbbbbbbbbb"
- 4016 GOSUB 4020
- 4017 END
- 4018 '
- 4019 '
- 4020 FOR I=1 TO K
- 4021 XY(I)=X(I)
- 4022 NEXT I
- 4023 GOSUB 4060
- 4024 XMIN=MIN-ABS(MIN*0.2): XMAX=MAX+ABS(MAX*0.2)
- 4025 FOR I=1 TO K
- 4026 XY(I)=Y(I)
- 4027 NEXT I
- 4028 GOSUB 4060
- 4029 YMIN=MIN-ABS(MIN*0.2): YMAX=MAX+ABS(MAX*0.2)
- 4030 SCREEN 2
- 4033 SX=640/(XMAX-XMIN): SY=200/(YMAX-YMIN)
- 4035 GOSUB 4080
- 4048 FOR I=1 TO K-1
- 4050 LINE ((X(I)-XMIN)*SX,200-(Y(I)-YMIN)*SY)-((X(I+1)-XMIN)*SX,200-(Y(I+1)-YMIN)*SY)
- 4055 NEXT I
- 4057 RETURN
- 4058 '
- 4059 '
- 4060 MIN=XY(1): MAX=XY(1)
- 4062 FOR I=2 TO K
- 4064 IF XY(I)<MIN THEN MIN=XY(I) ELSE IF XY(I)>MAX THEN MAX=XY(I)
- 4068 NEXT I
- 4069 IF MIN>0 THEN MIN=-5
- 4070 RETURN
- 4071 '
- 4072 '
- 4080 X0=-XMIN*SX: Y0=-YMIN*SY
- 4082 X1= XMAX*SX: Y1= YMAX*SY
- 4083 CLS
- 4085 LINE (X0,200-Y0)-(X1,200-Y0),1
- 4087 LINE (X1,200-Y0)-STEP(-15,2),1
- 4088 LINE (X1,200-Y0)-STEP(-15,-2),1
- 4090 L%=LEN(XS$)
- 4092 LOCATE 26-INT(Y0/8),INT(X1/8)-L%
- 4094 PRINT XS$;
- 4098 LINE (X0,200-Y0)-(X0,200-Y1),1
- 4099 LINE (X0,200-Y1)-STEP(3,7),1
- 4100 LINE (X0,200-Y1)-STEP(-3,7),1
- 4102 L%=LEN(YS$)
- 4104 FOR I=1 TO L% STEP 2
- 4106 LOCATE 26-INT(Y1/8)+I\2,INT(X0/8)-2
- 4107 SUB$=MID$(YS$,I,2)
- 4108 PRINT SUB$
- 4109 NEXT I
- 4112 LOCATE 23,1
- 4120 RETURN
-