Tworzysz obiekt mapy, ale nie uzywasz funkcji "Draw map' stąd mapa nie istnieje... a chces zdo niej cos przypisac
public static String[][] roomStates;
jest statyczna ale referencja jest null
bo
public void drawmap(int rows, int cols) {
roomStates = new String[][]{
//col1 col2 col3 col4
{empty, empty, empty, empty}, //row1
{empty, myslf, empty, empty}, //row2
{empty, empty, empty, empty}, //row3
{empty, empty, empty, empty}, //row4
{empty, empty, empty, empty}, //row5
{empty, empty, empty, empty}, //row6
{empty, empty, empty, empty} //row7
};
tu jest inicjalizacja, której nie wywołujesz... w kodzie main