From b40adcc3db5f05021270f27d6576e667a1aa83ae Mon Sep 17 00:00:00 2001 From: Anselme Date: Tue, 17 May 2016 17:15:07 +0200 Subject: [PATCH] map now supports the team information, coord is now in a separate header --- generators/anselme.cpp | 30 ++++-------------- generators/anselme.dll | Bin 43834 -> 0 bytes generators/hello.dll | Bin 43091 -> 0 bytes src/coord.h | 68 +++++++++++++++++++++++++++++++++++++++++ src/map.cpp | 14 +++++---- src/map.h | 28 +++++++++++++++-- src/team.h | 60 +----------------------------------- teams/plop.dll | Bin 43078 -> 0 bytes teams/truc.dll | Bin 43078 -> 0 bytes 9 files changed, 109 insertions(+), 91 deletions(-) delete mode 100644 generators/anselme.dll delete mode 100644 generators/hello.dll create mode 100644 src/coord.h delete mode 100644 teams/plop.dll delete mode 100644 teams/truc.dll diff --git a/generators/anselme.cpp b/generators/anselme.cpp index 9d0b6d7..f3c485b 100644 --- a/generators/anselme.cpp +++ b/generators/anselme.cpp @@ -1,25 +1,10 @@ #include #include #include +#include // g++ -shared anselme.cpp -o anselme.dll -I../src -// functions -int distance_manhattan(int x1,int y1, int x2, int y2) -{ - return abs(x1-x2) + abs(y1-y2); -} - -inline int custom_min(int a, int b) -{ - return a < b ? a : b; -} - -inline int custom_max(int a, int b) -{ - return a > b ? a : b; -} - extern "C" void generate(Map *mapPtr) { Map &map = *mapPtr; @@ -30,21 +15,18 @@ extern "C" void generate(Map *mapPtr) int r = (w/n < h ? w/n : h)/2; int *teamCoord = new int[n*2]; - for(i=0; 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 KI!?$>q5ePX)L{z% diff --git a/generators/hello.dll b/generators/hello.dll deleted file mode 100644 index d39bc3c6be3217e4e160419792cf0dcd4c73ae6f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 43091 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 diff --git a/src/coord.h b/src/coord.h new file mode 100644 index 0000000..9282d73 --- /dev/null +++ b/src/coord.h @@ -0,0 +1,68 @@ +#ifndef COORD_H +#define COORD_H + +#include + +enum Dir { + NORTH, + EAST, + SOUTH, + WEST, + NO_DIR = -1 +}; + +struct Coord +{ + int x; + int y; + + Coord(const Coord &c) : + x(c.x), y(c.y) {} + Coord(int x, int y) : + x(x), y(y) {} + Coord(int val) : + x(val), y(val) {} + Coord(Dir d = NO_DIR) + { + switch(d) + { + case NORTH : x= 0; y=-1; break; + case SOUTH : x= 0; y= 1; break; + case WEST : x=-1; y= 0; break; + case EAST : x= 1; y= 0; break; + default : x= 0; y= 0; break; + } + } + Coord operator+(const Coord &c) const + { return Coord(x+c.x, y+c.y);} + Coord& operator+=(const Coord &c) + { x+=c.x; y+=c.y; return *this; } + Coord operator+(Dir d) const + { return *this + Coord(d); } + Coord& operator+=(Dir d) + { return *this += Coord(d); } + Coord operator-(const Coord &c) const + { return Coord(x-c.x, y-c.y); } + Coord& operator-=(const Coord &c) + { x-=c.x; y-=c.y; return *this; } + Coord operator*(const Coord &c) const + { return Coord(x*c.x, y*c.y); } + Coord& operator*=(const Coord &c) + { x*=c.x; y*=c.y; return *this; } + Coord operator/(const Coord &c) const + { return Coord(x/c.x, y/c.y); } + Coord& operator/=(const Coord &c) + { x/=c.x; y/=c.y; return *this; } + int dist() const // manhatthan distance + { return abs(x) + abs(y); } + int operator~() const + { return dist(); } + static dist(const Coord &c1, const Coord &c2) + { return ~(c1-c2); } + int dist(const Coord &c) const + { return dist(*this, c); } + int dist(int x, int y) const + { return dist(*this, Coord(x, y)); } +}; + +#endif // COORD_H diff --git a/src/map.cpp b/src/map.cpp index 836f3b2..12692cd 100644 --- a/src/map.cpp +++ b/src/map.cpp @@ -8,14 +8,16 @@ Map::Map(int nbTeams, int width, int height) : { if(m_height == 0) m_height = m_width/2; - map = new Pixel*[m_width]; - Pixel *ptr = new Pixel[m_width*m_height]; - for(int i=0; i +#include "coord.h" #define DUDE_MEMORY_SIZE 128 #define LIBRARY_SIZE 128 #define COM_SIZE 32 -enum Dir { - NORTH, - EAST, - SOUTH, - WEST, - NO_DIR = -1 -}; - -struct Coord -{ - int x; - int y; - - Coord(const Coord &c) : - x(c.x), y(c.y) {} - Coord(int x, int y) : - x(x), y(y) {} - Coord(Dir d = NO_DIR) - { - switch(d) - { - case NORTH : x= 0; y=-1; break; - case SOUTH : x= 0; y= 1; break; - case WEST : x=-1; y= 0; break; - case EAST : x= 1; y= 0; break; - default : x= 0; y= 0; break; - } - } - Coord operator+(const Coord &c) const - { return Coord(x+c.x, y+c.y);} - Coord& operator+=(const Coord &c) - { x+=c.x; y+=c.y; return *this; } - Coord operator+(Dir d) const - { return *this + Coord(d); } - Coord& operator+=(Dir d) - { return *this += Coord(d); } - Coord operator-(const Coord &c) const - { return Coord(x-c.x, y-c.y); } - Coord& operator-=(const Coord &c) - { x-=c.x; y-=c.y; return *this; } - Coord operator*(const Coord &c) const - { return Coord(x*c.x, y*c.y); } - Coord& operator*=(const Coord &c) - { x*=c.x; y*=c.y; return *this; } - Coord operator/(const Coord &c) const - { return Coord(x/c.x, y/c.y); } - Coord& operator/=(const Coord &c) - { x/=c.x; y/=c.y; return *this; } - int dist() const // manhatthan distance - { return abs(x) + abs(y); } - int operator~() const - { return dist(); } - static dist(const Coord &c1, const Coord &c2) - { return ~(c1-c2); } - int dist(const Coord &c) const - { return dist(*this, c); } -}; - struct Com { enum Flags { diff --git a/teams/plop.dll b/teams/plop.dll deleted file mode 100644 index d3f0b3ad26d9c0207291bbdb886abcb04509e910..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 43078 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 a_Rsg2w_w48t;frnU3ur9K7fhe*8UqELe2gF diff --git a/teams/truc.dll b/teams/truc.dll deleted file mode 100644 index d3f0b3ad26d9c0207291bbdb886abcb04509e910..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 43078 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 a_Rsg2w_w48t;frnU3ur9K7fhe*8UqELe2gF