Ayuda MasterMind

Wombi
05 de Enero del 2005
Hola a todos, espero qeu me podais ayudar. Estoy intentando hacer el juego de MasterMind y me he atrancado y no puedo seguir. Para reutilizar c贸digo he creado un procedimiento llamado "Colores". En 茅l parte del c贸digo es este:

case i of
0: begin
Form1.shape1.Brush.Color:=clblack;
end;
1: begin
Form1.shape1.Brush.Color:=clred;
end; ...
Mi problema es que al hacer la llamada, como este procedimiento esta hecho sobre "Shape1", es Shape1 el que siempre cambia:
procedure TForm1.Shape1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
Colores(sender);

end;

驴Que tengo que poner en vez de Form1.Shape1....para que ese procedimiento me funcione en cada shape que tengo y no solo en el 1???. Espero que me podais ayudar. Muchas gracias.

路路路
05 de Enero del 2005
Hola, yo no programo mucho en delphi/kylix pero espero que te pueda ayudar:

Lo que tendrias que hacer es un procedimiento y pasarle como argumento un objeto tshape, seria mas o menos asi;

procedure colores(mishape : tshape);
begin

mishape.Brush.Color := clred;

end;

y despues haces la llamada al procedimiento como lo hacias antes pero pasandole como argumento el shape que quieras cambiar de color: por ejemplo el shape1 que tu tienes:

TForm1.Shape1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin

colores(shape1);

end;


Espero que te valga, Saludos.

路路路
05 de Enero del 2005
Se me olvidaba en tu codigo tendrias que cambiar Form1.shape1 por mishape.

Wombi
05 de Enero del 2005
Gracias, lo he probado, pero no ha habido suerte. Declaro "mishape", pero luego me dice que no esta declarado, no s茅 por que.

路路路
05 de Enero del 2005
驴Donde la has declarado? solo basta con crear el procedimiento colores(mishape : tshape) y dentro de este procedimiento pones tu codigo para cambiar de cambiar los shapes de color, eso si, en tu codigo sonde pone form1.shape1 tienes que cambiarlo por mishape, lo he probado y funciona, No se por que no te funcionara de todas formas si esto no te ha valido espero que encuentres la soluci贸n, Hasta luego.

Arkaz
05 de Enero del 2005
隆隆 MIL GRACIAS !!. 驴Sabes donde me fallaba?. En mi procedimiento \"Colores\" solo tenia que poner \"mishape.Brush.Color\", lo de Form1 sobraba. Ahora ya me funciona. Muchisimas gracias!!!.

路路路
05 de Enero del 2005
Denada para eso estamos.