summaryrefslogtreecommitdiff
path: root/src/map.h
blob: eda5fd874110c522fa9ff83e205c31d409ad38f4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#ifndef MAP_H
#define MAP_H

class Position;
class Cell;

class Map
{
public:
    Map( const Position &rpMax );
    virtual ~Map();

    Cell &operator[]( const Position &rpIdx ) const;
    Cell &operator[]( const Position &rpIdx );

    int getDims() const;
    int getSize( int iDim ) const;
    int getIndex( const Position &rpIdx ) const;
    bool isInside( const Position &rpIdx ) const;
    void connect( int iId1, int iId2 );

private:
    int iDims;
    int *aiSize;
    Cell *acMap;
};

#endif