Снегопад
учебно-методический материал (8 класс) по теме
Предварительный просмотр:
// Снегопад - новогодняя анимация
// ГБОУ ДОД ДДЮТ "На Ленской", Шорохова Е.А.
const int N=100;
struct Tflake
{ int x,y;
int dy;
};
Tflake flks[N];
int h; // высота сугроба
int i; // параметр цикла
#pragma once
namespace My20120111Снеговик {
using namespace System;
using namespace System::ComponentModel;
using namespace System::Collections;
using namespace System::Windows::Forms;
using namespace System::Data;
using namespace System::Drawing;
/// ...
public ref class Form1 : public System::Windows::Forms::Form
{
public:
Form1(void) {. . . }
protected:
/// . . .
~Form1(){. . .}
private: /// ...
/// Windows Fofm Desiner generated code
// генератор случайных чисел -----------------------------------------------
System::Random^ rnd;
// графическая поверхность (выделяем памямть под адрес граф. поверхности)
Graphics ^g;
System::Drawing::Font ^hfont ; // шрифт
// инициализация снежинок -----------------------------------
void initf()
{ flks[i].x= rnd->Next(ClientSize.Width-20)+10;
flks[i].y= rnd->Next(100)-300;
flks[i].dy= rnd->Next(10)+2;
}
// при загрузке формы ----------------------------------------------------------------
private: System::Void Form1_Load(System::Object^ sender, System::EventArgs^ e)
{ // инициализация генератора случ. чисел
rnd = gcnew System::Random();
// создаем граф. поверхность
g = this->CreateGraphics();
for (i=0; i
initf();
h=0; // высота сугроба
// создаем шрифт
hfont = gcnew System::Drawing::Font("Comic sans MS", 30);
timer1->Enabled=true;
pictureBox1->Visible=false;
pictureBox1->Left=(ClientSize.Width-pictureBox1->Width) / 2;
}
// по таймеру ----------------------------------------------------------------------------------
private: System::Void timer1_Tick(System::Object^ sender, System::EventArgs^ e)
{for (i=0; i
{
// стираем снежинки
g->FillEllipse(Brushes::DarkBlue, flks[i].x-1,flks[i].y-1,6,6);
// рисуем сугроб
g->FillRectangle(Brushes::White, 0, ClientSize.Height-h,ClientSize.Width, h);
flks[i].y=flks[i].y+flks[i].dy;
if (flks[i].y+6> ClientSize.Height)
{ h++;
initf();
}
// рисуем снежинки
g->FillEllipse(Brushes::White, flks[i].x,flks[i].y,4,4);
}
if (h> ClientSize.Height /5)
timer1->Enabled=false;
// выводим текст
if (h>ClientSize.Height / 5)
{ g->DrawString("С Новым годом!",hfont, Brushes::White, 220,100);
timer1->Enabled=false;
pictureBox1->Top=ClientSize.Height-h-pictureBox1->Height;
pictureBox1->Visible=true;
}
}
};
}
По теме: методические разработки, презентации и конспекты
Конспект внеклассного мероприятия для 5-х классов "Математический снегопад"
Данная статья представляет собой конспект внеклассного мероприятия для 5-х классов. 3 команды участвуют в 10 конкурсах, где участники проявят себя в качестве изобретателей...
Новогодний праздник "Сказочный снегопад"
Сценарий для разновозрастной группы...
Разработка классного часа "Новогодний снегопад"
Конкурсная программа для обучающихся 6 классов...