games/rogue/ui.js

41 lines
663 B
JavaScript

process.stdin.setRawMode(true)
process.stdin.resume()
process.stdin.setEncoding("utf8")
import Rogue from "./Rogue.js"
let game = new Rogue()
draw_state()
process.stdin.on("data", (key) => {
const command = key
game.apply_commad(command)
draw_state()
if (game.end) {
process.exit()
}
})
function draw_state() {
if (game.message){
console.log(game.message)
}
let screen = ''
for (let row = 0; row < game.level.length; row++) {
for (let col = 0; col < game.level.length; col++) {
if (row == game.y && col == game.x) {
screen += "@"
}
else {
screen += game.level[row][col]
}
}
screen += "\n"
}
console.log(screen)
}