Слияние кода завершено, страница обновится автоматически
use std.utils;
use std.unix;
var screen_state = {
width: 0,
height: 0
};
screen_state.update = func() {
var res = utils.terminal_size();
me.width = res.cols;
me.height = res.rows;
}
screen_state.clear_screen = func() {
me.update();
var screen = "\e[0;0H";
for (var i = 0; i < me.height; i+=1) {
for (var j = 0; j < me.width; j+=1) {
screen ~= " ";
}
if (i != me.height - 1)
screen ~= "\n";
}
print(screen, "\e[0;0H");
}
screen_state.put_pixel = func(x, y, c) {
x = int(x);
y = int(y);
if (x < 0 or x >= me.width or y < 0 or y >= me.height)
return;
var coord = "\e[" ~ y ~ ";" ~ x ~ "H";
print(coord, c, "\e[0;0H");
}
var test_flush = func() {
screen_state.clear_screen();
for(var i=0; i<1e6; i+=1) {
unix.sleep(0.001);
screen_state.update();
screen_state.put_pixel(
rand()*screen_state.width,
rand()*screen_state.height,
"\e[38;5;" ~ int(256*rand()) ~ "m" ~ char(65 + 26*rand()) ~ "\e[0m"
);
print("\e[0;0H", i);
}
screen_state.clear_screen();
println();
}
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарий ( 0 )