Движение графических объектов в QuickBasic - QBasic

Узнай цену своей работы

Формулировка задачи:

Здравствуйте Помогите сделать с помощью оператора DRAW чтобы имя "Сергей" двигалось слева направо

Решение задачи: «Движение графических объектов в QuickBasic»

textual
Листинг программы
  1. DECLARE SUB DrawText (Msg AS STRING, X AS INTEGER, Y AS INTEGER, TextColor AS INTEGER, Size AS INTEGER, Angle AS INTEGER)
  2.  
  3. SCREEN 12
  4. DIM SHARED Font(164) AS STRING
  5. DIM I AS INTEGER, X AS INTEGER
  6. RESTORE FontData
  7. FOR I = 0 TO 164
  8.     READ Font(I)
  9. NEXT I
  10.  
  11. FOR X = 0 TO 640 STEP 5
  12.     CLS
  13.     DrawText "Это мой", X, 175, 9, 3, 45
  14.     DrawText "Векторный", X, 205, 11, 4, 0
  15.     DrawText "Шрифт", X, 240, 12, 5, -45
  16.     FOR j = 1 TO 25
  17.         z = SIN(SQR(j))
  18.     NEXT j
  19.     IF INKEY$ <> "" THEN
  20.         EXIT FOR
  21.     END IF
  22. NEXT X
  23.  
  24. FontData:
  25. DATA "BR"
  26. DATA "NURUNLBUU3LM+1,+3BF2"
  27. DATA "BU4UBRDBD4BR"
  28. DATA "BU3NR3BUNR3BEND3BRD3BR2BD2"
  29. DATA "BUFEH2ENUNFD5BRBE"
  30. DATA "BRRULNDBLE3BLLURDBD4BR2"
  31. DATA "BR4HUHLGDFREEBLNDHLHERFGBF3"
  32. DATA "BU5DENLBD5BR"
  33. DATA "BRBU5GD3FBR"
  34. DATA "BU5FD3GBR2"
  35. DATA "BU3R2BDH2BD2E2BD4BR"
  36. DATA "BU3R2BHD2BD2BR2"
  37. DATA "BURGURBF"
  38. DATA "BU3R2BD3BR"
  39. DATA "URDLBR2"
  40. DATA "M+2,-5BD5BR"
  41. DATA "BUU3ERFNM-3,+3D3GLHBDBR4"
  42. DATA "BU4ED5LR2BR"
  43. DATA "BU3UERFDG3R3BR"
  44. DATA "BU5R3DGFDGLHBR4BD"
  45. DATA "BR3U5G3DR4BF"
  46. DATA "BUFREUHL2U2R3BD5BR"
  47. DATA "BU2ERFDGLHU3ERFBD4BR"
  48. DATA "BU5R3DM-2,+4BR3"
  49. DATA "BUUEREHLGFRFDGLHBR4BD"
  50. DATA "BUFREU3HLGDFREBD3BR"
  51. DATA "URDLBU3URDLBR2BD3"
  52. DATA "URGBU3URDLBD3BR2"
  53. DATA "BR2M-2,-2M+2,-2BD4BR"
  54. DATA "BU2R2BUNL2BD3BR"
  55. DATA "M+2,-2M-2,-2BD4BR3"
  56. DATA "BU4ERFGDBDDLURBBFBR"
  57. DATA "BEBUURDNLEHLGD2FRBR2"
  58. DATA "U4ER2D3NL3D2BR"
  59. DATA "U5R2FGNL2FDGL2BR4"
  60. DATA "BE3BUHLGD3FREBF"
  61. DATA "U5R2FD3GL2BR4"
  62. DATA "BU5BR3L3D2NR2D3R3BR"
  63. DATA "U2NR2U3R3DBD4BR"
  64. DATA "BE2RDGLHU3ERFBD4BR"
  65. DATA "U3NU2R3NU2D3BR"
  66. DATA "RNRU5NLRBD5BR"
  67. DATA "BUNUFREU4NL3BD5BR"
  68. DATA "U3NU2RNM+2,-2M+2,+3BR"
  69. DATA "NU5R3NUBR"
  70. DATA "M+1,-5M+1,+5M+1,-5M+1,+5BR"
  71. DATA "U5M+3,+5NU5BR"
  72. DATA "BUU3ERFD3GLHBDBR4"
  73. DATA "U5R2FDGL2BR4BD2"
  74. DATA "BUU3ERFD3GLHBRRFBR"
  75. DATA "U5R2FDGLNLF2BR"
  76. DATA "BUFREUHLHERFBD4BR"
  77. DATA "BR2U5BL2BDUR4DBD4BR"
  78. DATA "BU5D4FRENU4BF"
  79. DATA "BU5M+1,+5RNM+1,-5BR2"
  80. DATA "BU5M+1,+5M+1,-5M+1,+5NM+1,-5BR2"
  81. DATA "M+3,-5BL3M+3,+5BR"
  82. DATA "BRU2NM-1,-3NM+1,-3BF2"
  83. DATA "BU4UR3DG3DR3NUBR"
  84. DATA "BU5NRD5RBR"
  85. DATA "BU5M+2,+5BR"
  86. DATA "BU5RD5NLBR"
  87. DATA "U3M+1,+2M+1,-2D3BRBU5RDLDRBRBD3"
  88. DATA "BDR2BE"
  89. DATA "BU5FBD4BR"
  90. DATA "BU3EFD2GHERD2BR"
  91. DATA "NU5REUHLBF3"
  92. DATA "BE3HLGD2FREBF"
  93. DATA "BE2BULGDFRNU5BR"
  94. DATA "BU2R2EHLGD2FREBF"
  95. DATA "BRU2NLNRU2ERBD5BR"
  96. DATA "BE2BU2LGDFRNU3DNGBR"
  97. DATA "U3NU2RFD2BR"
  98. DATA "RNRU3NLBUUBD5BR2"
  99. DATA "FEU3NLBUUBD5BR"
  100. DATA "U2NU3NE2F2BR"
  101. DATA "BUNU4FBR"
  102. DATA "U3NUEDND3ED4BR"
  103. DATA "U3NUEFD3BR"
  104. DATA "BUU2ER1FD2GL1HBDBR4"
  105. DATA "U4RFDGLBR3BD"
  106. DATA "BE2BU2LGDFRNU3D2BE"
  107. DATA "U3NUERBD4BR"
  108. DATA "BUFREHLHERFBD3BR"
  109. DATA "BRBU5D2NLNRD2FEBF"
  110. DATA "BU4D3FRENU3DBR"
  111. DATA "BU4M+1,+4NM+1,-4BR2"
  112. DATA "BU4M+1,+4M+1,-4M+1,+4NM+1,-4BR2"
  113. DATA "M+2,-4BL2M+2,+4BR"
  114. DATA "BU4M+1,+2ND2NM+1,-2BF2"
  115. DATA "BU3UR2M-2,+4R2NUBR"
  116. DATA "BU4BR2GDNLDFBR"
  117. DATA "NU4BR"
  118. DATA "BU4FDNRDGBR3"
  119. DATA "BU2EF2EBD2BR"
  120. DATA "BR"
  121. DATA "U4ER2D3NL3D2BR"
  122. DATA "BU3R2FDGL2U5R3BD5BR"
  123. DATA "U5R2FGNL2FDGL2BR4"
  124. DATA "U5R3DBD4BR"
  125. DATA "BDURM+1,-5RD5NL2RDBE"
  126. DATA "BU5BR3L3D2NR2D3R3BR"
  127. DATA "U2ER2FD2BL4BU5DFR2EUBL2D5BR3"
  128. DATA "BUFREUHEHLGBF4"
  129. DATA "NU5M+3,-5D5BR"
  130. DATA "NU5M+3,-5ND5BLlBR3BD5"
  131. DATA "U3NU2RNM+2,-2M+2,+3BR"
  132. DATA "M+2,-5RD5BR"
  133. DATA "M+1,-5M+1,+5M+1,-5M+1,+5BR"
  134. DATA "U3NU2R3NU2D3BR"
  135. DATA "BUU3ERFD3GLHBDBR4"
  136. DATA "U5R3D5BR"
  137. DATA "U5R2FDGL2BR4BD2"
  138. DATA "BE3BUHLGD3FREBF"
  139. DATA "BR2U5BL2BDUR4DBD4BR"
  140. DATA "BUFREU4BL3D2FR2BD2BR"
  141. DATA "BR2U5RFD2GL2HU2ERBR3BD5"
  142. DATA "M+3,-5BL3M+3,+5BR"
  143. DATA "NU5R2NU5RDBE"
  144. DATA "BR3U5BL3D2FR2BD2BR"
  145. DATA "NU5R2NU4R2NU5BR"
  146. DATA "NU5R2NU4R2NU5RDBE"
  147. DATA "BU4URD5R2EUHL2BF3BR"
  148. DATA "BU3R2FDGL2U5BR4D5BR"
  149. DATA "BU5D5R2EUHL2BF3BR"
  150. DATA "BUFREU2NL2UHLGBF4"
  151. DATA "U3NU2RUERFD3GLHU3BF4"
  152. DATA "E2NRLHUER2D5BR"
  153. DATA "BU3EFD2GHERD2BR"
  154. DATA "BU2RFGLU3ERBD4BR"
  155. DATA "U4RFGNLFGNLBR2"
  156. DATA "U4R2DBD3BR"
  157. DATA "BDURM+1,-4RD4NL2RDBUBR"
  158. DATA "BU2R2EHLGD2FREBF"
  159. DATA "UENRHUBR2ND4BR2DGNLFDBR"
  160. DATA "BU3ERFGNLFGLHBDBR4"
  161. DATA "BU4D4M+2,-4D4BR"
  162. DATA "BU4D4M+2,-4BLNUBRD4BR"
  163. DATA "U2NU2NE2F2BR"
  164. DATA "M+1,-4RD4BR"
  165. DATA "M+1,-4M+1,+4M+1,-4M+1,+4BR"
  166. DATA "U2NU2R2NU2D2BR"
  167. DATA "BUU2ER1FD2GL1HBDBR4"
  168. DATA "U4R2D4BR"
  169. DATA "U4RFDGLBR3BD"
  170. DATA "BE3HLGD2FREBF"
  171. DATA "BU3URND4RDBD3BR"
  172. DATA "BU4D1FRNU2D1GLBR3"
  173. DATA "BR2U4LGDFR2EUHLBD4BR3"
  174. DATA "M+2,-4BL2M+2,+4BR"
  175. DATA "BU4D4R2NU4RDBE"
  176. DATA "BU4D2FRNU3DBR"
  177. DATA "NU4RNU4RNU4BR"
  178. DATA "NU4RNU4RNU4RDBE"
  179. DATA "BU3URD4REUHLBF3"
  180. DATA "BU3RFDGLU4BR3D4BR"
  181. DATA "NU4REUHLBF3"
  182. DATA "BUFREUNLUHLGBF3BR"
  183. DATA "U2NU2RUERFD2GLHUBF2BR2"
  184. DATA "ENRHUERD4BR"
  185. DATA "BU4URDLBF2BD2"
  186. DATA "BU2U2R2D2L2BF2BR"
  187. DATA "BU2URDLBF2"
  188. DATA "BU2RM+1,+2M+1,-5BD5BR"
  189. DATA "U5M+2,+5U5RBDRDLNUBDRBD2BR"
  190. DATA " BU3BR2DL2U2R2DR4UR2D2L2UBR2BD3BR"
  191. DATA "U5R4D5NL4BR"
  192.  
  193. SUB DrawText (Msg AS STRING, X AS INTEGER, Y AS INTEGER, TextColor AS INTEGER, Size AS INTEGER, Angle AS INTEGER)
  194.     DIM Ln AS INTEGER, N AS INTEGER, I AS INTEGER
  195.     DIM Mess AS STRING, C AS STRING, S AS STRING, Message AS STRING, A AS STRING
  196.     FOR N = 1 TO LEN(Msg)
  197.         I = ASC(MID$(Msg, N, 1))
  198.         SELECT CASE I
  199.         CASE IS < 32
  200.         CASE IS < 176
  201.             I = I - 32
  202.         CASE IS < 224
  203.         CASE ELSE
  204.             I = I - 80
  205.         END SELECT
  206.         Mess = Mess + RTRIM$(Font(I))
  207.     NEXT N
  208.     C = "C" + LTRIM$(RTRIM$(STR$(TextColor)))
  209.     A = "TA" + LTRIM$(RTRIM$(STR$(Angle)))
  210.     S = "S" + LTRIM$(RTRIM$(STR$(Size * 4)))
  211.     Message = C + A + S + Mess + "TA0"
  212.     PSET (X%, Y%), POINT(X%, Y%)
  213.     DRAW "X" + VARPTR$(Message$):
  214. END SUB

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 3.6 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы