в оперативной памяти поступим следующим
Совет 1 (общий)
Для создания образа спрайта в оперативной памяти поступим следующим образом. Сначала воспроизведем спрайт в любом месте экрана и запомним содержимое соответствующего участка видеопамяти в массиве соответствующего размера (в QBasice — оператор GET, на Си или Паскале — процедура getimage). Затем повторно выведем спрайт на то же место экрана в режиме X0R для стирания статичного изображения.
Совет 2 (общий)
Для имитации звездного неба построим 1000 случайных точек на экране, окрашенных в случайные цвета.
Совет 3 (общий)
0рганизуем бесконечный цикл, в котором изображение тарелки на небольшое время (порядка 0,6 с) появляется в некоторой точке с координатами (х,у), а затем стирается. После этого точка (х,у) смещается на случайные перемещения (dx.dy) и цикл повторяется до нажатия какой-либо клавиши пользователем. Для того чтобы перемещения из текущей точки в следующую выглядели случайными, можно менять знаки приращений dx и dy, когда они оказываются четными или нечетными. Кроме того, необходимо организовать проверку очередной точки на принадлежность экрану и запретить ее выход из допустимого интервала.
Совет 4 (QBasic)
В связи с тем, что задержка по оператору SLEEP может быть организована только с точностью до секунды, предлагается воспользоваться оператором S0UND f, dt. 0н организует выдачу звукового сигнала с частотой f Гц, длящегося dt тиков (в 1 с содержится 18,2 тика). А чтобы звук не доставлял неприятностей, можно выбрать частоту, не воспринимаемую человеческим ухом (например, f = 32767 Гц).
Программа 8_17.bas
REM Летающая тарелка
DEFINT A-Z
DIM TARELKA(300)
Х=320: Y=240
SCREEN 12
CIRCLE (100,50),20,15,,,.4
PAINT (100,50),4,15
CIRCLE (100, 46); 20,15, 3.3,0, .3
LINE (107,44)-(110,38) ,15
CIRCLE (110,38),2,15
LINE (93,44)-(90,38),15
CIRCLE (90,38),2,15
' Запомнили образ
GET (79,36)-(121,59),TARELKA
' Стерли
PUT (79,36),TARELKA,X0R
' Построение звездного неба
F0R I=0 T0 1000
PSET (INT(RND*639)+1,INT(RND*473)+1),INT(RND*15) +1
Содержание Назад Вперед