Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
41
Добавлен:
16.04.2013
Размер:
1.93 Кб
Скачать
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include <math.h>
#include "ball1.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

CBall::CBall(TImage* _Img)
{
  Img=_Img;
  v=0;
}

void CBall::Hide()
{
  Img->Canvas->Pen->Color=clWhite;
  Img->Canvas->Brush->Color=clWhite;
  Img->Canvas->Ellipse(x-10,y-10,x+10,y+10);
}

void CBall::MoveToAngle(float Dang)
{
  float xc=(Img->Width)/2;
  float yc=(Img->Height)/2;

  angle+=Dang+v;
  x=xc+40.0*cos(angle);
  y=yc-40.0*sin(angle);

  v+=0.1;

  Img->Canvas->Pen->Color=clBlue;
  Img->Canvas->Brush->Color=clBlue;
  Img->Canvas->Ellipse(x-10,y-10,x+10,y+10);

  if (angle>=angle0+(2.0*pi-pi/2.0)) throw excp();
}

void CBall::Fly(int dx,int dy)
{
  x+=v*cos(pi/2-angle0-pi/4)*t *20;
  y+=(v*sin(pi/2-angle0-pi/4)*t+9.8*t*t/2)/10;

  Img->Canvas->Pen->Color=clBlue;
  Img->Canvas->Brush->Color=clBlue;
  Img->Canvas->Ellipse(x-10,y-10,x+10,y+10);

  if ( (x>=Img->Width-30) && (y>Img->Height/2+30)
                        && (y<Img->Height/2+90))
  {
    throw excp1();
  }  
}

CSupport::CSupport(TImage* _Img)
{
  Img=_Img;
  xc=(Img->Width)/2;
  yc=(Img->Height)/2;
  angle=pi/4;
  RotateToAngle(0);
}

void  CSupport::RotateToAngle(float Dang)
{
  angle+=Dang;

  Img->Canvas->Pen->Width=1;
  Img->Canvas->Pen->Color=clRed;
  Img->Canvas->Brush->Color=clRed;
  Img->Canvas->Arc(xc-R,yc-R, xc+R, yc+R,
                       xc+R*cos(angle),
                       yc-R*sin(angle),
                       xc+R*cos(angle-pi/4),
                       yc-R*sin(angle-pi/4));
}

void CSupport::Hide()
{
  Img->Canvas->Pen->Width=3;
  Img->Canvas->Pen->Color=clWhite;
  Img->Canvas->Brush->Color=clWhite;
  Img->Canvas->Ellipse(xc-R, yc-R, xc+R, yc+R);
}  





Соседние файлы в папке part2
  • #
    16.04.20131.93 Кб41ball1.cpp
  • #
    16.04.2013692 б41ball1.h
  • #
    16.04.201322.07 Кб41ball1.obj
  • #
    16.04.20131.93 Кб41ball1.~cpp
  • #
    16.04.2013698 б41ball1.~h
  • #
    16.04.20132.98 Кб41Project2.bpr