Guest User

Untitled

a guest
Feb 28th, 2018
146
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
QBasic 2.39 KB | None | 0 0
  1. z = 2
  2. v = 0
  3. r = 1.5
  4.  
  5. DIM ax(10)
  6. DIM bx(10)
  7. DIM ay(10)
  8. DIM by(10)
  9. GOSUB newval
  10.  
  11. SCREEN 12
  12.  
  13. DO
  14.  
  15. CLS
  16. 10 WINDOW (-z, -z)-(z, z)
  17.  
  18. a$ = ""
  19. WHILE a$ = ""
  20. a$ = INKEY$
  21.  
  22. IF a$ = "s" OR a$ = "S" THEN GOSUB save
  23. IF a$ = "L" OR a$ = "l" THEN GOSUB load
  24. IF a$ = "w" OR a$ = "W " THEN GOSUB rite
  25. IF a$ = "E" OR a$ = "e" THEN END
  26. IF a$ = "P" OR a$ = "p" THEN GOSUB plus
  27. IF a$ = "M" OR a$ = "m" THEN GOSUB minus
  28. IF a$ = " " THEN GOSUB newval
  29. IF a$ = "c" OR a$ = "C" THEN CLS
  30. IF a$ = "v" OR a$ = "V" THEN CLS
  31. IF a$ = "0" THEN GOSUB hello
  32.  
  33. k = INT(RND * 4 + 1)
  34.  
  35. x = xold * ax(k) - yold * ay(k)
  36. y = yold * ax(k) + xold * ay(k)
  37. x = x + bx(k)
  38. y = y + by(k)
  39.          
  40. c = 15
  41. REM c = POINT(x, y) + 1
  42. REM IF c > 15 THEN c = 15
  43. PSET (x, y), c
  44. xold = x
  45. yold = y
  46.  
  47. WEND
  48.  
  49. LOOP
  50.  
  51. save:
  52. INPUT "enter title ", title$
  53. OPEN title$ FOR OUTPUT AS #1
  54. FOR i = 1 TO 5
  55. PRINT #1, ax(i)
  56. PRINT #1, bx(i)
  57. PRINT #1, ay(i)
  58. PRINT #1, by(i)
  59. NEXT
  60. CLOSE 1
  61. RETURN
  62.  
  63. load:
  64. INPUT "enter title ", title$
  65. OPEN title$ FOR INPUT AS #1
  66. FOR i = 1 TO 5
  67. INPUT #1, ax(i)
  68. INPUT #1, bx(i)
  69. INPUT #1, ay(i)
  70. INPUT #1, by(i)
  71. NEXT
  72. CLOSE 1
  73. RETURN
  74.  
  75. rite:
  76. FOR i = 1 TO 5
  77. PRINT "enter ax("; i; ")";
  78. INPUT ax(i)
  79. PRINT "enter bx("; i; ")";
  80. INPUT bx(i)
  81. PRINT "enter ay("; i; ")";
  82. INPUT ay(i)
  83. PRINT "enter by("; i; ")";
  84. INPUT by(i)
  85. NEXT i
  86. RETURN
  87.  
  88. plus:
  89. z = z * 2
  90. RETURN
  91.  
  92. minus:
  93. z = z / 2
  94. RETURN
  95.  
  96. newval:
  97. FOR i = 1 TO 5
  98. ax(i) = r * (RND - .5)
  99. bx(i) = r * (RND - .5)
  100. ay(i) = r * (RND - .5)
  101. by(i) = r * (RND - .5)
  102. NEXT i
  103. RETURN
  104.  
  105. hello:
  106. FOR i = 1 TO 5
  107. PRINT "ax("; i; ") ="; ax(i)
  108. PRINT "bx("; i; ") ="; bx(i)
  109. PRINT "ay("; i; ") ="; ay(i)
  110. PRINT "by("; i; ") ="; by(i)
  111. PRINT
  112. FOR n = 1 TO 100000: NEXT n
  113. NEXT i
  114. GOTO 10
  115.  
  116.  
  117.  
  118. VAL1:
  119. r = 2
  120. ax(1) = r * (v)
  121. bx(1) = r * (v + .15)
  122. ay(1) = r * (v + .2)
  123. by(1) = r * (v + .25)
  124.  
  125. ax(2) = r * (v + .3)
  126. bx(2) = r * (v + .35)
  127. ay(2) = r * (v + .4)
  128. by(2) = r * (v + .45)
  129.  
  130. ax(3) = r * (v + .1)
  131. bx(3) = r * (v + .15)
  132. ay(3) = r * (v + .2)
  133. by(3) = r * (v + .25)
  134.  
  135. ax(4) = r * (v + .3)
  136. bx(4) = r * (v + .35)
  137. ay(4) = r * (v + .4)
  138. by(4) = r * (v + .45)
  139.  
  140. ax(5) = r * (v + .1)
  141. bx(5) = r * (v + .15)
  142. ay(5) = r * (v + .2)
  143. by(5) = r * (v + .25)
  144. RETURN
  145.  
  146.  
  147.  
  148. REM IF a$ = "b" OR a$ = "B" THEN r = r + .05: GOSUB newval
  149. REM IF a$ = "n" OR a$ = "N" THEN r = r - .05: GOSUB newval
  150. REM IF v > .49 THEN v = 0
  151. REM IF v < -.5 THEN v = 0
  152. REM IF a$ = "q" OR a$ = "Q" THEN v = v + .001: GOSUB VAL1
  153. REM IF a$ = "z" OR a$ = "Z" THEN v = v - .001: GOSUB VAL1
  154. REM IF a$ = "w" OR a$ = "W" THEN PRINT v
  155. REM IF a$ = "1" THEN GOSUB VAL1
Add Comment
Please, Sign In to add comment