diff options
author | Tom Barrett <tombarrett@siu.edu> | 2017-10-24 09:36:05 -0500 |
---|---|---|
committer | Tom Barrett <tombarrett@siu.edu> | 2017-10-24 09:36:05 -0500 |
commit | 1a0924b86bf4c4f542d9b7fbed5e05f8dbc373c9 (patch) | |
tree | ef7c57a78589c9a02f46a4af7bba81d67bc5e1ac /src/main.rs | |
parent | 1e77601579065df48a9b1d9daa9dba46522842ca (diff) |
-centering works more closely
Diffstat (limited to 'src/main.rs')
-rw-r--r-- | src/main.rs | 21 |
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(); |