2016-11-04 2 views
2

Чтобы написать игру, мне нужно написать несколько символов в разных положениях терминала. Я использовалИзменить положение курсора в руке

println!("{c:>width$}", c="*", width=x); 

Это почти в порядке с x позиции, но я хочу, чтобы изменить y положение, когда я нажимаю пространство. Есть ли способ сделать это?

ответ

4

Для управления терминалом я бы рекомендовал использовать ящик, такой как Termion. С Termion это выглядит примерно так:

fn main() { 
    let mut stdout = stdout().into_raw_mode().unwrap(); 

    writeln!(stdout, "{}Placed at 3,7", 
     termion::cursor::Goto(3, 7)); 
} 

См examples.

+3

Просто примечание: это не работает на Windows до обновления юбилея (я считаю). Если вам нужна кросс-платформенная поддержка, используйте что-то еще. –

4

Вы также можете использовать ncurses-rs, который представляет собой тонкую обертку вокруг библиотеки ncurse или Cursive, что немного выше уровня и позволяет создавать различные виджеты в терминале.

Смежные вопросы