From 5c495b75f25c324b5e468d0aa80d0699bb5f3fd2 Mon Sep 17 00:00:00 2001 From: Tom Barrett Date: Wed, 25 Oct 2017 09:56:36 -0500 Subject: -moved drawing to the map and out of character -now will just compute free spaces at list level and pass to characters --- src/character.rs | 33 +++++++-------------------------- 1 file changed, 7 insertions(+), 26 deletions(-) (limited to 'src/character.rs') diff --git a/src/character.rs b/src/character.rs index 7d5e951..2f2289f 100644 --- a/src/character.rs +++ b/src/character.rs @@ -1,14 +1,11 @@ -extern crate pancurses; -use pancurses::ColorPair; - extern crate rand; use character::rand::Rng; use location::Location; pub struct Character{ - symbol : char, - color : u8, + pub symbol : char, + pub color : u8, pub location : Location, } @@ -28,28 +25,12 @@ impl Character { } } - pub fn draw(self, window : &pancurses::Window) { - window.attron(ColorPair(self.color)); - window.mvaddch(self.location.x, self.location.y, self.symbol); - } - - pub fn action(self, men : Vec, impassable : Vec){ - self.wander(men, impassable); - } - - fn wander(mut self, men : Vec, impassable : Vec){ - let direction = rand::thread_rng().gen_range(0,9); - let mut desired_location = self.location; - if direction == 0 { - desired_location.x = desired_location.x+1; - } - - if self.free_space(desired_location, men, impassable) { - self.location = desired_location; - } + pub fn action(&mut self, free_spaces : Vec){ + self.wander(free_spaces); } - fn free_space(self, location : Location, men : Vec, impassable : Vec) -> bool { - true + fn wander(&mut self, free_spaces : Vec){ + let direction = rand::thread_rng().gen_range(0,free_spaces.len()); + self.location = free_spaces[direction]; } } -- cgit v1.2.3