Оператор GET позволяет запомнить часть графического экрана в некотором массиве, а оператор PUT - вывести запомненное изображение на экран. Синтаксис оператора GET:
GET (x1, y1)-(x2, y2), массив - запомнить прямоугольную область.
Точки (x1, y1) и (x2, y2) - две вершины прямоугольника, лежащие на одной из его диагоналей. Размеры прямоугольника и его содержимое запоминаются в массиве.
Синтаксис оператора PUT: PUT (x, y), массив [, способ_вывода] - вывести на экран картинку из массива заданным способом.
Поскольку в массиве хранятся и размеры картинки, в операторе PUT указывается только одна точка - верхний левый угол прямоугольной области для вывода картинки.
Пример программы "Ликующая блоха": CLS SCREEN 9 COLOR 9, 1 DRAW "C2 L20 U20 R20 D20 F10 D10 R2" DRAW "BM300, 175 C2 G10 D10 L2" DRAW "BM300, 155 C2 H10 E10 L2" DRAW "BM320, 155 C2 E10 H10 R2" DRAW "BM310, 155 C2 U4" DRAW "BM307, 151 C2 R10 H6 G6" PAINT (310, 170), 2, 2 BYTES = INT((55 * 2 + 7) / 8) * 60 DIM BUG(BYTES) GET (285, 135)-(340, 195), BUG CLS PUT (250, 80), BUG: SLEEP 1 PLAY " A A" PUT (250, 80), BUG: SLEEP 1 PLAY " B B" PUT (30, 60), BUG: SLEEP 1 PLAY " C C" PUT (30, 60), BUG: SLEEP 1 PLAY "D D" PUT (460, 130), BUG: SLEEP 1 PLAY "E E" PUT (460, 130), BUG: SLEEP 1 PLAY "F F" PUT (180, 70), BUG: SLEEP 1 PLAY "G G" PUT (180, 70), BUG: SLEEP 1 PLAY "D D" PLAY "F F" PUT (300, 70), BUG: SLEEP 1 END
Можно так и стрелу сделать, только SLEEP вообще нужно убрать, а то лететь будет медленно, в начале, где у нас операторы DRAW идут, нарисовать стрелу.
|