Visual Basic 6.0 Кто хочет стать миллионером, сдлеать, чтобы варианты ответа были в разных местах - VB
Формулировка задачи:
Листинг программы
- Option Explicit
- Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
- Dim RA(1 To 15) As Integer, i As Integer, s, j As Integer
- Dim Ans(1 To 15, 1 To 4) As String, Q(1 To 15) As String
- Dim CurQ As Integer, Money
- Sub NextQ(CurQ)
- If CurQ > 15 Then Call Win: Exit Sub
- Shape1.Top = 5400 - 270 * (CurQ - 1)
- Label1(0).Caption = Q(CurQ)
- For i = 1 To 4
- Label1(i).Caption = Ans(CurQ, i)
- Label1(i).BackColor = vbBlack
- Next i
- Label1(5).Caption = Money(CurQ - 1)
- End Sub
- Sub NewGame()
- Shape1.Top = 5400
- CurQ = 1
- Open App.Path & "\Q.txt" For Input As #1
- For i = 1 To 15
- Line Input #1, s
- s = Split(s, "*")
- Q(i) = s(0)
- For j = 1 To 4
- Ans(i, j) = s(j)
- Next j
- RA(i) = Val(s(5))
- Next i
- Close #1
- 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")
- Call NextQ(CurQ)
- End Sub
- Private Sub Form_Load()
- NewGame
- End Sub
- Private Sub Label1_Click(Index As Integer)
- If Index < 1 Or Index > 4 Then Exit Sub
- If Index = RA(CurQ) Then
- Label1(Index).BackColor = vbGreen
- DoEvents
- Sleep 300
- CurQ = CurQ + 1
- Call NextQ(CurQ)
- Else
- Label1(Index).BackColor = vbRed
- Label1(RA(CurQ)).BackColor = vbGreen
- If MsgBox("Do you want to play again?", vbYesNo, "Lose) = vbYes Then
- Call NewGame
- Else
- Unload Me
- End If
- End If
- End Sub
- Sub Win()
- If MsgBox("You are winner. Your winning " + Money(CurQ - 1) + " rub. New game?", vbYesNo, "Heeey") = vbYes Then
- Call NewGame
- Else
- Unload Me
- End If
- End Sub
Решение задачи: «Visual Basic 6.0 Кто хочет стать миллионером, сдлеать, чтобы варианты ответа были в разных местах»
textual
Листинг программы
- Private Sub Form_Load()
- Randomize Timer
- NewGame
- End Sub
- Sub NextQ(CurQ)
- If CurQ > 15 Then Call Win: Exit Sub
- Shape1.Top = 5400 - 270 * (CurQ - 1)
- Label1(0).Caption = Q(CurQ)
- Dim r(4) As Integer, Rand As Integer, tmp As Integer
- For i = 1 To 4
- r(i) = i
- Next i
- For i = 1 To 4
- Rand = Int(Rnd() * 4) + 1
- If i <> Rand Then
- tmp = r(i)
- r(i) = r(Rand)
- r(Rand) = tmp
- End If
- Next i
- For i = 1 To 4
- Label1(i).Caption = Ans(CurQ, r(i))
- If RA(CurQ) = r(i) Then tmp = i
- Label1(i).BackColor = vbBlack
- Next i
- RA(CurQ) = tmp
- Label1(5).Caption = Money(CurQ - 1)
- End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д