Herzlich willkommen in der Delphi-PRAXiS.
Zitat von
deinemudda:
nur das setzen von balken funktioniert nicht
wenn alles andere nach deiner Aussage funktioniert, dann solltest du genau den Code zeigen, der die Balken setzt. Der von dir gezeigte Code kann noch ein wenig aufgeräumt werden, aber da ich die Spielidee nicht kenne, kann ich auch keinen konzeptionellen Fehler sehen.
Delphi-Quellcode:
const
SF_LEER = 0;
SF_BALKEN_1 = 10;
SF_BALKEN_2 = 11;
function TfrmReflect.FeldIstLeer(iSpalte, iZeile: Integer): Boolean;
begin
Result := SF[iSpalte, iZeile] = SF_LEER;
end;
function TfrmReflect.BestimmeFeld(X, Y: Integer): TPoint;
begin
Result.X := X div 20;
Result.Y := Y div 20;
end;
procedure TfrmReflect.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var
p: TPoint;
begin
p := BestimmeFeld(X, Y);
if FeldIstLeer(p) then
begin
if Balken1 then
begin
SF[p.x, p.y] := SF_BALKEN_1;
ZeichneBalken1(p.x, p.y);
Balken1 := False;
end;
if Balken2 then
begin
SF[p.x, p.y] := SF_BALKEN_2;
ZeichneBalken2(p.x, p.y);
Balken2 := False;
end;
end;
end;
Grüße vom marabu