/*=============================================================================
	  ___________
	 /           \		Par Martin Robinson
	|   @#!$*%    |		logiciel libre GPL
	 \_______   _/
	 		 \ |  ___________
	    	  \| |   O   O   |
				 |  _______  |
				 | | | | | | |
===============================================================================
Preprocesseur
=============================================================================*/

#pragma once
#ifndef level_deja
#define level_deja
#include "main.hpp"

#include "constchar.hpp"

/*=============================================================================
classe
==============================================================================*/

template <int _W, int _H>
class level{
	const char * _lvl;			//le tableau est dessiné ici,le template défini la largeur et hauteur
public:
    void init(const char * lvl);//initialisation
	const char at(int i);		//saisie du caractere a l'index demandé
	const char at(int, int);	//saisie du caractere au coordonné demandé
};

/*==============================================================================
methode
===============================================================================*/

//initialisation
template <int _W, int _H>
void level<_W,_H>::init(const char * lvl)
{
	_lvl = lvl;
}

//saisie du caractere au coordonné demandé
template <int _W, int _H>
const char level<_W,_H>::at(int x, int y)
{
	return getChar<_W,_H>(_lvl,x,y);
}

//saisie du caractere a l'index demandé
template <int _W, int _H>
const char level<_W,_H>::at(int i)
{
	return *(_lvl+i);
}

#endif
