From 032d4f98c809bde6231ff78ba50e8c244334739f Mon Sep 17 00:00:00 2001 From: tom Date: Fri, 20 Nov 2015 15:23:18 -0600 Subject: made guys randomly walk around and a timeout on getch --- inc/List.hpp | 4 ++++ src/List.cpp | 32 +++++++++++++++++++++++++++++++- src/Screen.cpp | 1 + src/main.cpp | 1 + 4 files changed, 37 insertions(+), 1 deletion(-) diff --git a/inc/List.hpp b/inc/List.hpp index 5f83846..e997391 100644 --- a/inc/List.hpp +++ b/inc/List.hpp @@ -4,6 +4,9 @@ #include "Character.hpp" #include #include +#include +#include + using namespace std; class List @@ -11,6 +14,7 @@ class List public: List(); void draw(WINDOW * w); + void actions(); private: vector men; }; diff --git a/src/List.cpp b/src/List.cpp index ec2495c..c0d956f 100644 --- a/src/List.cpp +++ b/src/List.cpp @@ -6,7 +6,8 @@ List::List() { Character x ('@',4,150,150+i); men.push_back(x); - } + } + srand(time(NULL)); } void List::draw(WINDOW * w) @@ -14,3 +15,32 @@ void List::draw(WINDOW * w) for(int i = 0; i < 10; i++) men[i].draw(w); } + +void List::actions() +{ + for(int i = 0; i < 10; i++) + { + int x = men[i].getRow(); + int y = men[i].getCol(); + int r = rand()%15+1; + if(r==1) + men[i].move(x+1,y); + else if(r==2) + men[i].move(x-1,y); + else if(r==3) + men[i].move(x,y+1); + else if(r==4) + men[i].move(x,y-1); + else if(r==5) + men[i].move(x+1,y+1); + else if(r==6) + men[i].move(x-1,y-1); + else if(r==7) + men[i].move(x+1,y-1); + else if(r==8) + men[i].move(x-1,y+1); + else + continue; + } + +} diff --git a/src/Screen.cpp b/src/Screen.cpp index 6f82b8c..9d0a72c 100644 --- a/src/Screen.cpp +++ b/src/Screen.cpp @@ -9,6 +9,7 @@ Screen::Screen() keypad(stdscr,TRUE); curs_set(0); getmaxyx(stdscr,height,width); + timeout(100); start_color(); init_pair(1, COLOR_GREEN, COLOR_BLACK); diff --git a/src/main.cpp b/src/main.cpp index 1066d08..93693ee 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -29,6 +29,7 @@ int main() else if (c == 'q') break; + L.actions(); map.fillWindow(); L.draw(map.getWin()); cursor.draw(map.getWin()); -- cgit v1.2.3