Руководство по разработке динамической логической игры на Visual Basic 6.0
| Категория реферата: Рефераты по информатике, программированию
| Теги реферата: выборы реферат, лечение пяточной шпори
| Добавил(а) на сайт: Adolija.
Предыдущая страница реферата | 18 19 20 21 22 23 24 25 26 27 28 | Следующая страница реферата
If IndLent = 9 Then
IndLent = 0
Timer1.Interval = 500
Frame1_Click 'Сдвинуть уровни
End If
Print_Ind 'Нарисовать индикатор
End Sub
Теперь нужно написать обработку нажатий клавиш и перемещения маркера вправо-влево по нижней строке ячеек игрового поля.
Разместим на форме Form1 еще один таймер Timer2. Поставим интервал времени для Timer2 = 50 и поместим в процедуру работы принтера код проверки состояния клавиш:
Объявим нужное для работы процедуры:
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
И собственно код обработки:
Private Sub Timer2_Timer()
'Обработка нажатия клавиш "стрелка влево" и "стрелка вправо"
If (GetAsyncKeyState(vbKeyLeft)) Then
' Кнопка влево
Form1.Caption = "Left"
ElseIf (GetAsyncKeyState(vbKeyRight)) Then
' Кнопка вправо
Form1.Caption = "Right"
End If
End Sub
Надписи в заголовке формы "Left" и "Right" выводятся только для отладки.
Переменная markersave однозначно показывает в какой ячейке нижней строки игрового поля стоит маркер. Напишем процедуру перемещения маркера вправо-влево по нижней строке:
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
'Обработка нажатия клавиш «стрелка вправо» и «стрелка влево»
If (GetAsyncKeyState(vbKeyLeft)) Then
' Кнопка влево
Form1.Caption = "Left"
Move_Point_Left 'Переместить маркер влево
ElseIf (GetAsyncKeyState(vbKeyRight)) Then
' Кнопка вправо
Form1.Caption = "Right"
Move_Point_Right 'Переместить маркер вправо
End If
End Sub
Private Sub Move_Point_Left()
If markersave = 0 Then 'Если самая левая ячейка нижней строки
markersave = 7 'Левее самой левой ячейки – самая ПРАВАЯ (циклический переход)
firstset = 0 'Временно разрешить рисование маркера
Label7.BackColor = savecolor(0) 'Восстановить цвет фона ячейки, где БЫЛ маркер
Label14_Click 'Переместить маркер (самая правая ячейка!)
vt = markersave
markersave = 10 'Запретить ложные срабатывания (значение 10 не соответствует
‘никакой ячейке)
End If
If markersave = 1 Then
markersave = 0 'Поместить левее
firstset = 0 'Временно разрешить рисование маркера
Label8.BackColor = savecolor(1) 'Восстановить цвет ячейки, где БЫЛ маркер
Рекомендуем скачать другие рефераты по теме: математика, защита дипломной работы.
Категории:
Предыдущая страница реферата | 18 19 20 21 22 23 24 25 26 27 28 | Следующая страница реферата