diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/Character.cpp | 8 | ||||
-rw-r--r-- | src/List.cpp | 9 |
2 files changed, 6 insertions, 11 deletions
diff --git a/src/Character.cpp b/src/Character.cpp index 8b4a4b5..0ab594b 100644 --- a/src/Character.cpp +++ b/src/Character.cpp @@ -13,7 +13,7 @@ void Character::draw(WINDOW * w) mvwaddch(w,l.x,l.y,symbol); } -Location Character::action(vector <Location> occupied) +Location Character::action(vector <Character> men) { if(order == "wander") { @@ -64,7 +64,7 @@ Location Character::action(vector <Location> occupied) Lo = l; } - if(check(Lo,occupied)) + if(check(Lo,men)) { move(Lo); return Lo; @@ -74,10 +74,10 @@ Location Character::action(vector <Location> occupied) } } -bool Character::check(Location L, vector <Location> occupied) +bool Character::check(Location L, vector <Character> men) { for(int i = 0; i < 10; i++) - if(L.x == occupied[i].x && L.y == occupied[i].y) + if(L.x == men[i].getLocation().x && L.y == men[i].getLocation().y) return false; return true; diff --git a/src/List.cpp b/src/List.cpp index ed09c5a..05a6f66 100644 --- a/src/List.cpp +++ b/src/List.cpp @@ -8,8 +8,7 @@ List::List() L.x = 150; L.y = 150+i; Character x ('@',4,L); - men.push_back(x); - occupied.push_back(x.getLocation()); + men.push_back(x); } } @@ -22,9 +21,5 @@ void List::draw(WINDOW * w) void List::action() { for(int i = 0; i < 10; i++) - { - Location L = men[i].action(occupied); - if (L.x != 0 && L.y != 0) - occupied[i]=L; - } + men[i].action(men); } |