From 260589abf40d3a0d02c5c472467858cc4c151e6a Mon Sep 17 00:00:00 2001 From: tom Date: Wed, 25 Nov 2015 16:05:41 -0600 Subject: allowed movement orders --- inc/Character.hpp | 4 ++-- inc/List.hpp | 1 + src/List.cpp | 6 ++++++ src/main.cpp | 6 ++++-- 4 files changed, 13 insertions(+), 4 deletions(-) diff --git a/inc/Character.hpp b/inc/Character.hpp index 3c88ab2..f519c3f 100644 --- a/inc/Character.hpp +++ b/inc/Character.hpp @@ -23,9 +23,9 @@ class Character void wander(vector men, vector impassable); Location getLocation(){return l;} char getSymbol(){return symbol;} - + void giveOrder(Location L){d = L;order="move";} private: - string order = "move"; + string order = "wander"; Location l; // current location Location d; // destination char symbol; diff --git a/inc/List.hpp b/inc/List.hpp index 447903b..56d25e9 100644 --- a/inc/List.hpp +++ b/inc/List.hpp @@ -14,6 +14,7 @@ class List List(vector i); void draw(WINDOW * w); void action(); + void order(Location l); private: vector men; vector impassable; diff --git a/src/List.cpp b/src/List.cpp index bd0f5d4..86049a3 100644 --- a/src/List.cpp +++ b/src/List.cpp @@ -24,3 +24,9 @@ void List::action() for(int i = 0; i < men.size(); i++) men[i].action(men,impassable); } + +void List::order(Location l) +{ + for(int i = 0; i < men.size(); i++) + men[i].giveOrder(l); +} diff --git a/src/main.cpp b/src/main.cpp index 75847a2..1588dbd 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -20,7 +20,7 @@ int main() while(true) { char c = getch(); - Location l = cursor.getLocation(); + l = cursor.getLocation(); if (c == 'h') l.y = l.y-1; else if (c == 'l') @@ -32,7 +32,9 @@ int main() else if (c == 'q') break; else if (c == 'p') - paused = !paused; + paused = !paused; + else if (c == 'o') + L.order(l); cursor.move(l); if (!paused) -- cgit v1.2.3