Показать сообщение отдельно
  #1  
Старый 15.01.2013, 00:25
Zонька Zонька вне форума
Прохожий
 
Регистрация: 15.01.2013
Сообщения: 2
Репутация: 10
По умолчанию Игра, с использованием протокола Drag&Drop

Необходимо реализовать игру: На панели находятся N лунок, число которых вводит пользователь. В лунках - шары белого или черного цвета. За 1 раз пользователь может менять местами 2 любых шара. Цель игры - сначала идут белые шары, затем черные. Для победы в игре нужно сделать не больше n/2 ходов.
Создаю лунки динамически, в списке компонентов их нет. Вот код
Код:
procedure TForm1.FormCreate(Sender: TObject);
var i,j: integer;
begin
  for i:= 1 to N do
  begin
    figura[i] := TShape.Create(Form1);
    figura[i].Parent := Panel1;    {создаются на панели}
    figura[i].Height:= 35;       
    figura[i].Left := 650-40*i; {положение на панели}
    figura[i].Top := 53;    
    figura[i].Brush.Color:=clwhite;
    figura[i].Shape:=stCircle;
    figura[i].Enabled:=False;
    figura[i].DragMode := dmAutomatic;   {можно перемещать}
  end;
    end;
Потом сделала рандомное окрашивание в черный или белый цвет.
Вопрос: Как теперь обратиться к Shape, чтобы их можно было перетаскивать друг на друга (процедуры DragDrop и DragOver).
Заранее всем спасибо за любую помощь!
Ответить с цитированием