1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
| void __fastcall TMainForm::BoardGridDragDrop(TObject *Sender,
TObject *Source, int X, int Y)
{
int icol, irow;
int ilist;
int n, jlist;
char move[LINE_MAX];
int lmove;
BoardGrid->MouseToCell(X, Y, icol, irow);
if (InvertBoard)
DragTo = DragDropMap[9 - icol][9 - irow];
else
DragTo = DragDropMap[icol][irow];
if ((DragFrom != 0) and (DragTo != 0))
{
sprintf(move, "%d/%d", DragFrom, DragTo);
lmove = strlen(move);
n = 0;
for (ilist = 0; ilist < MovesList->Items->Count; ilist++)
{
if (strncmp(move, DragDropMovesList->Strings[ilist].c_str(), lmove) == 0)
{
n++;
jlist = ilist;
}
}
if (n != 1)
{
n = 0;
for (ilist = 0; ilist < MovesList->Items->Count; ilist++)
{
if (strcmp(move, DragDropMovesList->Strings[ilist].c_str()) == 0)
{
n++;
jlist = ilist;
}
}
}
if (n == 1)
{
MovesList->ItemIndex = jlist;
MovesListClick(NULL);
}
else
{
my_printf("le coup %s est illégal!\n", move);
}
}
} |
Partager