2016-11-04 1 views
2

Um ein Spiel zu schreiben, muss ich einige Zeichen an verschiedenen Positionen im Terminal schreiben. Ich benutzenÄndern der Terminal-Cursor-Position in Rust

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

Es ist fast OK mit der x Position, aber ich mag die y Position ändern, wenn ich Raum drücken. Gibt es einen Weg, es zu tun?

Antwort

4

Für Terminalsteuerung würde ich empfehlen, eine Kiste wie Termion zu verwenden. Mit Termion sieht es so etwas wie:

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

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

Siehe examples.

+3

Nur ein Hinweis: Dies funktioniert nicht auf Windows vor dem Jahrestag Update (glaube ich). Wenn Sie an plattformübergreifender Unterstützung interessiert sind, verwenden Sie etwas anderes. –

4

Sie könnten auch ncurses-rs verwenden, das ist ein dünner Wrapper um die ncurse-Bibliothek, oder Cursive, der etwas höher ist und Ihnen erlaubt, verschiedene Widgets im Terminal zu erstellen.