Студопедия — Глобальная константа color.
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Глобальная константа color.






Помимо всего прочего существует команда color X. Она предназначена для задания текущего цвета. Чтобы было понятнее, приведу пример:

Screen 7
color 3
line (10, 10)-(100, 100)

Как видите, при рисовании линии я теперь могу не указывать цвет. Команда color назначает «цвет по-умолчанию», т.е. тот, которым будут рисоваться объекты, у которых цвет вообще не указан. Как следствие, надпись «Для продолжения нажмите любую клавишу», возникающая после завершения работы программы, тоже окрашивается в назначенный цвет. По ходу выполнения программы можно менять «цвет по-умолчанию», т.е. использовать color X несколько раз.

Полезная графика.

Как я уже говорил, полезность графических возможностей Qbasic весьма сомнительна. Единственная польза может быть при использовании Qbasic для построения графиков. Попробуем сделать что-нибудь интересное:

SCREEN 9
COLOR 8

LINE (210, 10)-(210, 210)
FOR a = 20 TO 200 STEP 10
LINE (208, a)-(212, a)
NEXT a

LINE (50, 110)-(370, 110)
FOR a = 60 TO 360 STEP 10
LINE (a, 108)-(a, 112)
NEXT a

FOR x = -200 TO 200 STEP 0.1
y = -1 * (x)
CIRCLE (x + 210, y + 110), 0.1, 6
NEXT x

Сначала мы устанавливаем разрешение № 9 (высокое, чтобы было красиво) и цвет по-умолчанию – темно-серый (8). После этого чертим координатную плоскость – второй блок отвечает за вертикальную линию с черточками, а третьй – за горизонтальную.

В последнем блоке мы должны начертить сам график. Для этого делаем кучу маленьким кружков радиусом 0.1 и цветом 6. Будем всего строить 1010 кружков (-50, -49.9,... -49... -1, -0.9,... 0,... 1,... 49, 49.1,... 50). За Х будем брать указанные значения. Так как кружки будут находиться очень близко друг к другу, то будет создаваться впечатление целого контура. Обратите внимание, что у нас на экране чем точка выше, тем она имеет меньшую координату. На бумаге ось OY направлена вверх, поэтому результат вычисления Х мы должны умножить на -1.

Центр нашей координатной плоскости находится в точке 210,110, именно поэтому мы добавляем соответствующие значения к координатам наших кружков в предпоследней строчке.

Саму функцию надо писать в скобках, где в примере написан только Х. Неясным для меня остается вот что: по идее, при построении гиперболы (500 / Х, к примеру), Qbasic должен ругануться на «Деление на 0», т.к. оно действительно происходит и человек с математическим складом ума без труда это заметит. Однако этого не происходит, если не менять шаг. Даже если сообщение возникает, достаточно просто нажать Запуск (Alt, стрелка справо и т.п.) и Перезапустить. Все приходит в норму. Странно, и каков же результат выражения «500 / 0»? J. Как я всегда говорю на уроках алгебры, «делить на ноль можно, просто вы этого не умеете». Юмор, однако.

Не гарантирую, что приведенная программа будет у вас нормально работать, я её привел просто для примера того, что вообще можно сделать, если использовать графику в Qbasic с умом.

Мои программки.

Хочу привести небольшую коллекцию того, чем я занимался раньше.

SCREEN 7
COLOR 5
CIRCLE (60, 80), 50, 9
PAINT (60, 80), 9, 9
LINE (15, 100)-(105, 100), 14
LINE (30, 160)-(90, 200), 7, BF
LINE (15, 100)-(30, 180), 14
LINE (30, 180)-(90, 180), 14
LINE (90, 180)-(105, 100), 14
LINE (30, 100)-(40, 180), 14
LINE (40, 180)-(50, 180), 14
LINE (40, 100)-(50, 180), 14
LINE (70, 100)-(60, 180), 14
LINE (90, 100)-(80, 180), 14
CIRCLE (210, 50), 30, 3
CIRCLE (240, 50), 30, 3
CIRCLE (270, 50), 30, 3
CIRCLE (300, 50), 30, 3
PAINT (200, 50), 3, 3
PAINT (220, 50), 3, 3
PAINT (250, 50), 3, 3
PAINT (280, 50), 3, 3
PAINT (310, 50), 3, 3
PAINT (240, 40), 3, 3
PAINT (240, 60), 3, 3
PAINT (270, 40), 3, 3
PAINT (270, 60), 3, 3
LINE (220, 80)-(200, 100), 14
LINE (200, 100)-(210, 100), 14
LINE (210, 100)-(180, 120), 14
LINE (210, 130)-(200, 160), 12
LINE (200, 160)-(200, 220), 12
LINE (190, 190)-(230, 190), 12
LINE (210, 130)-(220, 160), 12
LINE (220, 160)-(220, 220), 12
LINE (190, 191)-(230, 191), 14
LINE (200, 160)-(220, 160), 12
PAINT (210, 150), 13, 12
CIRCLE (210, 180), 3, 12
PAINT (210, 180), 12, 12
CIRCLE (210, 170), 3, 12
PAINT (210, 170), 12, 12
PAINT (210, 174), 14, 12

