home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 6 / 06.iso / b / b077 / 1.img / SBGL.ZIP / AS44.BAS (.txt) < prev    next >
Encoding:
GW-BASIC  |  1980-01-01  |  2.3 KB  |  104 lines

  1. 2000  '************************************************************
  2. 2100  '*                  TAB(SOUNDLOAD<UNK! {FEC3}><UNK! {00FB}>CALLPSET: SG44.BAS                      *
  3. 2200  '*                  CALLTOUSRIMPRANDOMIZEEDITSOUNDPOINT: CLOSEDEFINTWHILESCREENBSAVELOCATEERRCSRLINSTEP<0xDF!>THENLOAD                  *
  4. 2300  '*                  WHILE<0xE0!>CALLTOSCREENERRPSETVARPTR: 1987.10                       *
  5. 2400  '************************************************************
  6. 4000  KEY OFF
  7. 4001  OPEN "ZBMC.TXT" FOR INPUT AS #1
  8. 4002  INPUT #1,GN$,XS$,YS$
  9. 4003  CLOSE #1
  10. 4004  K=0
  11. 4005  DIM Y(15)
  12. 4006  OPEN "ZBSZ44.TXT" FOR INPUT AS #1
  13. 4007  IF EOF(1)=-1 THEN CLOSE #1 : GOTO 4010
  14. 4008  K=K+1: INPUT #1,X,Y(K) : GOTO 4007
  15. 4010  GOSUB 4025
  16. 4011  L%=LEN(GN$)
  17. 4012  LOCATE 10,(40-L%)/2,0
  18. 4013  PRINT GN$;    '   or  LINE<0xB4!>CLOSEINSTRCALL<0xB5!>LOAD<UNK! {00FC}>THEN<0xCB!>CALL<UNK! {00F6}>
  19. 4014  IF INKEY$=CHR$(13) THEN GOTO 4016
  20. 4015  GOTO 4014
  21. 4016  SYSTEM
  22. 4018  '
  23. 4019  '
  24. 4025  SCREEN 1,0 : COLOR 9,0 : CLS
  25. 4026  MAX=Y(1)
  26. 4028  FOR I=2 TO K
  27. 4029    IF Y(I)>MAX THEN MAX=Y(I)
  28. 4030  NEXT I
  29. 4031  IF MAX<=1 THEN SY=0.01 ELSE IF MAX<=5 THEN SY=0.05 ELSE IF MAX<=10 THEN SY=0.1 ELSE IF MAX<=25 THEN SY=0.25 ELSE IF MAX<=50 THEN SY=0.5 ELSE IF MAX<=75 THEN SY=0.75 ELSE SY=1
  30. 4040  GOSUB 4080
  31. 4045  GOSUB 4200
  32. 4050  GOSUB 4300
  33. 4060  RETURN
  34. 4062  '
  35. 4064  '
  36. 4080  LINE (28,140)-(310,140)
  37. 4084  LINE (310,140)-STEP(-8,2)
  38. 4085  LINE (310,140)-STEP(-8,-2)
  39. 4087  LINE (28,140)-(28,1)
  40. 4088  LINE (28,1)-STEP(2,6)
  41. 4089  LINE (28,1)-STEP(-2,6)
  42. 4090  FOR I=1 TO K
  43. 4095    X1=28+(I-1)*240/(K-1)
  44. 4097    IF I<>1 THEN LINE (X1,138)-STEP(0,4)
  45. 4100    CN=I-1 : GOSUB 5002
  46. 4105  NEXT I
  47. 4110  L%=LEN(XS$)
  48. 4115  LOCATE 9,40-L%
  49. 4120  PRINT XS$
  50. 4125  L%=LEN(YS$)
  51. 4130  FOR I=1 TO L% STEP 2
  52. 4135    LOCATE 1+I\2,1
  53. 4136    SUB$=MID$(YS$,I,2)
  54. 4138    PRINT SUB$
  55. 4140  NEXT I
  56. 4145  FOR I=120 TO 40 STEP -20
  57. 4146    IF I<80 THEN GOTO 4150
  58. 4147    LOCATE I*6/100,1
  59. 4148    PRINT STR$((140-I)*SY)
  60. 4150    LINE (26,I)-(30,I)
  61. 4155  NEXT I
  62. 4160  RETURN
  63. 4170  '
  64. 4180  '
  65. 4200  X1=28 : Y1=140-Y(1)/SY
  66. 4210  FOR I=2 TO K
  67. 4220    X2=28+(I-1)*240/(K-1)
  68. 4230    Y2=140-Y(I)/SY
  69. 4240    LINE (X1,Y1)-(X2,Y2),2
  70. 4250    X1=X2 : Y1=Y2
  71. 4260  NEXT I
  72. 4270  RETURN
  73. 4272  '
  74. 4275  '
  75. 4300  Y1=140-Y(1)/SY
  76. 4302  LINE (28,Y1)-STEP(15,0),1
  77. 4305  FOR I=0 TO 220 STEP 20
  78. 4315    LINE (43+I+5,Y1)-STEP(15,0),1
  79. 4320  NEXT I
  80. 4325  LOCATE Y1*6/100,34
  81. 4330  YS$=STR$(Y(1))
  82. 4335  PRINT YS$+"%"
  83. 4336  LINE (28,140)-(28,10)
  84. 4340  RETURN
  85. 5000  '
  86. 5001  '
  87. 5002  L=LEN(STR$(CN))-1
  88. 5004  FOR II=1 TO L
  89. 5005    X0=X1+4*(II-L/2-1) : Y0=148
  90. 5006    V=VAL(MID$(STR$(CN),II+1,1))
  91. 5008    IF V=0 THEN PSET(X0,Y0) : DRAW "R4 D6 L4 U6" : GOTO 5030
  92. 5010    ON V GOTO 5012,5014,5016,5018,5020,5022,5024,5026,5028
  93. 5012    PSET(X0+2,Y0) : DRAW "D6" : GOTO 5030
  94. 5014    PSET(X0,Y0) : DRAW "R4 D3 L4 D3 R4" : GOTO 5030
  95. 5016    PSET(X0,Y0) : DRAW "R4 D3 L4 R4 D3 L4" : GOTO 5030
  96. 5018    PSET(X0,Y0) : DRAW "D4 R4 L1 U4 D6" : GOTO 5030
  97. 5020    PSET(X0+4,Y0) : DRAW "L4 D3 R4 D3 L4" : GOTO 5030
  98. 5022    PSET(X0+4,Y0) : DRAW "L4 D6 R4 U3 L4" : GOTO 5030
  99. 5024    PSET(X0,Y0) : DRAW "R4 D6" : GOTO 5030
  100. 5026    PSET(X0,Y0+3) : DRAW "R4 U3 L4 D6 R4 U3" : GOTO 5030
  101. 5028    PSET(X0+4,Y0+3) : DRAW "L4 U3 R4 D6 L4"
  102. 5030  NEXT
  103. 5040  RETURN
  104.