Quindi:
var level1 = [
["?", "?", " ", " ", " ", " ", "?"],
["?", " ", "P", " ", "$", " ", " "],
["?", " ", " ", " ", "?", "?", " "],
["?", "?", " ", " ", "?", " ", " "],
["O", " ", " ", " ", "$", " ", " "],
["O", " ", " ", " ", " ", " ", "?"],
["?", " ", "?", "?", "?", "?", "?"],
];
Questa è la mia matrice iniziale. Se ho capito bene te diresti di gestire il P: per esempio se volessi spostarlo a destra (premo tasto destra della tastiera) e a destra ho un " ", imposto P nella cella accanto di destra mentre se ho un muro non può effettuare movimenti. Giusto?
Per farmi spostare il disegno del personaggio basta spostare P in un altra cella della matrice oppure ad ogni spostamento devo chiamare una funzione che mi aggiorni l'interfaccia della matrice?