Visual Basic 6.0 Кто хочет стать миллионером, сдлеать, чтобы варианты ответа были в разных местах - VB

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

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

Листинг программы
  1. Option Explicit
  2. Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
  3. Dim RA(1 To 15) As Integer, i As Integer, s, j As Integer
  4. Dim Ans(1 To 15, 1 To 4) As String, Q(1 To 15) As String
  5. Dim CurQ As Integer, Money
  6. Sub NextQ(CurQ)
  7. If CurQ > 15 Then Call Win: Exit Sub
  8. Shape1.Top = 5400 - 270 * (CurQ - 1)
  9. Label1(0).Caption = Q(CurQ)
  10. For i = 1 To 4
  11. Label1(i).Caption = Ans(CurQ, i)
  12. Label1(i).BackColor = vbBlack
  13. Next i
  14. Label1(5).Caption = Money(CurQ - 1)
  15. End Sub
  16. Sub NewGame()
  17. Shape1.Top = 5400
  18. CurQ = 1
  19. Open App.Path & "\Q.txt" For Input As #1
  20. For i = 1 To 15
  21. Line Input #1, s
  22. s = Split(s, "*")
  23. Q(i) = s(0)
  24. For j = 1 To 4
  25. Ans(i, j) = s(j)
  26. Next j
  27. RA(i) = Val(s(5))
  28. Next i
  29. Close #1
  30. Money = Array("0", " 500$", " 1000$", "Г“ ГўГ*Г± óæå 2000$", " 3000$", " 5000$", " 10 000$", " 15 000$", " 25 000$", " 50 000$", "100 000$", " 200 000$", " 400 000$", " 800 000!", ",1 500 000", " 3 000 000")
  31. Call NextQ(CurQ)
  32. End Sub
  33. Private Sub Form_Load()
  34. NewGame
  35. End Sub
  36. Private Sub Label1_Click(Index As Integer)
  37. If Index < 1 Or Index > 4 Then Exit Sub
  38. If Index = RA(CurQ) Then
  39. Label1(Index).BackColor = vbGreen
  40. DoEvents
  41. Sleep 300
  42. CurQ = CurQ + 1
  43. Call NextQ(CurQ)
  44. Else
  45. Label1(Index).BackColor = vbRed
  46. Label1(RA(CurQ)).BackColor = vbGreen
  47. If MsgBox("Do you want to play again?", vbYesNo, "Lose) = vbYes Then
  48. Call NewGame
  49. Else
  50. Unload Me
  51. End If
  52. End If
  53. End Sub
  54. Sub Win()
  55. If MsgBox("You are winner. Your winning " + Money(CurQ - 1) + " rub. New game?", vbYesNo, "Heeey") = vbYes Then
  56. Call NewGame
  57. Else
  58. Unload Me
  59. End If
  60. End Sub

Решение задачи: «Visual Basic 6.0 Кто хочет стать миллионером, сдлеать, чтобы варианты ответа были в разных местах»

textual
Листинг программы
  1. Private Sub Form_Load()
  2. Randomize Timer
  3. NewGame
  4. End Sub
  5.  
  6. Sub NextQ(CurQ)
  7. If CurQ > 15 Then Call Win: Exit Sub
  8. Shape1.Top = 5400 - 270 * (CurQ - 1)
  9. Label1(0).Caption = Q(CurQ)
  10.  
  11. Dim r(4) As Integer, Rand As Integer, tmp As Integer
  12. For i = 1 To 4
  13.     r(i) = i
  14. Next i
  15. For i = 1 To 4
  16.     Rand = Int(Rnd() * 4) + 1
  17.     If i <> Rand Then
  18.         tmp = r(i)
  19.         r(i) = r(Rand)
  20.         r(Rand) = tmp
  21.     End If
  22. Next i
  23. For i = 1 To 4
  24.     Label1(i).Caption = Ans(CurQ, r(i))
  25.     If RA(CurQ) = r(i) Then tmp = i
  26.     Label1(i).BackColor = vbBlack
  27. Next i
  28. RA(CurQ) = tmp
  29.  
  30. Label1(5).Caption = Money(CurQ - 1)
  31. End Sub

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


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

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

7   голосов , оценка 4 из 5

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

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

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