///////////////////////////////////////////////////////////////
// labyrinth.h -- Labyrinth class 

#ifndef MY_LABYRINTH
#define MY_LABYRINTH

#include <iostream>
#include <fstream>

#include <string>
#include <stdlib.h>

#include "ct_windows.h"
#include "ct_graphics.h"
#include "ct_mouse.h"

const int LBR_SIZE = 20;
const int CELL_WIDTH = 20;
const int CELL_HEIGHT = 20;


using namespace std;

// kinds of objects in the labyrinth
enum { FREE = 1, WALL = 0, THREAD = 5, GOAL = 2, THESEUS = 3 };

class Labyrinth {
    char lbr[LBR_SIZE][LBR_SIZE];
public:
    void Draw();  // draw the entire labyrinth
    void Draw(int x, int y, int obj);
    void Put (int x, int y, int obj);
    void ReadFromFile(char * filename); 
    bool isFree(int x, int y);
    bool Contains(int x, int y, int obj);
    void Edit();  
};

#endif  // MY_LABYRINTH