Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
12
Добавлен:
17.04.2013
Размер:
4.51 Кб
Скачать
//-------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include <math.h>
#include "Unit1.h"
//-------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
bool v;
int h,n,m,w;
double a,s;
TForm1 *Form1;
//-------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{    Form1->KeyPreview = true;
     Timer1->Interval=100;
     Image1->Canvas->Brush->Color = clWhite;
     Image1->Canvas->FillRect(Rect(0, 0, Image1->Width, Image1->Height));
     Image1->Canvas->Pen->Color=clBlack;
     Image1->Canvas->Pen->Width=5;
     Image1->Canvas->MoveTo(Image1->Width,60);
     Image1->Canvas->LineTo(Image1->Width,250);
     Image1->Canvas->Pen->Color=clRed;
     Image1->Canvas->MoveTo(Image1->Width,130);
     Image1->Canvas->LineTo(Image1->Width,180);
     Ball   = new CBall(Image1);
     Doska  = new CSupport(Image1);
     DirMoving=true;
     try
     {
      Ball->Hide();
      Doska->Hide();
      Ball->MoveToY(Doska->ComputeBallY(Ball->GetX()));
      Doska->Rotate(0,0);
     }
     catch (int d)
     {
      DirMoving=0;
     }
}
//-------------------------------------------------------------------
void __fastcall TForm1::FormDestroy(TObject *Sender)
{      delete Ball;
       delete Doska;
}
//-------------------------------------------------------------------

//-------------------------------------------------------------------
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{      w+=1;
   try
      {Ball->Hide();
       Doska->Hide();
       Doska->Rotate(0,0);
       Ball->IncX((Doska->Naklon())*w*DirMoving);
       Ball->MoveToY(Doska->ComputeBallY(Ball->GetX()));
      }
    catch (int d)
      {Doska->Rotate(0,0);
       Timer1->Interval=100;
       DirMoving=0;
       a=Ball->GetX();
       s=Ball->GetY();
       if (h<100){
       h+=1;
       Image1->Canvas->Pen->Color=clBlack;
       Image1->Canvas->Pen->Width=5;
       Image1->Canvas->MoveTo(Image1->Width,60);
       Image1->Canvas->LineTo(Image1->Width,250);
       Image1->Canvas->Pen->Color=clRed;
       Image1->Canvas->MoveTo(Image1->Width,130);
       Image1->Canvas->LineTo(Image1->Width,180);
      try{
       if (v==false)a=a+60*h*sqrt(2)/2;
       if (v==true) a=a-60*h*sqrt(2)/2+600;
       s=s-60*h*sqrt(2)/2+10*pow(h,2)/2;
       Ball->ComputeBallY12(a,s);
         }
       catch (int c)
       {if (c=1) Label2->Caption="Вы попали!!!";
       }
        if (a>Image1->Width) {v=true;
        a=Image1->Width-10;
        }
       Ball->Hide12(n,m);
       Ball->Move12(a,s);
       n=a;
       m=s;
      }
     }
}
//-------------------------------------------------------------
void __fastcall TForm1::Image1MouseDown(TObject *Sender,
      TMouseButton Button, TShiftState Shift, int X, int Y)
{
     //if (abs(Ball->GetX() - X)<10)
     //if (!DirMoving)//признак того, что мяч упал
     //MouseDn=true;
}
//-----------------------------------------------------------------

void __fastcall TForm1::Image1MouseMove(TObject *Sender, TShiftState Shift,
      int X, int Y)
{
     //if (MouseDn)
     //{
     //  Ball->Hide();
     //  Ball->MoveToX(X);
     //}
}
//-------------------------------------------------------------------
void __fastcall TForm1::Image1MouseUp(TObject *Sender, TMouseButton Button,
      TShiftState Shift, int X, int Y)
{
  //   MouseDn=false;
}
//-------------------------------------------------------------------

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


void __fastcall TForm1::FormCreate(TObject *Sender)
{ //     if (!DirMoving) return;  //
      Ball->Hide();
      Doska->Hide();
      Doska->Rotate(-5,+5);

}
//---------------------------------------------------------------------------

void __fastcall TForm1::SpeedButton2Click(TObject *Sender)
{  //     if (!DirMoving) return;  //
      Ball->Hide();
      Doska->Hide();
      Doska->Rotate(5,-5);

}
//---------------------------------------------------------------------------


void __fastcall TForm1::SpeedButton1Click(TObject *Sender)
{ //     if (!DirMoving) return;  //
      Ball->Hide();
      Doska->Hide();
      Doska->Rotate(-5,+5);

}
//---------------------------------------------------------------------------

Соседние файлы в папке laba3..2
  • #
    17.04.201315.31 Кб12Project1.obj
  • #
    17.04.2013876 б13Project1.res
  • #
    17.04.20137.51 Кб12Project1.str
  • #
    17.04.20132.95 Mб12Project1.tds
  • #
    17.04.20132.98 Кб12Project1.~bpr
  • #
    17.04.20134.51 Кб12Unit1.cpp
  • #
    17.04.20132.58 Кб12Unit1.dfm
  • #
    17.04.20131.68 Кб13Unit1.h
  • #
    17.04.20134.84 Кб12Unit1.~cpp
  • #
    17.04.20132.36 Кб12Unit1.~dfm
  • #
    17.04.20131.84 Кб12Unit1.~h