2016-11-04 115 views
2

为了编写游戏,我需要在终端的不同位置编写一些字符。我用更改Rust中的终端光标位置

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,它有点高级别,允许你在终端中创建各种小部件。