не могу вычесть из счетчика 1
помогите, плиз. хочу написать простенькую "игру", где каждые 0.5 сек. с рандомными координатами появляется объект, пользователь должен его "удалить" с помощью ПКМ, но, если на экране 10 объектов, то игра прекращается. вопрос в том, что к счетчику прибавляется 1, когда объект появляется, но я не знаю как сделать так, чтоб от счетчика вычиталась единица, когда пользователь удалит объект. думаю, проблема ясна.
uses abcobjects, graphabc;
procedure deleteobj(x, y, mb: integer);
begin
case mb of
2:
begin
var ob := objectunderpoint(x, y);
if ob <> nil then ob.Destroy;
end;
end;
end;
begin
window.Width := 640;
window.Height := 360;
window.Caption := 'MyGame';
window.Fill('.../font.jpg');
var i:=0;
while i<10 do
begin
onmousedown := deleteobj;
var x1 := random(515 - 63 + 1) + 63;
var y1 := random(254 - 53 + 1) + 53;
pictureabc.create(x1, y1, '.../object.jpg');
inc(i);
sleep(500);
end;
end.
Ответы (1 шт):
Автор решения: Igor
→ Ссылка
var i := 0;
procedure deleteobj(x, y, mb: integer);
begin
case mb of
2:
begin
var ob := objectunderpoint(x, y);
if ob <> nil then
begin
ob.Destroy;
Dec(i);
end;
end;
end;
end;
begin
window.Width := 640;
window.Height := 360;
window.Caption := 'MyGame';
window.Fill('.../font.jpg');
//var i:=0;
while i<10 do
...