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

  1. 2000  '************************************************************
  2. 2100  '*                  TAB(SOUNDLOAD<UNK! {FEC3}><UNK! {00FB}>CALLPSET: SG77.BAS                      *
  3. 2200  '*                  CALLTOUSRIMPRANDOMIZEEDITSOUNDPOINT: CLOSEDEFINT<0xB6!>ERLWHILESCREENWRITEMERGECOLOR+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$,T1$,T2$,T3$
  9. 4003  CLOSE #1
  10. 4004  K=0
  11. 4005  DIM X(15),Y1(15),Y2(15),Y3(15)
  12. 4006  OPEN "ZBSZ77.TXT" FOR INPUT AS #1
  13. 4007  IF EOF(1)=-1 THEN CLOSE #1 : GOTO 4010
  14. 4008  K=K+1 : INPUT #1,X(K),Y1(K),Y2(K),Y3(K) : GOTO 4007
  15. 4010  GOSUB 4030
  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. 4030  SCREEN 1,0 : COLOR 9,0 : CLS
  25. 4031  MAX=0
  26. 4032  FOR I=1 TO K
  27. 4033    IF Y1(I)>MAX THEN MAX=Y1(I)
  28. 4034    IF Y2(I)>MAX THEN MAX=Y2(I)
  29. 4035    IF Y3(I)>MAX THEN MAX=Y3(I)
  30. 4038  NEXT I
  31. 4040  M0=INT(MAX) : M1=LEN(STR$(M0))
  32. 4042  M2=VAL(MID$(STR$(M0),2,1))
  33. 4045  MAX=(M2+1)*10^(M1-2)
  34. 4046  SY=100/MAX
  35. 4050  GOSUB 4080
  36. 4052  GOSUB 4200
  37. 4055  GOSUB 4500
  38. 4057  RETURN
  39. 4058  '
  40. 4059  '
  41. 4080  LINE (38,140)-(310,140)
  42. 4084  LINE (310,140)-STEP(-8,2)
  43. 4085  LINE (310,140)-STEP(-8,-2)
  44. 4087  LINE (38,140)-(38,1)
  45. 4088  LINE (38,1)-STEP(2,6)
  46. 4089  LINE (38,1)-STEP(-2,6)
  47. 4090  FOR I=1 TO K
  48. 4095    X1=40+I*200/K-(200/K-4)/2
  49. 4097    LINE (X1,138)-STEP(0,4)
  50. 4100    CN=X(I) : GOSUB 5002
  51. 4105  NEXT I
  52. 4110  L%=LEN(XS$)
  53. 4115  LOCATE 9,40-L%
  54. 4120  PRINT XS$
  55. 4125  L%=LEN(YS$)
  56. 4130  FOR I=1 TO L% STEP 2
  57. 4135    LOCATE 1+I\2,3
  58. 4136    SUB$=MID$(YS$,I,2)
  59. 4138    PRINT SUB$
  60. 4140  NEXT I
  61. 4142  YM=MAX/5
  62. 4143  FOR I=120 TO 40 STEP -20
  63. 4145    IF I<80 THEN GOTO 4150
  64. 4146    L%=LEN(STR$(YM))
  65. 4147    LOCATE I*6/100,5-L%
  66. 4148    PRINT STR$(YM)
  67. 4149    YM=YM+MAX/5
  68. 4150    LINE (36,I)-(40,I)
  69. 4155  NEXT I
  70. 4160  RETURN
  71. 4180  '
  72. 4190  '
  73. 4200  XL=200/K-4
  74. 4205  FOR I=1 TO K
  75. 4220    LINE (40+(I-1)*200/K+4,140)-STEP(XL/3,-Y1(I)*SY),1,B
  76. 4225    LINE (40+(I-1)*200/K+4+XL/3,140)-STEP(XL/3,-Y2(I)*SY),2,B
  77. 4230    LINE (40+I*200/K-XL/3,140)-STEP(XL/3,-Y3(I)*SY),3,B
  78. 4240    X1=40+(I-1)*200/K+4 : Z1=140
  79. 4242    X2=X1+XL/3 : Z2=140-Y1(I)*SY
  80. 4245    GOSUB 4700
  81. 4248    X1=X2
  82. 4250    X2=X1+XL/3 : Z2=140-Y2(I)*SY
  83. 4252    GOSUB 4800
  84. 4255    X1=X2
  85. 4258    X2=X1+XL/3 : Z2=140-Y3(I)*SY
  86. 4260    GOSUB 4900
  87. 4265    LINE (40+I*200/K-XL/3,140)-STEP(0,-Y2(I)*SY),2
  88. 4270  NEXT I
  89. 4430  LINE (38,140)-(310,140)
  90. 4435  LINE (38,140)-(38,1)
  91. 4440  FOR I=1 TO K
  92. 4445    LINE (40+I*200/K-(200/K-2)/2,138)-STEP(0,4)
  93. 4450  NEXT I
  94. 4460  RETURN
  95. 4470  '
  96. 4480  '
  97. 4500  LOCATE 1,25,0
  98. 4510  PRINT "THENLOAD    CLS<UNK! {FD22}>
  99. 4520  LINE (140,20)-STEP(10,10),1,B
  100. 4525  LINE (140,25)-STEP(5,-5),1
  101. 4530  LINE (140,30)-STEP(10,-10),1
  102. 4535  LINE (145,30)-STEP(5,-5),1
  103. 4540  LOCATE 2,20,0
  104. 4550  PRINT T1$
  105. 4560  LINE (200,20)-STEP(10,10),2,B
  106. 4565  LINE (200,23)-STEP(10,0),2
  107. 4570  LINE (200,27)-STEP(10,0),2
  108. 4580  LOCATE 2,28,0
  109. 4590  PRINT T2$
  110. 4600  LINE (260,20)-STEP(10,10),3,B
  111. 4605  LINE (260,25)-STEP(5,5),3
  112. 4610  LINE (260,20)-STEP(10,10),3
  113. 4615  LINE (265,20)-STEP(5,5),3
  114. 4620  LOCATE 2,35,0
  115. 4630  PRINT T3$
  116. 4640  RETURN
  117. 4650  '
  118. 4660  '
  119. 4700  FOR Y=Z1+(X2-X1)-5 TO Z2 STEP -5
  120. 4704    X0=X1 : Y0=Y
  121. 4708    XE=X2 : YE=Y0-ABS(XE-X0)
  122. 4710    IF Y>140 THEN Y0=Z1 : X0=X1+ABS(Y-140)
  123. 4720    IF Y<Z2+(X2-X1) THEN XE=X1+ABS(Y-Z2) : YE=Z2
  124. 4730    LINE (X0,Y0)-(XE,YE),1
  125. 4740  NEXT Y
  126. 4745  RETURN
  127. 4750  '
  128. 4760  '
  129. 4800  FOR Y=Z1-5 TO Z2 STEP -5
  130. 4810    LINE (X1,Y)-(X2,Y),2
  131. 4820  NEXT Y
  132. 4825  RETURN
  133. 4830  '
  134. 4840  '
  135. 4900  FOR Y=Z2-(X2-X1)+5 TO Z1 STEP 5
  136. 4904    X0=X1 : Y0=Y
  137. 4908    XE=X2 : YE=Y0+ABS(XE-X0)
  138. 4910    IF Y<Z2 THEN Y0=Z2 : X0=X1+ABS(Y-Z2)
  139. 4920    IF Y+(X2-X1)>140 THEN XE=X1+ABS(Z1-Y) : YE=Z1
  140. 4930    LINE (X0,Y0)-(XE,YE),3
  141. 4940  NEXT Y
  142. 4945  RETURN
  143. 5000  '
  144. 5001  '
  145. 5002  L=LEN(STR$(CN))-1
  146. 5004  FOR II=1 TO L
  147. 5005    X0=X1+4*(II-L/2-1) : Y0=148
  148. 5006    V=VAL(MID$(STR$(CN),II+1,1))
  149. 5008    IF V=0 THEN PSET(X0,Y0) : DRAW "R4 D6 L4 U6" : GOTO 5030
  150. 5010    ON V GOTO 5012,5014,5016,5018,5020,5022,5024,5026,5028
  151. 5012    PSET(X0+2,Y0) : DRAW "D6" : GOTO 5030
  152. 5014    PSET(X0,Y0) : DRAW "R4 D3 L4 D3 R4" : GOTO 5030
  153. 5016    PSET(X0,Y0) : DRAW "R4 D3 L4 R4 D3 L4" : GOTO 5030
  154. 5018    PSET(X0,Y0) : DRAW "D4 R4 L1 U4 D6" : GOTO 5030
  155. 5020    PSET(X0+4,Y0) : DRAW "L4 D3 R4 D3 L4" : GOTO 5030
  156. 5022    PSET(X0+4,Y0) : DRAW "L4 D6 R4 U3 L4" : GOTO 5030
  157. 5024    PSET(X0,Y0) : DRAW "R4 D6" : GOTO 5030
  158. 5026    PSET(X0,Y0+3) : DRAW "R4 U3 L4 D6 R4 U3" : GOTO 5030
  159. 5028    PSET(X0+4,Y0+3) : DRAW "L4 U3 R4 D6 L4"
  160. 5030  NEXT
  161. 5040  RETURN
  162.