Графика и звук в QBasic
Автор: Плаксина Вера Валентиновна (учитель информатики и ИКТ, МБОУ СОШ с УИОП № 183 имени Р. Алексеева г. Нижнего Новгорода)
Тип документа: Презентация. Аудитория: Учителя информатики, учащиеся 9 - 11 классов. Дата публикации: 03.08.2015
Описание: Графика и звук в QBasic: операторы языка программирования.

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

Каждый пиксель может иметь свой цвет, выбираемый из некоторого заданного набора цветов – палитры.

Чтобы обеспечить такой способ вывода графической информации, в составе компьютера имеется специальное устройство – видеоадаптер. В его памяти, называемой видеобуфером, хранится изображение, которое с частотой не менее 60 Гц  отображается на экране дисплея.
SCREEN   <номер_режима>
PSET   (x,y)  [,  <цвет>]
PRESET   (x,  y)  [,  <цвет>]
Случайным образом выбирая позиции выТ свечиваемых точек и тут же стирая их  фоновым цветом, можно получить эффект мигания
SCREEN   7
RANDOMIZE   567
FOR  x = 1  TO  500
	h = INT(RND * 319)
	v = INT(RND * 199)
	PSET (h, v),   14
	SLEEP  1
	PRESET  (h,  v)
	PRESET  (h + 1,  v + 1)
NEXT x
время приостановки работы программы в секундах
LINE  [(x1,  y1)]  -  (x2,  y2)  [,   [<цвет>]  [,  [B[F]  [,<маска>] ] ]
Параметр В – рисуется прямоугольник, заданный диагональю x1y1 – x2y2
Параметр BF – прямоугольник закрашенный

Маска
Если бит маски равен 1, то точка вычерчивается, в противном случае она пропускается.
Примеры масок:
     &hF0F0 = 1111 0000 1111 0000 – пунктирная линия через 4 точки
     &hCCCC = 1100 1100 1100 1100 – пунктир через 2 точки
SCREEN  9
LINE  (50, 16)  –  (589, 183),  4,  BF
LINE  (128, 40)  –  (511, 159),  14,  BF
LINE  (205, 64)  –  (433, 125),  9,  BF



CIRCLE  (x,  y),  <радиус>  [,  <цвет>]   [,  <начало>,   <конец>   [,  <сжатие>  ] ] ]
(x,  y)  – координаты центра окружности
<радиус> – числовое выражение, задающее размер в пикселях окружности или большой полуоси эллипса
<начало>, <конец> – начальное и конечное значения угла при построении дуг, принимающие значения от –2π до 2π. Если эти значения опустить, то рисуется полная окружность. Если перед операндами <начало>, <конец>  поставить знак минус, то дуги соединяются с центром, что обеспечивает построение секторов
<сжатие> – задает отношение радиуса, параллельного оси y, к радиусу, параллельному оси х.



Сжатие <1
Сжатие =1
Сжатие >1
REM   “Пак Мен”
SCREEN 1
pi = 4 * ATN (1)
FOR   r% = 1   TO  60
	col% = r%   MOD   4
	SLEEP   1
	CIRCLE   (100,100),  r%,    col%
NEXT   r%
CIRCLE   (220,60),   50,   1, –(pi  *  5 / 4), –(pi  *  3  /  4)
CIRCLE   STEP   (–5, –25),  5,  2
r% = 50
FOR   ex = 0  TO  2.0   STEP   0.09
	CIRCLE   (195,150),   r%,,,,   ex
NEXT ex
PAINT (x, y),  <цвет>  [,  [<контур>]  [,  <фон>] ] ]
(x, y) – координаты точки внутри замкнутого контура
<контур> – числовое выражение, указывающее номер цвета границы закрашиваемой области, если этот операнд опущен, то граница будет окрашена в цвет области.
SCREEN   12
FOR   x = – 300   TO   300   STEP   0.01
    y = x + SIN(x)
    PSET (x * 15 + 300,    –y * 15 + 200),   5
NEXT   x
График функции
«Летящий» шарик
SCREEN 12
FOR y = 50 TO 300 STEP 10
    	CIRCLE (100, y), 10, 3
    	PAINT (100, y), 3, 3
    	SLEEP 1
    	PAINT (100, y), 0, 5
NEXT y
SOUND   <частота>,  <длительность>
<частота>  –  изменяется в диапазоне от 37 до 32767 Гц
<длительность> – измеряется в тактах часового механизма («тиках»). Одна секунда равна 18,2 тика. Диапазон изменения длительности находится в интервале от 0 до 65535 тиков (примерно от 0,05 мс. до 1 часа).
PLAY  <строчное выражение>
Оператор PLAY позволяет составлять музыкальные фрагменты и проигрывать их в различных сочетаниях в ходе выполнения программы.

Оператор PLAY имеет свой набор команд для определения мелодии
first$ = "L8 O3 GG L4 AG O4 C O3 L2 B"
second$ = "L8 MS O3 GG L4 AG O4 D L2 C"
third$ = "L8 MS O3 GG L4 O4 GE L8 CC O3 L4 BA"
fourth$ = "O4 L8 FG L4 ECD L1 C"
PLAY first$ + second$ + third$ + fourth$
Мелодия «С днем рождения»
Средствами языка программирования QBasic  получите на экране похожее изображение. Добавьте звук.