Здравствуйте, у меня трабла с перерисовкой консоли. Не знаю, как проводить это плавно и без адового мигания. Сама программа представляет собой го***кодскийрогалик, ссылку на него приведу ниже (если кто-то захочет посмотреть на мигание, о котором я пишу).
{Процедура перерисовки карты}
Код:
procedure draw(x, y : integer);
var minx, maxx, miny, maxy : integer;
begin
if hp > 0 then
begin
player_lvl := player_xp div 100 + 1;
player_atc := player_lvl * 2;
player_def := player_lvl * 1;
if x - 3 < 0 then minx := 0 else minx := x - 3;
if y - 3 < 0 then miny := 0 else miny := y - 3;
maxx := x + 3;
maxy := y + 3;
write('HP: '+inttostr(hp)
+ ' | '+ 'Level: ' + inttostr(player_lvl) + '.' + inttostr(player_xp - 100*(player_lvl - 1)) + '%'
+ ' | ' + 'Gold: ' + inttostr(player_gold));
for n := minx to maxx do
begin
for m := miny to maxy do//length(prom[n]) do
begin
cursors.X := m;
cursors.Y := n;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), Cursors);
write(map[n, m]);
end;
writeln;
end;
end
else
begin
cw;
write('You died.');
end;
end;
===============================================
Ссылки на программу:
[Ссылки могут видеть только зарегистрированные пользователи. ]
[Ссылки могут видеть только зарегистрированные пользователи. ]
Подскажите, пожалуйста, как можно проводить иначе!