14. Обработка событий

Контрольные задания

  1. Испытательный стенд Модальное окно. Написать функцию, которая выводила бы в текущее окно панель с сообщением (модальное окно):

    showModalWin(title,mess,width)

    Аргументы функции:

    • title — строка, заголовок панели
    • mess — строка, содержит сообщение в виде обычного текста или произвольной HTML-разметки. Это сообщение размещается на панели
    • width — число, необязательный параметр. По умолчанию задается каким-то фиксированным значением (например, 400). Определяет ширину панели. Высота панели определяется по содержимому.

    Панель выводится по центру текущего окна.

    На панели присутствуют две кнопки:

    • кнопка с крестиком в верхнем левом углу
    • кнопка OK внизу панели

    Обе кнопки закрывают панель. Кроме того, панель закрывается нажатием на клавишу Esc.

    Панель можно перетаскивать внутри текущего окна за его заголовок. Во время перетаскивания панель становится полупрозрачной.

    Пример:

    
    showModalWin("Сообщение","Все задания решены <EM>правильно</EM>!");
    

    Панель на экране выглядит примерно так:

    Модальное окно

    Можно выполнить задание не в полном объеме, а в том, на который хватит сил и времени (например, не реализовывать перетаскивания модального окна).

  2. Испытательный стенд Охотник. В прямоугольную область выпущено несколько шариков (количество их в начале игры всегда одинаково), которые двигаются в ней равномерно (с разными скоростями) по прямым линиям, отражаясь от стенок области (угол падения равен углу отражения).

    В области имеется ловушка, которую можно перемещаться стрелками клавиатуры. Если нажать на пробел в момент, когда шарик пролетает над ловушкой, он будет пойман (уничтожен). Задача игры — поймать все шарики за наименьшее время. Если пробел нажимается, когда шарика нет над ловушкой (еще не достиг, уже пролетел), на поле вылетают один новый шарик.

    Создать приложение, реализующее описанную выше игру. Правила игры можно, при желании, изменить, но в игре обязательно должны быть следующие элементы:

    • не один, а несколько самодвигающихся шариков;
    • объект, который управляется с клавиатуры.