Что в программе отвечает за генерацию случайных чисел - VB

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

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

Подскажите что в программе отвечает за рандом чисел...и как создаются одинаковые пары чисел??? Игра "Мемори"(найти одинаковые цифры в карточках)
Листинг программы
  1. Dim a() As Integer
  2. Dim c As Integer
  3. Dim inx, secc, k, levl, tm, totl, rund, rund1 As Byte
  4. Dim op As Boolean
  5. Dim movl(63) As Integer
  6. Dim movt(63) As Integer
  7. Private Sub c1_Click(Index As Integer)
  8. clear
  9. If Index = inx Then c1(Index).Caption = a(Index): GoTo lll:
  10. c1(Index).Caption = a(Index)
  11. If c = a(Index) Then
  12. c1(inx).Visible = False: c1(Index).Visible = False
  13. k = k + 1
  14. Select Case levl
  15. Case 0
  16. h = 8
  17. Case 1
  18. h = 18
  19. Case 2
  20. h = 32
  21. End Select
  22. If k = h Then
  23. Timer1.Enabled = False
  24. rep = MsgBox("Поздравляем вы сложили все карточки за " & secc & " сек" & " . Если хотите продолжить нажмите Да для выхода нажмите Нет", vbYesNo)
  25. If rep = vbYes Then
  26. new_Click
  27. Else
  28. End
  29. End If
  30. End If
  31. clear
  32. End If
  33. lll:
  34. inx = Index
  35. c = a(Index)
  36. End Sub
  37. Private Sub c1_MouseDown(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
  38. c1(Index).BackColor = &H80&
  39. End Sub
  40. Private Sub c1_MouseMove(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
  41. For m = 0 To totl - 1
  42. c1(m).BackColor = vbWhite
  43. Next m
  44. c1(Index).BackColor = &HFFC0C0
  45. End Sub
  46. Private Sub c1_MouseUp(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
  47. For m = 0 To totl - 1
  48. c1(m).BackColor = vbWhite
  49. Next m
  50. End Sub
  51. Private Sub exit_Click()
  52. End
  53. End Sub
  54. Private Sub File_Click()
  55. End Sub
  56. Private Sub Form_Resize()
  57. If Form1.WindowState <> 1 Then
  58. Select Case levl
  59. Case 0
  60. w = c1(3).Width + c1(3).Left
  61. h = c1(15).Top + c1(15).Height + 650
  62. Case 1
  63. w = c1(5).Width + c1(5).Left
  64. h = c1(35).Top + c1(35).Height + 650
  65. Case 2
  66. w = c1(7).Width + c1(7).Left
  67. h = c1(63).Top + c1(63).Height + 650
  68. End Select
  69. Form1.Width = w
  70. Form1.Height = h
  71. End If
  72. End Sub
  73. Private Sub lvl_Click(Index As Integer)
  74. For m = 0 To 2
  75. lvl(m).Checked = False
  76. Next m
  77. lvl(Index).Checked = True
  78. levl = Index
  79. jump
  80. Select Case levl
  81. Case 0
  82. ReDim a(0 To 15)
  83. tm = 60
  84. rund = 2: rund1 = 4:: totl = 16
  85. w = c1(3).Width + c1(3).Left
  86. h = c1(15).Top + c1(15).Height + 650
  87. Case 1
  88. ReDim a(0 To 35)
  89. tm = 80
  90. rund = 3: rund1 = 6: totl = 36
  91. w = c1(5).Width + c1(5).Left
  92. h = c1(35).Top + c1(35).Height + 650
  93. Case 2
  94. tm = 100
  95. ReDim a(0 To 63)
  96. rund = 4: rund1 = 8: totl = 64
  97. w = c1(7).Width + c1(7).Left
  98. h = c1(63).Top + c1(63).Height + 650
  99. End Select
  100. Form1.Width = w
  101. Form1.Height = h
  102. lst
  103. new_Click
  104. End Sub
  105. Private Sub new_Click()
  106. For m = 0 To totl - 1
  107. c1(m).Visible = True
  108. c1(m).Enabled = False
  109. c1(m).BackColor = vbWhite
  110. Next m
  111. Timer1.Enabled = False
  112. op = False: start.Caption = "Старт"
  113. o = Int(10 * Rnd)
  114. For pp = 0 To o
  115. clear
  116. lst
  117. Next pp
  118. k = 0
  119. clear
  120. secc = 0
  121. Form1.Caption = ""
  122. End Sub
  123. Public Sub lst()
  124. clear
  125. For u = 0 To (totl - 2) / 2
  126. ll = Str(Int(1000 * Rnd) + 2)
  127. a(u) = ll
  128. a(u + (totl / 2)) = ll
  129. Next u
  130. For n = 0 To (totl - 2) / 2
  131. f = Int(totl - 2 * Rnd)
  132. s = a(f)
  133. a(f) = a(n)
  134. a(n) = s
  135. Next n
  136. For m = 0 To totl - 1
  137. c1(m).Caption = a(m)
  138. Next m
  139. For p = 0 To rund1 - 1
  140. d = c1(rund1 + p).Caption
  141. c1(rund1 + p).Caption = c1(rund * rund1 + p).Caption
  142. c1(rund * rund1 + p).Caption = d
  143. Next p
  144. For m = 0 To totl - 1
  145. a(m) = c1(m).Caption
  146. Next m
  147. clear
  148. End Sub
  149. Private Sub Form_Load()
  150. If App.PrevInstance Then End
  151. arrange
  152. Frame1.BackColor = vbLigtBlue
  153. For m = 0 To 63
  154. movt(m) = c1(m).Top
  155. movl(m) = c1(m).Left
  156. c1(m).Enabled = False
  157. Next m
  158. levl = 0: totl = 16
  159. rund = 2: rund1 = 4
  160. jump
  161. ReDim a(0 To 15)
  162. lst
  163. new_Click
  164. tm = 60
  165. lvl(0).Checked = True
  166. lvl_Click (0)
  167. clear
  168. End Sub
  169. Private Function clear()
  170. For m = 0 To totl - 1
  171. c1(m).Caption = ""
  172. Next m
  173. End Function
  174. Private Sub self_Click()
  175. res = MsgBox("В игре следует за определенное время найти все парные карточки с цифрами", , "О игре")
  176. End Sub
  177. Private Sub start_Click()
  178. For m = 0 To totl - 1
  179. c1(m).Visible = True
  180. c1(m).Enabled = True
  181. Next m
  182. If op = False Then
  183. Timer1.Enabled = True
  184. start.Caption = "Пауза"
  185. op = True
  186. Else
  187. Timer1.Enabled = False
  188. start.Caption = "Старт"
  189. op = False
  190. End If
  191. End Sub
  192. Private Sub Timer1_Timer()
  193. Form1.Caption = tm - secc & " сек" & " " & Format((100 * k / 18), ".##") & " %"
  194. secc = secc + 1
  195. If secc = tm + 1 Then
  196. For m = 0 To totl - 1
  197. c1(m).Caption = a(m)
  198. Next m
  199. Timer1.Enabled = False
  200. rep = MsgBox(" Хотите попробавать ещё раз ?", vbYesNo, "Время вышло!")
  201. If rep = vbYes Then new_Click
  202. If rep = vbNo Then End
  203. End If
  204. End Sub
  205. Private Function jump()
  206. For m = 0 To 63
  207. c1(m).Visible = False
  208. Next m
  209. Select Case levl
  210. Case 0
  211. For i = 0 To 3
  212. For j = 4 * i To (4 * i) + 3
  213. c1(j).Left = movl(j + 4 * i)
  214. c1(j).Top = movt(j + 4 * i)
  215. c1(j).Visible = True
  216. Next j
  217. Next i
  218. Case 1
  219. For i = 0 To 5
  220. For j = 6 * i To (6 * i) + 5
  221. c1(j).Left = movl(j + (2 * i))
  222. c1(j).Top = movt(j + (2 * i))
  223. c1(j).Visible = True
  224. c1(j).Visible = True
  225. Next j
  226. Next i
  227. Case 2
  228. For m = 0 To 63
  229. c1(m).Top = movt(m)
  230. c1(m).Left = movl(m)
  231. c1(m).Visible = True
  232. Next m
  233. End Select
  234. End Function
  235. Public Sub arrange()
  236. For i = 0 To 7
  237. For j = 8 * i To ((i + 1) * 8) - 1
  238. If j < 8 Then
  239. c1(j).Left = j * 975
  240. c1(j).Top = 0
  241. Else
  242. c1(j).Left = c1(j - 8).Left
  243. c1(j).Top = c1(j - 8).Top + 735
  244. End If
  245. Next j
  246. Next i
  247. End Sub

Решение задачи: «Что в программе отвечает за генерацию случайных чисел»

textual
Листинг программы
  1. ll = Str(Int(1000 * Rnd) + 2)
  2. a(u) = ll                  ' Первая карточка
  3. a(u + (totl / 2)) = ll  ' Вторая  карточка

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


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

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

8   голосов , оценка 3.75 из 5

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

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

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