Графическое окно не обновляется - Free Pascal
Формулировка задачи:
Есть массив из 100 точек, все инициализируются, затем рисуются. Если после рисования каждой точки добавить readkey, все ок, но если не убрать, то рисуется только 2 точки. Вероятно, окно не обновляется или что-то типа этого. Подскажите пожалуйста, как это исправить?
uses crt, graph;
type
TPoint = object
x, y, color: word;
constructor Init;
procedure Draw;
end;
//-------------------------------------------
constructor TPoint.Init;
begin
randomize;
x := random(getmaxX);
y := random(getmaxY);
color := random(15) + 1;
end;
//-------------------------------------------
procedure TPoint.Draw;
begin
putPixel(x, y, color);
end;
//-------------------------------------------
const
n = 100;
var
gd, gm, i: integer;
a: array [1..n] of TPoint;
begin
gd := vga;
gm := vgahi;
initgraph(gd, gm, '');
for i := 1 to n do
begin
a[i].Init;
a[i].Draw;
end;
readkey;
closeGraph;
end.Решение задачи: «Графическое окно не обновляется»
textual
Листинг программы
writeln(f, 'x = ', x:4, ' y = ', y:4, ' color = ', color);
Объяснение кода листинга программы
- Программа использует функцию
writeln, чтобы вывести информацию на консоль. - В качестве источника вывода используется файл с идентификатором
f. - Выводимая информация включает следующие переменные:
xс значением4(значение переменнойxравно 4).yс значением4(значение переменнойyравно 4).colorс значением, не указанным в коде (значение переменнойcolorне определено).
- Значения переменных
xиyвыводятся с точностью до 4 знаков после запятой. - Значения переменных выводятся в формате строки, включающей пробелы для улучшения читаемости.
- В результате выполнения программы будет выведено сообщение:
x = 4 y = 4 color =(без кавычек). - Значение переменной
colorне определено, поэтому будет выведено пустое строковое значение. - Если вам нужно указать конкретное значение для переменной
color, вы должны добавить соответствующую строку кода, устанавливающую это значение.