Скачиваний:
42
Добавлен:
16.04.2013
Размер:
1.78 Кб
Скачать
//---------------------------------------------------------------------------

#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*cos(angle);
  y=yc-40*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*pi-pi/2)) throw excp();
}

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

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

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_1
  • #
    16.04.20131.78 Кб42ball1.cpp
  • #
    16.04.2013662 б42ball1.h
  • #
    16.04.201319.99 Кб42ball1.obj
  • #
    16.04.20131.77 Кб42ball1.~cpp
  • #
    16.04.2013662 б42ball1.~h
  • #
    16.04.20132.69 Кб42Project2.bpr