VB.net - Тренировка мозга (цвет и текст)
Есть очень интересный тренажер для тренировки мозга - необходимо сопоставить цвет верхнего слова и текст нижнего. Сложность заключается в следующем, иногда мозг путает необходимо читать слово или определять его цвет. При длительной тренировке ваш мозг будет более гибким, те будет легче переключаться между различными задачами.
|
Архив с готовой программой
|
Для создания такой программы на форму помещаем элементы:
5 ярлыков
• напоминание (описание)
• ярлыки для 1 и 2 слова (располагаются друг над другом)
• ярлык для правильного ответа
• ярлык для не правильного ответа
• ярлык для ВЕРНОГО ответа (visible=false)
2 кнопки - Ответ ДА и НЕТ
А теперь переходим к коду:
Public Class Form1
Public r As New Random
Dim Plusik = 0 'прав ответы
Dim Minysik = 0 'не прав ответы
'новый пример
Sub NewRaund()
Dim ak1, ak2 'случайные числа
Dim bk = 6 'количество цветов +1
Dim nc1 = Color.FromArgb(0, 0, 0) 'цвет 1 ярлыка
Dim nc2 = Color.FromArgb(0, 0, 0) 'цвет 2 ярлыка
Dim ncn1 = "" 'текст 1 ярлыка
Dim ncn2 = "" 'текст 2 ярлыка
Dim otvet 'правильный ответ
'задаем цвета, в данном примере их 5
Dim cvetR = Color.FromArgb(255, 0, 0)
Dim cvetG = Color.FromArgb(0, 255, 0)
Dim cvetB = Color.FromArgb(0, 0, 255)
Dim cvet0 = Color.FromArgb(0, 0, 0)
Dim cvetW = Color.FromArgb(255, 255, 255)
'задаем текст для каждого цвета
Dim cvetNameR = "Красный"
Dim cvetNameG = "Зеленый"
Dim cvetNameB = "Синий"
Dim cvetName0 = "Черный"
Dim cvetNameW = "Белый"
'генерируем случайное число
Randomize()
ak1 = r.Next(1, bk)
'выбирается цвет первого ярлыка и правильный вариант текста 2 ярлыка
Select Case ak1
Case 1
nc1 = cvetR
otvet = "Красный"
Case 2
nc1 = cvetG
otvet = "Зеленый"
Case 3
nc1 = cvetB
otvet = "Синий"
Case 4
nc1 = cvetW
otvet = "Белый"
Case Else
nc1 = cvet0
otvet = "Черный"
End Select
'меняем цвет 1 ярлыка
lbl1.ForeColor = nc1
'выбираем цвет 2 ярлыка
ak2 = r.Next(1, bk)
Select Case ak2
Case 1
nc2 = cvetR
Case 2
nc2 = cvetG
Case 3
nc2 = cvetB
Case 4
nc2 = cvetW
Case Else
nc2 = cvet0
End Select
'меняем цвет 2 ярлыка
lbl2.ForeColor = nc2
'выбираем текст 1 ярлыка
ak1 = r.Next(1, bk)
Select Case ak1
Case 1
ncn1 = "Красный"
Case 2
ncn1 = "Зеленый"
Case 3
ncn1 = "Синий"
Case 4
ncn1 = "Белый"
Case Else
ncn1 = "Черный"
End Select
'меняем текст 1 ярлыка
lbl1.Text = ncn1
'выбираем текст 2 ярлыка
ak2 = r.Next(1, bk)
Select Case ak2
Case 1
ncn2 = "Красный"
Case 2
ncn2 = "Зеленый"
Case 3
ncn2 = "Синий"
Case 4
ncn2 = "Белый"
Case Else
ncn2 = "Черный"
End Select
'меняем текст 2 ярлыка
lbl2.Text = ncn2
'если текст в переменной Ответ сходится с текстом в ncn2 тогда
If otvet = ncn2 Then
lblTemp.Text = 1 'записываем в текст ярлыка 1
Else
lblTemp.Text = 0 'иначе 0
End If
'вывод статистики в имя проги
Me.Text = lblPl.Text + " из" + Str(Val(lblPl.Text) + Val(lblMin.Text))
End Sub
'нажимаем на кнопку ДА
Private Sub cmdDa_Click(sender As Object, e As EventArgs) Handles cmdDa.Click
'заполняем переменные из временного хранения в ярлыках
Plusik = Val(lblPl.Text)
Minysik = Val(lblMin.Text)
'если правильный ответ ДА тогда(те текст =1)
If lblTemp.Text = 1 Then
Plusik += 1 '+1 к прав отв
Else 'иначе
Minysik += 1 '+1 к не прав отв
End If
'записываем переменные обратно в ярлыки (для наглядности)
lblPl.Text = Plusik
lblMin.Text = Minysik
'новый пример
NewRaund()
End Sub
'нажимаем на кнопку НЕТ
Private Sub cmdNet_Click(sender As Object, e As EventArgs) Handles cmdNet.Click
Plusik = Val(lblPl.Text)
Minysik = Val(lblMin.Text)
If lblTemp.Text = 0 Then 'единственное отличие
Plusik += 1
Else
Minysik += 1
End If
lblPl.Text = Plusik
lblMin.Text = Minysik
NewRaund()
End Sub
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load
'при загрузке - новый пример
NewRaund()
End Sub
End Class
Как домашнее задание, вы можете добавить в игру таймер и большее количество цветов.
Смотрите видео
END
|