Mam taki kodzik:
bool zderzenie( TImage * pilka, TImage * cegla)
{
}
Kompilator wyrzuca błąd w deklaracji składni. Dlaczego tak się dzieje?
Mam taki kodzik:
bool zderzenie( TImage * pilka, TImage * cegla)
{
}
Kompilator wyrzuca błąd w deklaracji składni. Dlaczego tak się dzieje?
@Althorion Builder rzuca wtedy ostrzeżenie W8070 i kompilacja leci dalej. Dlatego warto aby pytający wrzucił całą zawartość unita z plikiem *.h
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
int x=-8;
int y=8;
int dozbicia=24
bool zderzenie( TImage * pilka, TImage * cegla)
{
if(pilka->Top<=cegla->Top-pilka->Height && pilka->Left>=cegla->Left-pilka->Width &&
pilka->Left<=cegla->Left+cegla->Width && pilka->Top <= cegla->Top+cegla->Height)
{
return true;
}
else return false;
}
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::TimerKulkiTimer(TObject *Sender)
{
Kulka->Left+=x;
Kulka->Top+=y;
//odbijanie od scian
if(Kulka->Left<=Tlo->Left) x = -x;
if(Kulka->Top-5<=Tlo->Top) y= -y;
if(Kulka->Left+Kulka->Width+5 >=Tlo->Width) x= -x;
//skucha xD
if(Kulka->Top>=Paddle->Top+Paddle->Height+15)
{
TimerKulki->Enabled=false;
Kulka->Visible=false;
Button1->Caption="Porażka"
Button1->Visible=true;
}
else if(Kulka->Left > Paddle->Left-Kulka->Width/2 && Kulka->Left < Paddle->Left+Paddle->Width &&
Kulka->Top+Kulka->Height >Paddle->Top)
{
if(y>0) y= -y;
}
if(dozbicia<=0)
{
TimerKulki->Enabled=false;
Kulka->Visible=false;
Button1->Visivle=true;
Button1->Caption="Wygrałeś"
}
//blok 1
if(kolizja(Kulka,Brick1)&&Brick1->Visible=true)
{x = -x; y= -y; Brick1->Visible=false; dozbicia--; }
//blok 2
if(kolizja(Kulka,Brick2)&&Brick2->Visible=true)
{x = -x; y= -y; Brick2->Visible=false; dozbicia--; }
//blok 3
if(kolizja(Kulka,Brick3)&&Brick3->Visible=true)
{x = -x; y= -y; Brick3->Visible=false; dozbicia--; }
//blok 4
if(kolizja(Kulka,Brick4)&&Brick4->Visible=true)
{x = -x; y= -y; Brick4->Visible=false; dozbicia--; }
//blok 5
if(kolizja(Kulka,Brick5)&&Brick5->Visible=true)
{x = -x; y= -y; Brick5->Visible=false; dozbicia--; }
//blok 6
if(kolizja(Kulka,Brick6)&&Brick6->Visible=true)
{x = -x; y= -y; Brick6->Visible=false; dozbicia--; }
//blok 7
if(kolizja(Kulka,Brick7)&&Brick7->Visible=true)
{x = -x; y= -y; Brick7->Visible=false; dozbicia--; }
//blok 8
if(kolizja(Kulka,Brick8)&&Brick8->Visible=true)
{x = -x; y= -y; Brick8->Visible=false; dozbicia--; }
//blok 9
if(kolizja(Kulka,Brick9)&&Brick9->Visible=true)
{x = -x; y= -y; Brick9->Visible=false; dozbicia--; }
//blok 10
if(kolizja(Kulka,Brick10)&&Brick10->Visible=true)
{x = -x; y= -y; Brick10->Visible=false; dozbicia--; }
//blok 11
if(kolizja(Kulka,Brick11)&&Brick11->Visible=true)
{x = -x; y= -y; Brick11->Visible=false; dozbicia--; }
//blok 12
if(kolizja(Kulka,Brick12)&&Brick12->Visible=true)
{x = -x; y= -y; Brick12->Visible=false; dozbicia--; }
//blok 13
if(kolizja(Kulka,Brick13)&&Brick13->Visible=true)
{x = -x; y= -y; Brick13->Visible=false; dozbicia--; }
//blok 14
if(kolizja(Kulka,Brick14)&&Brick14->Visible=true)
{x = -x; y= -y; Brick14->Visible=false; dozbicia--; }
//blok 15
if(kolizja(Kulka,Brick15)&&Brick15->Visible=true)
{x = -x; y= -y; Brick15->Visible=false; dozbicia--; }
//blok 16
if(kolizja(Kulka,Brick16)&&Brick16->Visible=true)
{x = -x; y= -y; Brick16->Visible=false; dozbicia--; }
//blok 17
if(kolizja(Kulka,Brick17)&&Brick17->Visible=true)
{x = -x; y= -y; Brick17->Visible=false; dozbicia--; }
//blok 18
if(kolizja(Kulka,Brick18)&&Brick18->Visible=true)
{x = -x; y= -y; Brick18->Visible=false; dozbicia--; }
//blok 19
if(kolizja(Kulka,Brick19)&&Brick19->Visible=true)
{x = -x; y= -y; Brick19->Visible=false; dozbicia--; }
//blok 20
if(kolizja(Kulka,Brick20)&&Brick20->Visible=true)
{x = -x; y= -y; Brick20->Visible=false; dozbicia--; }
//blok 21
if(kolizja(Kulka,Brick21)&&Brick21->Visible=true)
{x = -x; y= -y; Brick21->Visible=false; dozbicia--; }
//blok 22
if(kolizja(Kulka,Brick22)&&Brick22->Visible=true)
{x = -x; y= -y; Brick22->Visible=false; dozbicia--; }
//blok 23
if(kolizja(Kulka,Brick23)&&Brick23->Visible=true)
{x = -x; y= -y; Brick23->Visible=false; dozbicia--; }
//blok 24
if(kolizja(Kulka,Brick24)&&Brick24->Visible=true)
{x = -x; y= -y; Brick24->Visible=false; dozbicia--; }
}
//---------------------------------------------------------------------------
void __fastcall TForm1::LewoTimer(TObject *Sender)
{
if(Paddle->Left>10)Paddle->Left-=10;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::PrawoTimer(TObject *Sender)
{
if(Paddle->Left+Paddle->Width < Tlo->Width -10)Paddle->Left+=10;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormKeyDown(TObject *Sender, WORD &Key,
TShiftState Shift)
{
if(Key==VK_LEFT) Lewo->Enabled=true;
if(Key==VK_RIGHT) Prawo->Enabled=true;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormKeyUp(TObject *Sender, WORD &Key,
TShiftState Shift)
{
if(Key==VK_LEFT) Lewo->Enabled=false;
if(Key==VK_RIGHT) Prawo->Enabled=false;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Kulka->Left=50;
Kulka->Top=50;
Kulka->Visible=true;
x=-8; y=-8;
TimerKulki->Enabled=true;
Button1->Visible=false;
dozbicia=24;
Brick1->Visible=true;
Brick2->Visible=true;
Brick3->Visible=true;
Brick4->Visible=true;
Brick5->Visible=true;
Brick6->Visible=true;
Brick7->Visible=true;
Brick8->Visible=true;
Brick9->Visible=true;
Brick10->Visible=true;
Brick11->Visible=true;
Brick12->Visible=true;
Brick13->Visible=true;
Brick14->Visible=true;
Brick15->Visible=true;
Brick16->Visible=true;
Brick17->Visible=true;
Brick18->Visible=true;
Brick19->Visible=true;
Brick20->Visible=true;
Brick21->Visible=true;
Brick22->Visible=true;
Brick23->Visible=true;
Brick24->Visible=true;
}
//---------------------------------------------------------------------------
Błąd:
[C++ Error] Unit1.cpp(14): E2141 Declaration syntax error
Co prawda nie dałeś całego kodu (gdzie są include'y chociażby vcl.h w pliku *.cpp). Nie mniej jednak masz brak średnika:
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
int x=-8;
int y=8;
int dozbicia=24; // <----- TU BRAKUJE SREDNIKA
bool zderzenie( TImage * pilka, TImage * cegla)
Nie ma za co, ale na Twoim miejscu poprawiłbym styl pisania pgogramów, ponieważ używanie np. zmiennych globalnych to nie jest dobra rzecz. Najpierw wyeliminuj zmienne x,y,dozbicia
a następnie warto zastanowić się jak napisać w ładniejszy sposób metodę TimerKulkiTimer
ponieważ widać tu duplikację kodu.