Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторный практикум по QBasic.doc
Скачиваний:
4
Добавлен:
29.04.2019
Размер:
5.12 Mб
Скачать

Відносний рух

Команди відносного руху дозволяють вам переміщатися в будь-якому з восьми напрямків. Кожна з цих команд супроводжується цілочисловим аргументом, що вказує довжину лінії в точках. Наприклад,

DRAW "R16"

DRAW "E2"

Наступні команди також відносяться до команд відносного руху.

В — переміщення без малювання;

N — переміщення без зміни значення ТОВ

Наприклад: DRAW "NM8, 29"

REM Програма 10

REM Використання команд відносного руху

SCREEN 1

CLS

' Малювання букви "Q"

COLOR 1, 3

DRAW "BM 100,100 F10 R10 E10 U30 H10 L10 G 10 D30"

DRAW "BM+10,+0R10 U30 L10 D30"

DRAW "BM+10,+0 NM125,112 N M135,110 BM125,112 M 135,110"

' Малювання букви "B"

DRAW "BM+10,+0 R20 E10 U10 H5 E5 U10 H10 L20 D50"

DRAW "BM+10,-10 R10 U10 L10 D10"

DRAW "BM+0,-20 R10 U10 L10 D10"

END

Команди можуть бути записані як заголовними, так і прописними буквами. Як роздільник окремих команд можна використовувати пробіл чи крапку з комою. Їх можна і не розділяти.

Обертання

Команда An обертає зображення на кут, кратним 90 градусам (n*90), де n дорівнює 0, 1, 2 чи 3.

Наприклад, інструкція DRAW "A2" поверне намальоване зображення на кут 180 градусів.

Команда ТАn (Turn Angle — Кут Повороту) дозволяє повертати зображення на довільний кут. При цьому n може приймати значення від -360 до +360. Від’ємне значення кута означає поворот зображення по годинниковій стрілці, додатне — визначає поворот проти годинникової стрілки.

Масштабування зображення

Команда Sn змінює розмір зображення, збільшуючи чи зменшуючи його в залежності від значення параметра n. Вкажемо, що зображення масштабується в n/4 разів, тому команда “S12” збільшує лінійний розмір зображення в три рази, команда "S2" зменшує зображення вдвічі.

Аргумент n може мати значення від 1 до 225, за умовчанням він дорівнює 4 (даючи співвідношення 1:1, тобто без масштабування).

Колір в операторі draw

Колір зображення може бути визначений за допомогою команди Сn. Аргумент n повинен мати значення, актуальне для встановленого графічного режиму.

Приклад: DRAW “C2”

Команда Р в операторі DRAW зафарбовує замкнуту область. Її формат трохи складніший, ніж формат команди, що розглянута вище:

Р колір, контур

де колір — код кольору, що використовується для зафарбовування;

контур — код кольору контуру.

На перший погляд, дана команда схожа на оператор PAINT, однак у даному випадку процес зафарбовування починається з ТОВ (на відміну від оператору PAINT, для якого початкову точку необхідно задавати). Таким чином, перш ніж зафарбувати деяку область, необхідно змінити ТОВ, помістивши її усередину контуру, який необхідно зафарбувати. Приклад цього приведено в програмі 11.

Текстові змінні в операторі draw

Оскільки значення параметрів оператору DRAW є текстовими, їх можна присвоювати змінній текстового типу. А ім'я цієї змінної може бути використане замість аргументу оператора DRAW. Приклад такого використання змінних:

REM Програма11.Використання змінних в операторі DRAW

SCREEN 1

CLS

' Визначення всіх параметрів

SIZE$ = "S10"

' Визначення "Q"

Q.STRING1$ = "BM100,100F10R10E3F4E4H4E3U30H10L10G10D30"

Q.STRING2$ = "BM+10,+0 R10 U30 L10 D30"

'Визначення "B"

B.STRING1$ = "BM+30,+10 R20 E10 U10 H5 E5 U10 H10 L20 D50"

B.STRING2$ = "R10 U10 L10 D10"

'Зміна розміру

DRAW SIZE$

'Зміна кольору букви "Q"

DRAW "C 1"

'Малювання букви "Q"

DRAW Q.STRING1$

DRAW Q.STRING2$

'Зміна кольору букви "B"

DRAW "C 2"

'Малювання букви "B"

DRAW B.STRING1$

DRAW "BM+10,-10" + B.STRING2$

DRAW "BM+0,-20" + B.STRING2$

'Розфарбовування букв

DRAW "BM 102, 100 P 1, 1"

DRAW "BR 45 P 2, 2"

END

Завдання. Написати програму, що дозволить побудувати малюнок рожевої рибки з бірюзовим хвостом.

REM Лабораторна робота № 17

REM Графічні засоби QBASIC

CONST PI = 3.14159

CLS

SCREEN 9

CIRCLE (190, 100), 100, 1, , , .3 ' Тіло

CIRCLE (265, 92), 5, 1, , , .7 ' Очі

PAINT (190, 100), 2, 1 ' Фарбування тіла

LINE (40, 120)-STEP(0, -40), 2 ' Хвіст

LINE -STEP(60, 20), 2

LINE -STEP(-60, 20), 2

PAINT (50, 100), 6, 2 ' Фарбування хвоста

CIRCLE (250, 100), 30, 0, PI - 3/4, PI - 5/4, 1.5 ' Зябра

FOR Y = 90 TO 110 STEP 4

LINE (40, Y)-(52, Y), 0 ' Оперення хвоста

NEXT Y

END