Астероиды на C++

Автор работы: Пользователь скрыл имя, 08 Марта 2014 в 18:14, курсовая работа

Описание работы

C++ — это попытка решения разработчиками языка С задач объектно-ориентированного программирования (Object Oriented Programming, OOP). Построенный на твердом фундаменте С, C++ помимо OOP поддерживает множество других полезных инструментов, не жертвуя при этом ни мощью, ни элегантностью, ни гибкостью С. C++ уже стал универсальным языком для программистов всего мира, языком, на котором будет написано следующее поколение высокоэффективного программного обеспечения. Это единственный серьезный язык, который просто обязан знать любой уважающий себя профессиональный программист.

Содержание работы

Введение
1. Теоретическая часть
1.1 Объектно –ориентированное программирование
1.2 Объект
1.3 Класс
1.4 Инкапсуляция
1.5 Наследование
1.6 Полиморфизм
2. Практическая часть
2.1 Постановка задачи
2.2 Интерфейс программы
Заключение
Список используемой литературы

Файлы: 1 файл

Курсовая ООП.doc

— 152.50 Кб (Скачать файл)

                int distance=sqrt( (r->x-b->x)*(r->x-b->x) + (r->y-b->y)*(r->y-b->y));

                if(((r->Tip==1)&&(distance<30))||((r->Tip==2)&&(distance<15))||((r->Tip==3)&&(distance<5)))

                    {

                    Asteroids->Delete(i);

                    Bullets->Delete(j);

 

                    if(r->Tip<3)

                    {

                    r2=new CRock();

                    r2->x=r->x;

                    r2->y=r->y;

                    r2->CreateAsteroid(r->Tip+1);

                    Asteroids->Add((void*)r2);

 

                    r2=new CRock();

                    r2->x=r->x;

                    r2->y=r->y;

                    r2->CreateAsteroid(r->Tip+1);

                    Asteroids->Add((void*)r2);

                    delete r;

                    r=NULL;

                    }

                    }

                }

        if(r!=NULL)

        {

        r->Move();

        r->Draw();

        }

        }

return 0;

}

bool __fastcall TForm1::IsShipBreaked()

{

      CRock*r,*r2;

      for(int i=0;i<Asteroids->Count;i++)

        {

        r=(CRock*)Asteroids->Items[i];

        int distance=sqrt((r->x-ShipPosX)*(r->x-ShipPosX)+(r->y-ShipPosY)*(r->y-ShipPosY));

        if(((r->Tip==1)&&(distance<30))||((r->Tip==2)&&(distance<25))||((r->Tip==3)&&(distance<15)))

        return true;

        }

return false;

}

void __fastcall TForm1::StartNew()

{

LEFT=false;RIGHT=false;

ShipPosX=200;ShipPosY=200;

ShipAngle=0;

ShipSpeed=0;

Asteroids->Clear();

Bullets->Clear();

for(int i=0;i<4;i++)

{

CRock*a=new CRock();

a->x=random(400);

a->y=40;

a->CreateAsteroid(1);

Asteroids->Add((void*)a);

}

}



Информация о работе Астероиды на C++