Voltar
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
int i = 16; // para informar o botão que estava Down
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::SB16Click(TObject *Sender)
{
// a lógica será sempre a mesma... em todos os botões!
// conforme seja um ou outro o botão que recebeu
// o evento OnClick, ativamos alguns botões e desativamos
// outros, verificando, sempre, quais devem ser ativados
// e quais devem ser desativados.
SB15->Enabled = true;
SB12->Enabled = true;
SB14->Enabled = false;
SB11->Enabled = false;
SB8->Enabled = false;
// esse laço verifica "de onde veio a peça"... hehehe!
// Na verdade, verifica, através da variável i,
// qual botão estava Down, para implementar
// as modificações necessárias.
switch(i)
{
// esses botões aí embaixo são os únicos que estão ao
// lado do botão que está recebendo o evento OnClick.
// Conseqüentemente são os únicos que podem receber
// alguma alteração em seus estados
case 12: SB12->Caption = SB16->Caption; SB16->Caption = ""; break;
case 15: SB15->Caption = SB16->Caption; SB16->Caption = ""; break;
}
// atualiza o valor de i, informando-lhe que
// atualmente é o botão 16 que se encontra no
// estado Down
i = 16;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::SB15Click(TObject *Sender)
{
SB16->Enabled = true;
SB14->Enabled = true;
SB11->Enabled = true;
SB13->Enabled = false;
SB10->Enabled = false;
SB7->Enabled = false;
SB12->Enabled = false;
switch(i)
{
case 16: SB16->Caption = SB15->Caption; SB15->Caption = ""; break;
case 14: SB14->Caption = SB15->Caption; SB15->Caption = ""; break;
case 11: SB11->Caption = SB15->Caption; SB15->Caption = ""; break;
}
i = 15;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::SB14Click(TObject *Sender)
{
SB15->Enabled = true;
SB13->Enabled = true;
SB10->Enabled = true;
SB16->Enabled = false;
SB11->Enabled = false;
SB6->Enabled = false;
SB9->Enabled = false;
switch(i)
{
case 15: SB15->Caption = SB14->Caption; SB14->Caption = ""; break;
case 10: SB10->Caption = SB14->Caption; SB14->Caption = ""; break;
case 13: SB13->Caption = SB14->Caption; SB14->Caption = ""; break;
}
i = 14;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::SB13Click(TObject *Sender)
{
SB14->Enabled = true;
SB9->Enabled = true;
SB15->Enabled = false;
SB10->Enabled = false;
SB5->Enabled = false;
switch(i)
{
case 14: SB14->Caption = SB13->Caption; SB13->Caption = ""; break;
case 9: SB9->Caption = SB13->Caption; SB13->Caption = ""; break;
}
i = 13;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::SB12Click(TObject *Sender)
{
SB16->Enabled = true;
SB11->Enabled = true;
SB8->Enabled = true;
SB15->Enabled = false;
SB10->Enabled = false;
SB7->Enabled = false;
SB4->Enabled = false;
switch(i)
{
case 16: SB16->Caption = SB12->Caption; SB12->Caption = ""; break;
case 11: SB11->Caption = SB12->Caption; SB12->Caption = ""; break;
case 8: SB8->Caption = SB12->Caption; SB12->Caption = ""; break;
}
i = 12;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::SB11Click(TObject *Sender)
{
SB15->Enabled = true;
SB12->Enabled = true;
SB10->Enabled = true;
SB7->Enabled = true;
SB16->Enabled = false;
SB14->Enabled = false;
SB9->Enabled = false;
SB6->Enabled = false;
SB3->Enabled = false;
SB8->Enabled = false;
switch(i)
{
case 15: SB15->Caption = SB11->Caption; SB11->Caption = ""; break;
case 12: SB12->Caption = SB11->Caption; SB11->Caption = ""; break;
case 7: SB7->Caption = SB11->Caption; SB11->Caption = ""; break;
case 10: SB10->Caption = SB11->Caption; SB11->Caption = ""; break;
}
i = 11;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::SB10Click(TObject *Sender)
{
SB14->Enabled = true;
SB11->Enabled = true;
SB9->Enabled = true;
SB6->Enabled = true;
SB15->Enabled = false;
SB13->Enabled = false;
SB5->Enabled = false;
SB2->Enabled = false;
SB7->Enabled = false;
SB12->Enabled = false;
switch(i)
{
case 14: SB14->Caption = SB10->Caption; SB10->Caption = ""; break;
case 11: SB11->Caption = SB10->Caption; SB10->Caption = ""; break;
case 6: SB6->Caption = SB10->Caption; SB10->Caption = ""; break;
case 9: SB9->Caption = SB10->Caption; SB10->Caption = ""; break;
}
i = 10;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::SB9Click(TObject *Sender)
{
SB13->Enabled = true;
SB10->Enabled = true;
SB5->Enabled = true;
SB14->Enabled = false;
SB11->Enabled = false;
SB6->Enabled = false;
SB1->Enabled = false;
switch(i)
{
case 13: SB13->Caption = SB9->Caption; SB9->Caption = ""; break;
case 10: SB10->Caption = SB9->Caption; SB9->Caption = ""; break;
case 5: SB5->Caption = SB9->Caption; SB9->Caption = ""; break;
}
i = 9;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::SB8Click(TObject *Sender)
{
SB12->Enabled = true;
SB7->Enabled = true;
SB4->Enabled = true;
SB16->Enabled = false;
SB11->Enabled = false;
SB6->Enabled = false;
SB3->Enabled = false;
switch(i)
{
case 12: SB12->Caption = SB8->Caption; SB8->Caption = ""; break;
case 7: SB7->Caption = SB8->Caption; SB8->Caption = ""; break;
case 4: SB4->Caption = SB8->Caption; SB8->Caption = ""; break;
}
i = 8;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::SB7Click(TObject *Sender)
{
SB11->Enabled = true;
SB8->Enabled = true;
SB6->Enabled = true;
SB3->Enabled = true;
SB12->Enabled = false;
SB15->Enabled = false;
SB10->Enabled = false;
SB5->Enabled = false;
SB2->Enabled = false;
SB4->Enabled = false;
switch(i)
{
case 11: SB11->Caption = SB7->Caption; SB7->Caption = ""; break;
case 8: SB8->Caption = SB7->Caption; SB7->Caption = ""; break;
case 6: SB6->Caption = SB7->Caption; SB7->Caption = ""; break;
case 3: SB3->Caption = SB7->Caption; SB7->Caption = ""; break;
}
i = 7;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::SB6Click(TObject *Sender)
{
SB10->Enabled = true;
SB7->Enabled = true;
SB5->Enabled = true;
SB2->Enabled = true;
SB11->Enabled = false;
SB14->Enabled = false;
SB9->Enabled = false;
SB1->Enabled = false;
SB3->Enabled = false;
SB8->Enabled = false;
switch(i)
{
case 10: SB10->Caption = SB6->Caption; SB6->Caption = ""; break;
case 7: SB7->Caption = SB6->Caption; SB6->Caption = ""; break;
case 5: SB5->Caption = SB6->Caption; SB6->Caption = ""; break;
case 2: SB2->Caption = SB6->Caption; SB6->Caption = ""; break;
}
i = 6;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::SB5Click(TObject *Sender)
{
SB9->Enabled = true;
SB6->Enabled = true;
SB1->Enabled = true;
SB13->Enabled = false;
SB10->Enabled = false;
SB7->Enabled = false;
SB2->Enabled = false;
switch(i)
{
case 9: SB9->Caption = SB5->Caption; SB5->Caption = ""; break;
case 6: SB6->Caption = SB5->Caption; SB5->Caption = ""; break;
case 1: SB1->Caption = SB5->Caption; SB5->Caption = ""; break;
}
i = 5;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::SB4Click(TObject *Sender)
{
SB8->Enabled = true;
SB3->Enabled = true;
SB12->Enabled = false;
SB7->Enabled = false;
SB2->Enabled = false;
switch(i)
{
case 8: SB8->Caption = SB4->Caption; SB4->Caption = ""; break;
case 3: SB3->Caption = SB4->Caption; SB4->Caption = ""; break;
}
i = 4;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::SB3Click(TObject *Sender)
{
SB7->Enabled = true;
SB4->Enabled = true;
SB2->Enabled = true;
SB11->Enabled = false;
SB8->Enabled = false;
SB6->Enabled = false;
SB1->Enabled = false;
switch(i)
{
case 7: SB7->Caption = SB3->Caption; SB3->Caption = ""; break;
case 4: SB4->Caption = SB3->Caption; SB3->Caption = ""; break;
case 2: SB2->Caption = SB3->Caption; SB3->Caption = ""; break;
}
i = 3;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::SB2Click(TObject *Sender)
{
SB6->Enabled = true;
SB3->Enabled = true;
SB1->Enabled = true;
SB4->Enabled = false;
SB7->Enabled = false;
SB10->Enabled = false;
SB5->Enabled = false;
switch(i)
{
case 6: SB6->Caption = SB2->Caption; SB2->Caption = ""; break;
case 3: SB3->Caption = SB2->Caption; SB2->Caption = ""; break;
case 1: SB1->Caption = SB2->Caption; SB2->Caption = ""; break;
}
i = 2;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::SB1Click(TObject *Sender)
{
SB2->Enabled = true;
SB5->Enabled = true;
SB3->Enabled = false;
SB6->Enabled = false;
SB9->Enabled = false;
switch(i)
{
case 5: SB5->Caption = SB1->Caption; SB1->Caption = ""; break;
case 2: SB2->Caption = SB1->Caption; SB1->Caption = ""; break;
}
i = 1;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Sair1Click(TObject *Sender)
{
// fecha o programa
Close();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Novo1Click(TObject *Sender)
{
// inicia uma nova partida
// "recompondo as peças" em seus devidos lugares
i = 16;
SB16->Down = true;
SB1->Enabled = false;
SB1->Caption = 1;
SB2->Enabled = false;
SB2->Caption = 2;
SB3->Enabled = false;
SB3->Caption = 3;
SB4->Enabled = false;
SB4->Caption = 4;
SB5->Enabled = false;
SB5->Caption = 5;
SB6->Enabled = false;
SB6->Caption = 6;
SB7->Enabled = false;
SB7->Caption = 7;
SB8->Enabled = false;
SB8->Caption = 8;
SB9->Enabled = false;
SB9->Caption = 9;
SB10->Enabled = false;
SB10->Caption = 10;
SB11->Enabled = false;
SB11->Caption = 11;
SB12->Enabled = true;
SB12->Caption = 12;
SB13->Enabled = false;
SB13->Caption = 13;
SB14->Enabled = false;
SB14->Caption = 14;
SB15->Enabled = true;
SB15->Caption = 15;
SB16->Enabled = true;
SB16->Caption = "";
}
//---------------------------------------------------------------------------
Voltar