for文の中にfor文で2回じゃないの?

print(val);
//2回しか反復されな
printしたらNONE2回表示されたよ

あと折角ENUMにしたのに、

int[,] tile = {
{0,1,1,1 },
{ 1,1,1,1}
これに使わんの意味ないやん

多次元配列はややこしいから、まずやりたいことを
1次元配列にしてみては?