![]()  | 
	
 
  | 
| 
		 
			 
			#1  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 Необходимо создать поле 4х4. И в каждой клетке кружок.  
		
	
		
		
		
		
		
	
		
		
	
	
	(Это я сделала - 16 кругов Shape и поле тоже) Но теперь надо так, чтобы при нажатии на один кружок менялся его цвет и ближних по горизонтали и вертикали на противоположный. Только два цвета: белый и черный. Дело в том, что у меня не получается при самом начале определить цвет. Я уже пробовала массив этих shape сделать. var shape : array [1..16] of TShape; . . . for i:=1 to 16 do \\тут выбор цвета происходит итп итд и затем: shape[i].pen.color:= .... ; Не знаю, где то в интернете подсмотрела. Подскажите, как хотя бы просто вот начальное распределение цветов сделать. Не каждому же shape отдельно задавать.  | 
| 
		 
			 
			#2  
			
			
			
			
		 
		
		
	 | 
||||
		
		
  | 
||||
| 
	
	
		
			
			 Игра-триггер. 
		
	
		
		
		
		
			
		
		
		
		
	
		
		
	
	
	Определяешь массив a: array[0..2, 0..2] of boolean, при нажатии на каждый элемент меняешь значения через not, все, что останется - завязаться на значения элементов массива и менять цвет шэйпов, или чего ты там используешь.  | 
| Этот пользователь сказал Спасибо M.A.D.M.A.N. за это полезное сообщение: | ||
 
mufasa (24.01.2013)
  | ||
| 
		 
			 
			#3  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 только наверно лучше не 
		
	
		
		
		
		
		
	
		
		
	
	
	Код: 
	var shape : array [1..16] of TShape; Код: 
	var shape : array [1..4,1..4] of TShape; и затем Код: 
	// изменение цвета
procedure TForm1.SetCellColor(I,J:Integer;B:Boolean);
var
  C:TColor;
begin
  if B then C:=clRed else C:=clBlue;
  with shape[i,j] do 
  begin
    Pen.Color:=C;
    Brush.Color:=C;
  end;
end;
procedure TForm1.InvertCellColor(I,J:Integer);
var
  C:TColor;
begin
  with shape[i,j] do 
  begin
    if Brush.Color = clBlue then C:=clRed else C:=clBlue;
    Pen.Color:=C;
    Brush.Color:=C;
  end;
end;Код: 
	procedure TForm1.InitColors;
var i,j,R:integer;
begin
   for i:=1 to 4 do for j := 1 to 4 do
   begin
     R:=Random(2);(* не забыть где нибудь в FormCreate вызвать Randomize *)
     SetCellColor(I,J , R < 1 );
   end;
end; |