Hola Snaked.
Si, es totalmente correcto. Podes ir almacenando las naves en una lista a medida que las creas y luego referirte a cada nave mediante la lista.
Ejemplo sobre el código anterior:
Código PHP:
TList* lst;
Ship* s1;
void __fastcall TForm1::FormCreate( TObject *Sender )
{
lst = new TList;
s1 = new Ship( this, Point(10,100), Point( 240,200) );
s1->Image->Picture->LoadFromFile( "face-smile.jpg" );
s1->Timer->Interval = 10;
lst->Add(s1);
s1 = new Ship( this, Point( 50, 50 ), Point( 150, 300 ) );
s1->Image->Picture->LoadFromFile( "face-sad.jpg" );
s1->Timer->Interval = 10;
lst->Add(s1);
s1 = new Ship( this, Point( 80, 90 ), Point( 220, 100 ) );
s1->Image->Picture->LoadFromFile( "face-monkey.jpg" );
s1->Timer->Interval = 10;
lst->Add (s1 );
//... mas naves
}
void __fastcall TForm1::btnStartClick( TObject *Sender )
{
for (int i = 0; i < lst->Count; i++ )
static_cast<Ship*>( lst->Items[i] )->Timer->Enabled = true; // (*)
}
void __fastcall TForm1::FormDestroy( TObject *Sender )
{
for (int i = 0; i < lst->Count; i++)
delete lst->Items[i];
lst->Free();
}
(*) Te podes referir a cada nave de la lista cambiando el índice de la propiedad vectorial
Items.
Saludos
