41 lines
663 B
JavaScript
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)
|
|
}
|
|
|