#pragma once
#ifndef _MAP
#define _MAP

#ifndef W
#define W 6
#endif

#ifndef H
#define H 6
#endif

#define SIZE (W*H)
#define X(_I) ((_I)%W)
#define Y(_I) ((_I)/W)
#define I(_X,_Y) ((_X) + ((_Y)*W))
#define IN2(_X,_Y) ((_X)>=0 && (_X)<W && (_Y)>=0 && (_Y)<H)
#define IN(_I) ((_I)<SIZE && (_I) >= 0)
#define LEFT(_I) ((_I)%W>0 ? (_I)-1 : -1)
#define RIGHT(_I) ((_I)%W<W-1 ? (_I)+1 : -1)
#define UP(_I) ((_I)/W>0 ? (_I)-W : -1)
#define DOWN(_I) ((_I)/W < H-1 ? (_I)+W : -1)





#endif