Не совсем красиво, зато работает. Вот ещё пример:

SCREEN 7
LINE (60, 95)-(100, 50), 7
LINE (100, 50)-(300, 50), 7
LINE (300, 50)-(280, 130), 14
LINE (280, 130)-(300, 190), 14
LINE (300, 190)-(100, 190), 7
LINE (100, 190)-(60, 160), 7
LINE (60, 160)-(60, 95), 7
LINE (59, 160)-(59, 95), 13
LINE (59, 160)-(30, 130), 13
LINE (30, 130)-(59, 95), 13
PAINT (50, 130), 13, 13
LINE (100, 50)-(150, 20), 7
LINE (150, 20)-(170, 20), 7
LINE (170, 20)-(170, 40), 7
LINE (170, 40)-(150, 40), 7
LINE (150, 40)-(130, 50), 7
PAINT (150, 30), 7, 7
LINE (170, 24)-(200, 10), 14
LINE (170, 30)-(200, 30), 14
LINE (170, 39)-(200, 45), 14
LINE (180, 30)-(200, 24), 14
LINE (180, 30)-(200, 37), 14
LINE (100, 80)-(130, 110), 14, BF
LINE (160, 80)-(260, 110), 14, BF
LINE (180, 90)-(180, 110), 8
LINE (180, 110)-(169, 110), 8
LINE (210, 90)-(210, 110), 8
LINE (210, 110)-(199, 110), 8
LINE (240, 90)-(240, 110), 8
LINE (240, 110)-(225, 110), 8
CIRCLE (130, 160), 10, 3
CIRCLE (160, 160), 10, 3
CIRCLE (190, 160), 10, 3
CIRCLE (220, 160), 10, 3
CIRCLE (250, 160), 10, 3
PAINT (130, 160), 3, 3
PAINT (160, 160), 3, 3
PAINT (190, 160), 3, 3
PAINT (220, 160), 3, 3
PAINT (250, 160), 3, 3
LINE (300, 50)-(330, 70), 14
LINE (330, 70)-(300, 100), 14
LINE (300, 100)-(330, 130), 14
LINE (330, 130)-(300, 160), 14
LINE (300, 160)-(330, 180), 14
LINE (330, 180)-(300, 190), 14
PAINT (300, 150), 14, 14

Сейчас я сам удивляюсь, как я мог рисовать такое, но тогда, три года назад, мне это казалось необычайно круто J.

Засим прощаюсь, дорогие читатели. Согласно замечаниям и дополнениям посетителей сайта буду вносить изменения в самоучитель. Авторское право на все опечатки принадлежит мне. Буду рад по этому поводу услышать замечания. Если будут вопросы или предложения – всегда рад услышать их в моем форуме. Адрес сайта преждний – http://sysadmin.3dn.ru/.

Всего доброго!







Дата добавления: 2015-09-06; просмотров: 326. Нарушение авторских прав; Мы поможем в написании вашей работы!



Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...

Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...

Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

Предпосылки, условия и движущие силы психического развития Предпосылки –это факторы. Факторы психического развития –это ведущие детерминанты развития чел. К ним относят: среду...

Анализ микросреды предприятия Анализ микросреды направлен на анализ состояния тех со­ставляющих внешней среды, с которыми предприятие нахо­дится в непосредственном взаимодействии...

Типы конфликтных личностей (Дж. Скотт) Дж. Г. Скотт опирается на типологию Р. М. Брансом, но дополняет её. Они убеждены в своей абсолютной правоте и хотят, чтобы...

Билиодигестивные анастомозы Показания для наложения билиодигестивных анастомозов: 1. нарушения проходимости терминального отдела холедоха при доброкачественной патологии (стенозы и стриктуры холедоха) 2. опухоли большого дуоденального сосочка...

Сосудистый шов (ручной Карреля, механический шов). Операции при ранениях крупных сосудов 1912 г., Каррель – впервые предложил методику сосудистого шва. Сосудистый шов применяется для восстановления магистрального кровотока при лечении...

Трамадол (Маброн, Плазадол, Трамал, Трамалин) Групповая принадлежность · Наркотический анальгетик со смешанным механизмом действия, агонист опиоидных рецепторов...

Studopedia.info - Студопедия - 2014-2024 год . (0.012 сек.) русская версия | украинская версия