КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Программный код
Dim Mx, My As Single, Path As String, k, i, j, t As Integer, A(0 To 3) As Integer ‘Массив А - для хранения номеров перемещённых картинок; ‘Mx, My – координаты объекта при перемещении; Path – путь к файлу с рисунком; ‘k - количество верных ответов; t - номер рисунка, который нужно вернуть на место Private Sub Form_Load() ‘загрузка формы For i = 0 To 3 A(i) = -1 ‘заполнение массива -1 – признак того, что соответствующие поля Image2 пустые Next End Sub Private Sub Command1_Click() ‘Выход End End Sub Private Sub Command2_Click() 'Проверка k = 0 ‘количество верных ответов For i = 0 To 3 If Image2(i).Index = A(i) Then k = k + 1 'индекс в массиве рисунков должен совпадать с номером рисунка Next If k = 4 Then Label1.Caption = "Игра завершена!!! Верных ответов - " & Str(k) Else Label1.Caption = "Попробуй еще раз!!! Верных ответов - " & Str(k) End If End Sub Private Sub Command3_Click() 'Сброс Label2.Visible = False For i = 0 To 3 Image3(i).Visible = True ‘восстанавливаем все рисунки Image2(i).Picture = LoadPicture("Ris5.bmp") ‘загружаем пустой фон A(i) = -1 ‘в массив заносим -1 - признак пустого поля Next Label1.Caption = "Собери картинку" End Sub Private Sub Command4_Click() 'Справка Label2.Visible = True ‘метка становится видимой и появляется текст справки Label2.Caption = "Перемещайте картинки при нажатой левой кнопке мыши в нужные клетки. При двойном щелчке по картинке она вернётся на прежнее место!" Timer1.Enabled = True ‘включаем таймер End Sub Private Sub Form_DragDrop(Source As Control, X As Single, Y As Single) 'Поправка SourceMove (X - Mx), (Y - My) End Sub Private Sub Image2_DblClick(Index As Integer) 'Возвратить картинку на место по двойному щелчку по рисунку Image2(Index).Picture = LoadPicture("Ris5.bmp") ‘загружаем пустой фон t = A(Index) ‘запоминаем номер рисунка, который нужно вернуть на место Image3(t).Visible = True ‘делаем рисунок с номером t видимым End Sub Private Sub Image2_DragDrop(Index As Integer, Source As Control, X As Single, Y As Single) 'завершение перетаскивания
Source.Visible = False Image2(Index).Picture = LoadPicture(Path) j = Index: A(j) = Val(Mid$(Path, 4, 1)) - 1 'запомнить номер перемещённого рисунка в массиве А End Sub Private Sub Image3_MouseDown(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single) If Button = vbLeftButton Then Call Image3(Index).Drag(vbBeginDrag) 'начало перетаскивания рисунка Mx = X My = Y End If i = Index ‘запоминаем индекс поля в Image3, из которого перемещаем рисунок If i = 0 Then Path = "Ris1.bmp" 'путь к рисунку If i = 1 Then Path = "Ris2.bmp" If i = 2 Then Path = "Ris3.bmp" If i = 3 Then Path = "Ris4.bmp" End Sub Private Sub Timer1_Timer() 'Таймер Label2.Visible = False ‘скрыть текст справки End Sub Задания: 1. Добавьте в проект 2 новые формы. На первой (заставка) разместите переключатели (Option) для выбора уровня сложности игры. При выборе 1-го уровня загружается соответствующая форма (рисунок разбит на 4 части). 2. Реализуйте 2-й уровень сложности игры на третьей форме. Исходный рисунок разбит на 9 частей. ПРОЕКТ «РАСПОЛОЖИТЬ ОБЪЕКТЫ В ХРОНОЛОГИЧЕСКОМ ПОРЯДКЕ». В данной задаче мы работаем с массивами меток. Перемещаемыми объектами здесь являются метки с надписями. При первоначальной загрузке должны быть доступны только кнопки «Пуск» и «Выход». После нажатия на «Пуск» становятся доступны все кнопки. По кнопке «Проверка» выводится количество правильных ответов. Кнопки должны быть снабжены всплывающими подсказками. Исходный вид формы приведён на рисунке. Рассмотренные в данных работах методы обработки событий мыши при перемещении объектов мы используем в дальнейшем при создании тестовых и игровых программ («Пятнашки», «Морской бой», «Электронные кроссворды», «Переводчик», «Интеллектуальный марафон», «Эрудит», «Тесты на внимание», «Информатика в играх и задачах» и других). Несомненно, что выполнение таких заданий способствует не только развитию творческих и умственных способностей учащихся, но и повышает интерес к самому процессу программирования. В процессе работы над проектами возникает множество предложений по усовершенствованию программы и вопросов, для решения которых имеющихся знаний уже недостаточно. Таким образом, поддерживается непрерывная связь теории с практикой, постоянно вводятся новые элементы познания.
Дата добавления: 2015-05-06; Просмотров: 305; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |