Código de um jogo de aventuras em texto

Abaixo está o código de toda a base para um jogo de aventura, com explorar cenários, interagir com objetos, acionar botões. Com um pouco de estudo  e imaginação pode-se criar uma grande aventura.

Salve código abaixo em um arquivo html e abra com um navegador de internet.

<!–
Copie no bloco de notas, salve como html, incremente salas e pluzzes
###################################################################################
“A LICENÇA BEER-WARE ou A LICENÇA DA CERVEJA” (Revisão 43 em Portugués Brasil): "andersondossantos@outlook.com" escreveu este arquivo. Enquanto esta nota estiver na coisa você poderá utilizá-la como quiser. Caso nos encontremos algum dia e você me reconheça e ache que esta coisa tem algum valor, você poderá me pagar uma cerveja em retribuição (ou mais de uma), Anderson “@kinrpg” Santos.
###################################################################################
–>
<html >
<head>
<title>O salão</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style>
body{
margin: 0 auto;
text-align:center;
background-color: #fec;
padding-top:1em;
}
#saida{
border: 1em solid #ccc;
border-radius: 2em;
padding: 1em;
margin:0 auto;
width: 480px;
height: 270px;
font-family:Sans-Serif;
font-size: 24px;
color:lime;
background-color: #000;
}
button{
border-radius: 5em;
margin: 1em;
padding: 1em;
width:86px;
}
</style>
<script>
var x = 0;
var y = 0;
var mapa = [
{
"descricao":"Você está na <b>Sala Principal</b>.",
"NORTE":"Não à nada aqui, apenas parede. Mas esta parede é suspeita.",
"SUL":"Não à nada aqui, apenas uma parede.",
"OESTE":"Não à nada aqui, apenas uma parede.",
"LESTE":"Você foi para a <b>Sala Segundaria</b>." 
},
{
"descricao":"<b>Sala Segundaria</b>.",
"NORTE":"Há um botão nesta parede. <br/><button onclick=\"acao(\'NORTE\');\">Apertar botão</button>",
"SUL":"Parede.",
"OESTE":"Você voltou para a <b>Sala Principal</b>.",
"LESTE":"Não à nada aqui, apenas uma parede." 
},
]
function mover(direcao){
if (x == 0 && direcao == mapa[x].LESTE){
x = 1; 
}
if (x == 1 && direcao == mapa[x].OESTE){
x = 0; 
}
document.getElementById("saida").innerHTML = "<P>" + direcao + "</P>";
};
function acao(d){
if ( x == 1 && d == "NORTE"){
mapa[0].NORTE = "Um quadro contendo a pintura de uma cesta de fruta está pendurada nesta parede.";
mapa[1].NORTE = "Há um botão nesta parede, quando pressionado nada mais acontece.";
document.getElementById("saida").innerHTML = "<P>" + "Você escuta um barulho vindo da sala principal." + "</P>";
}
};
</script>
</head>
<body>
<div id="saida">
<h2>Onde está o quadro?</h2>
<h3>Um jogo de aventura.</h3>
<p>Explore a casa para encontrar um quadro valioso.<p>
</div>
<button onclick="mover(mapa[x].descricao);">Investigar</button>
<button onclick="mover(mapa[x].NORTE);">NORTE</button>
<button onclick="mover(mapa[x].SUL)">SUL</button>
<button onclick="mover(mapa[x].OESTE)">OESTE</button>
<button onclick="mover(mapa[x].LESTE)">LESTE</button> 
</body>
</html>