diff options
-rw-r--r-- | inc/List.hpp | 4 | ||||
-rw-r--r-- | src/List.cpp | 32 | ||||
-rw-r--r-- | src/Screen.cpp | 1 | ||||
-rw-r--r-- | src/main.cpp | 1 |
4 files changed, 37 insertions, 1 deletions
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 <vector> #include <ncurses.h> +#include <ctime> +#include <cstdlib> + using namespace std; class List @@ -11,6 +14,7 @@ class List public: List(); void draw(WINDOW * w); + void actions(); private: vector <Character> 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()); |