Разработать приложение, имитирующее упрощенный аналог игры "Кто хочет стать миллионером" - VB
Формулировка задачи:
Разработать приложение,имитирующее упрощенный аналог игры <Кто хочет стать миллионером!> . Придумать 5 вопросов, каждому из них ставится в соответствие 4 варианта ответов( использовать объекты класса Option button).
Правила игры:
1)у игрока запрашивается имя и выводится в заголовке формы
2)предлагается по одному вопросу с вариантами ответов
3)используя соответствующий переключатель игрок отвечает
4)Информация о количестве набранных очков отображается на форме
5)Если ответ неверен,то происходит выход из игры с выводом информации о количестве набранных очков.
Решение задачи: «Разработать приложение, имитирующее упрощенный аналог игры "Кто хочет стать миллионером"»
textual
Листинг программы
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("Неправильно. Начать новую игру?", vbYesNo, "Проигрыш") = vbYes Then
Call NewGame
Else
Unload Me
End If
End If
End Sub
Sub Win()
If MsgBox("Вы выиграли. Ваш выигрыш составил " & Money(CurQ - 1) & " рублей. Начать новую игру?", vbYesNo, "Поздравление") = vbYes Then
Call NewGame
Else
Unload Me
End If
End Sub