====== Программирование в X-Window средствами Free Pascal ====== [[index|Перейти к содержанию]] ===== 1.5.3. Лабораторная работа №5 "Межклиентское взаимодействие" ===== - Составьте программу, которая при получении фокуса ввода перекрашивает свое окно в другой цвет. {{ http://www.sources.ru/pascal/graph/xwinfpc/images/image25.gif }} Составьте программу, порождающую два расположенных рядом дочерних окна, в которых отображаются графики функций sin(x) на отрезке [ 0; 2π ] и exp(x) на отрезке [-2; 2]. Графики масштабировать по размеру окон. {{ http://www.sources.ru/pascal/graph/xwinfpc/images/image26.gif }} Создайте окно, изменяющее свои размеры таким образом, чтобы мышь всегда была в его центре. {{ http://www.sources.ru/pascal/graph/xwinfpc/images/image27.gif }} Создайте окно, "убегающее" от указателя мыши. {{ http://www.sources.ru/pascal/graph/xwinfpc/images/image28.gif }} Создайте программу, которая по нажатию клавиши мыши в основном окне создает новое окно (не более 100 одновременно), а по нажатию клавиши мыши в дочернем окне удаляет его. Если дочернее окно существует более одной минуты, оно должно самоудаляться. {{ http://www.sources.ru/pascal/graph/xwinfpc/images/image29.gif }} Создайте программу моделирования эволюции клеточного автомата "Жизнь", ячейки которого имею два состояния: пусто и заполнено. Если рядом с пустой ячейкой три заполненных, она заполняется. Если рядом с заполненной ячейкой меньше двух или больше трех заполненных, ячейка становится пустой. Размеры модельного поля - 64х64 ячейки, вначале поле пустое. По нажатию любой кнопки мыши состояние ячейки меняется на противоположное, по нажатию пробела осуществляется один шаг эволюции, а по нажатии Escape - выход из программы. {{ http://www.sources.ru/pascal/graph/xwinfpc/images/image30.gif }} == Приложение: == Демонстрационные исполняемые файлы: [[http://www.sources.ru/pascal/graph/xwinfpc/lab5.zip|lab5.zip]] Исходный код модулей (x.pp, x11.pp, xlib.pp, xresource.pp, xutil.pp): [[http://www.sources.ru/pascal/graph/xwinfpc/units.zip|units.zip]]