I'm not entirely sure about what you are trying to do but one thing that strikes me odd is that you have a Field map:int[50,50] inside a method - as far as I'm aware, if you want to declare a field in a type, it has to be done outside any methods or functions where all the other ones (e.g. Field width:Int) are declared.
I've got a feeling I'm missing the point entirely, but thought I'd mention it.
I've got a feeling I'm missing the point entirely, but thought I'd mention it.