Новогодний салют
учебно-методический материал по информатике и икт (6 класс) на тему
Текст программы на Паскале, которая выодит на экран салют с использованием sin/cos
Скачать:
Вложение | Размер |
---|---|
текст на Паскале | 39.5 КБ |
Предварительный просмотр:
program Salut; // Салют в честь Нового года
// ГБОУ ДОД ДДЮТ "На Ленской", Шорохова Е.А.
uses GraphAbc;
type Tstar=record // Описание типа
x, y, r :integer; // координаты и расстояние от центра звездочки
t :double; // направление движения звездочки
c: Color; // цвет звездочки
end;
const N=80; {количество звездочек }
const colors:array[1..10] of Color=(clLightBlue,clRed, clLightGreen, clLightCyan,
clPink, clLightPink, clYellow, clWhite, clLightGray, clGreen);
var stars: array [1..N] of Tstar; {массив звездочек }
var Xc, Yc: integer; {координаты центра залпа }
var i, k: integer; {параметры циклов }
var z:integer; {количество залпов }
var hy:integer; // координата Y текста "С Новым годом"
var finish:boolean;
procedure KeyPress(ch: char); {----------------------------------------------------------------------}
begin
finish:=true;
end;
Begin {-------------------------------------------------------------------------------------------------}
Window.Init (400, 0, 640, 480, clBlack); // заливаем окно черным цветом
Randomize;
LockDrawing; // Отключаем рисование в окне
finish:=false;
OnKeyPress:=KeyPress;;
z:=0;
hy:=Window.Height;
Repeat
Window.Clear(clBlack);
Xc:= Random(30, Window.Width -30); { устанавливаем к-ты центра залпа}
Yc:=Random(20, Window.Height - 20);
for i:=1 to N Do { задаем случайные }
with stars[i] do
Begin
r:=random(5,30); { расстояние от центра, }
t:=random(628) / 100; { направление, }
c:=colors[random(10)+1]; { цвет }
End;
for k:=0 to 15 Do // залп состит из 16 шагов
Begin
Window.Clear(clBlack);
for i:=1 to N Do // вычисляем координаты звездочек
with stars[i] do
Begin
x:=Xc+round(r*cos(t));
y:=Yc+round(r*sin(t));
r:=r+r div 5;
End;
for i:=1 to N Do // выводим звездочки на внеэкранный буфер
with stars[i] do
Begin
setFontColor(c);
SetFontSize(10);
TextOut( x,y, '*');
End;
if z>=3 then // после 3-го залпа выводим текст
begin
if hy>Window.Height div 2 -100Then
hy:=hy-3;
SetFontcolor(clYellow);
SetBrushColor(ARGB(0,0,0,0)); // прозрачный фон под текстом
SetFontSize(30);
SetFontName('Comic sans MS');
TextOut(Window.Width div 4, hy,'С Новым годом!');
end;
Redraw; // выводим внеэкранный буфер на экран
Sleep(80);
End; // конец очередного залпа (из 16-ти)
Inc(z);
Sleep(80);
until finish;
End.
По теме: методические разработки, презентации и конспекты
"Праздничный салют"
История появления праздничных салютов и фейерверков, фото салютов...
Математическая игра "Зажги салют"
Внеклассная работа по математике. Математическая игра "Зажги салют" Конспект уроеа. Ипользуется групповая работа....
Презентация к математической игре "Зажги салют"
Презентация к внеклассному мероприятию по математике - игре "Зажги салют"...
Внекласссное мероприятие "Салют Победы"
Эта разработка поможет классному руководителю подготовить хорошее мероприятие к 9 мая. Готовится по принципу проекта. Определяются цели и ставятся задачи пере...
Сценарий к фестивалю "Салют Победы"
Сценарий Республиканского фестиваля детско-юношеского творчества "Салют Победы - 2012". Результат работы - Почетная грамота в номинации "Лучшая тематическая направленность" МБОУ Самагалтайскую СОШ №1 ...
Занятие кружка "История фейерверков и салютов"
Данное занятие было проведено в канун Нового года. Оно стало итоговым по разработке проекта «История фейерверков и салютов». В течение двух недель ребята работали в группах по интересам, собирал...
Новогодний салют
Сценарий новогоднего праздника «Новогодний салют» для учащихся 3-5 классов...