ByVal sender As Object, ByVal
115-2.
В процедуре Timer1_Tick меняем строку:
Машина.Left = x - Машина.Width / 2 : Машина.Top = y - Машина.Height / 2
В процедуре Ставим_машину_на_старт меняем строку:
x = X_старта + Размер_старта / 2 : y = Y_старта + Размер_финиша / 2
115-3.
Private Sub Form1_MouseDown( ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) _
Handles MyBase.MouseDown
Секундомер_запущен = True
Dim Xмыши As Short = e.X 'Координаты щелчка мыши на форме
Dim Yмыши As Short = e.Y
Dim dx As Short = Xмыши - x 'На сколько щелчок мыши правее машины
Dim dy As Short = Yмыши - y 'На сколько щелчок мыши ниже машины
Dim Где As типРуль 'Где (в каком направлении) мы щелкнули мышкой по отношению к машине
'Определяем это направление:
If dx > Math.Abs(dy) Then Где = типРуль.вправо
If dx < -Math.Abs(dy) Then Где = типРуль.влево
If dy > Math.Abs(dx) Then Где = типРуль.вниз
If dy < -Math.Abs(dx) Then Где = типРуль.вверх
'Определяем, что делать при щелчке по левой клавише мыши:
If e.Button = MouseButtons.Left Then
If Где = Руль Then Газ = True Else Руль = Где
End If
'Определяем, что делать при щелчке по правой клавише мыши:
If e.Button = MouseButtons.Right Then Тормоз = True
End Sub
Пояснения: Придадим точное, математическое значение словам «Мышка щелкнула справа от машины» или, скажем, «сверху от машины». Проведем через машину две воображаемые взаимно перпендикулярные прямые, обе под 45 градусов к осям координат. Эти прямые делят плоскость формы на 4 части. Пусть эти части как раз и соответствуют по смыслу определяемым направлениям. Если мы мышкой щелкнули по форме в пределах той из 4 частей, что глядит на восток, будем считать, что «мышка щелкнула справа от машины». И так далее.
Оператор
If Где = Руль Then Газ = True Else Руль = Где
можно перевести так:
Содержание Назад Вперед
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий