aboutsummaryrefslogtreecommitdiffstats
path: root/test/rl.rs
diff options
context:
space:
mode:
Diffstat (limited to 'test/rl.rs')
-rw-r--r--test/rl.rs44
1 files changed, 21 insertions, 23 deletions
diff --git a/test/rl.rs b/test/rl.rs
index 1915c43..7c04629 100644
--- a/test/rl.rs
+++ b/test/rl.rs
@@ -1,53 +1,51 @@
extern mod term;
use term::{KeyCharacter,KeyEscape,KeyUp,KeyDown,KeyLeft,KeyRight};
-fn term_app (body: &fn (r: &mut term::Reader, w: &mut term::Writer)) {
- let mut writer = term::Writer(true);
- let mut reader = term::Reader(true);
+fn term_app (body: &fn (r: &mut term::Term)) {
+ let mut term = term::Term(true);
do term::ios::preserve {
- writer.alternate_screen(true);
- body(&mut reader, &mut writer);
+ term.alternate_screen(true);
+ body(&mut term);
}
}
-fn draw_map (w: &mut term::Writer, rows: uint, cols: uint) {
+fn draw_map (term: &mut term::Term, rows: uint, cols: uint) {
for uint::range(0, rows) |i| {
- w.move(0, i);
- w.write(str::repeat(".", cols));
+ term.move(0, i);
+ term.write(str::repeat(".", cols));
}
}
-fn draw_character (w: &mut term::Writer, x: uint, y: uint) {
- w.move(x, y);
- w.write("@");
- w.move(x, y);
+fn draw_character (term: &mut term::Term, x: uint, y: uint) {
+ term.move(x, y);
+ term.write("@");
+ term.move(x, y);
}
-fn draw_ground (w: &mut term::Writer, x: uint, y: uint) {
- w.move(x, y);
- w.write(".");
+fn draw_ground (term: &mut term::Term, x: uint, y: uint) {
+ term.move(x, y);
+ term.write(".");
}
fn main () {
let (cols, rows) = term::size();
- do term_app |r, w| {
+ do term_app |term| {
term::cbreak();
term::echo(false);
- w.clear();
+ term.clear();
- draw_map(w, rows, cols);
+ draw_map(term, rows, cols);
let mut (x, y) = (0u, 0u);
let mut cursor = true;
loop {
- draw_character(w, x, y);
- w.flush();
- let k = match r.read() {
+ draw_character(term, x, y);
+ let k = match term.read() {
Some(key) => key,
None => break,
};
- draw_ground(w, x, y);
+ draw_ground(term, x, y);
match k {
KeyCharacter('q') | KeyEscape => { break }
@@ -57,7 +55,7 @@ fn main () {
KeyCharacter('k') | KeyUp if y > 0 => { y -= 1 }
KeyCharacter('l') | KeyRight if x < cols - 1 => { x += 1 }
- KeyCharacter(' ') => { w.cursor(cursor); cursor = !cursor }
+ KeyCharacter(' ') => { term.cursor(cursor); cursor = !cursor }
_ => { }
}