summaryrefslogtreecommitdiff
path: root/src/main.rs
diff options
context:
space:
mode:
authorTom Barrett <tombarrett@siu.edu>2017-10-24 09:36:05 -0500
committerTom Barrett <tombarrett@siu.edu>2017-10-24 09:36:05 -0500
commit1a0924b86bf4c4f542d9b7fbed5e05f8dbc373c9 (patch)
treeef7c57a78589c9a02f46a4af7bba81d67bc5e1ac /src/main.rs
parent1e77601579065df48a9b1d9daa9dba46522842ca (diff)
-centering works more closely
Diffstat (limited to 'src/main.rs')
-rw-r--r--src/main.rs21
1 files changed, 14 insertions, 7 deletions
diff --git a/src/main.rs b/src/main.rs
index 81583b8..2e8ca3e 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -31,30 +31,37 @@ fn init() -> pancurses::Window {
fn main() {
let main = init();
-
let mut map = Map::new();
let mut view = View::new(main.get_max_yx(), &map.window);
- let cursor = Character::new('X', 3, Location{x:150,y:150});
- map.fill();
+ let mut cursor = Character::new('X', 3, Location{x:150,y:150});
+
let list = List::new(map.impassable.to_vec());
- list.draw(&map.window);
- cursor.draw(&map.window);
let paused = false;
loop{
match main.getch() {
- Some(Input::Character(c)) => break,
+ Some(Input::Character(c)) => {
+ match c {
+ 'h' => cursor.location.y -= 1,
+ 'l' => cursor.location.y += 1,
+ 'k' => cursor.location.x -= 1,
+ 'j' => cursor.location.x += 1,
+ 'q' => break,
+ _ => (),
+ }
+ },
_ => ()
}
if !paused {
list.action();
}
+
map.fill();
list.draw(&map.window);
cursor.draw(&map.window);
- view.center(cursor, map.window.get_max_yx());
+ view.center(cursor, &map.window);
}
endwin();