Снегопад
учебно-методический материал (8 класс) по теме

 Новогодняя анимация в среде MS VS C++ 2010

Скачать:

ВложениеРазмер
Microsoft Office document icon Текст на С++ для формы35 КБ

Предварительный просмотр:

// Снегопад - новогодняя анимация

// ГБОУ ДОД ДДЮТ "На Ленской", Шорохова Е.А.

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 классов...