Source BJ
void ruch_enemy() // ruch enemy
{
for (int i=1; i<=ILE; i++)
{
if (MAP[Obrazek[i]->Left+10][Obrazek[i]->Top+25] == 0 && ENEMY[i]) Obrazek[i]->Left += 2; else
{
ENEMY[i] = False;
if (MAP[Obrazek[i]->Left+10-3][Obrazek[i]->Top+21] == 0)
Obrazek[i]->Left -= 2; else ENEMY[i] = True;
}
}
}
void poza() // pozycja gracza
{
X1 = MAP[Form1->Image2->Left][Form1->Image2->Top];
X2 = MAP[Form1->Image2->Left+20][Form1->Image2->Top];
Y1 = MAP[Form1->Image2->Left][Form1->Image2->Top+20];
Y2 = MAP[Form1->Image2->Left+20][Form1->Image2->Top+20];
}
void kolizja() // kolizja
{
for (int i=1; i<=ILE; i++) // kolizja enemy
{
if (Obrazek[i]->Left >= Form1->Image2->Left+20 || Obrazek[i]->Left+20 <= Form1->Image2->Left
|| Obrazek[i]->Top >= Form1->Image2->Top+20 || Obrazek[i]->Top+20 <= Form1->Image2->Top);
else
{
reset();
}
}
if (X1 == 255 || X2 == 255 || Y1 == 255 || Y2 == 255) reset(); // kolizja playera
if (X1 == RGB(0,255,0) || X2 == RGB(0,255,0) || Y1 == RGB(0,255,0) || Y2 == RGB(0,255,0))
{
Form1->Timer1->Enabled = False;
Stop = clock();
Czas = ((double) (Stop - Start)) / CLOCKS_PER_SEC;
Finish_Czas += Czas;
Form1->Label2->Caption = Finish_Czas;
Form1->Caption = Czas;
Form1->Button1->Visible = True;
Form1->Button2->Visible = True;
Form1->Button1->Caption = "Next Level >>";
BMP->Free();
for (int i=1; i<= ILE; i++) Obrazek[i]->Free();
}
}
void __fastcall TForm1::Timer1Timer(TObject *Sender) // gra
{
ruch_enemy();
poza();
kolizja();
if (GORA)
{
Image2->Top += -4;
GO++ ;
if (GO >= 25)
{
GORA = False;
GO = 0;
}
}
if (GORA == False) spadek();
if (LEWY) Image2->Left += -2; else if (PRAWY) Image2->Left += 2;
}
Komentarze: