2016-11-04 114 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,它有點高級別,允許你在終端中創建各種小部件。