run.js 451 B

12345678910111213141516171819
  1. const fs = require('fs')
  2. const { stdin, stdout } = require('./lib/stdin')
  3. const JSZM = require('./lib/jszm-async')
  4. const filename = './games/zork1.dat'
  5. const bytecode = fs.readFileSync(filename)
  6. const zm = new JSZM(bytecode)
  7. zm.print = stdout()
  8. zm.read = stdin()
  9. const main = async () => {
  10. let line = {value: '', done: false }
  11. const machine = await zm.run()
  12. await machine.next(line.value)
  13. process.exit()
  14. }
  15. main().catch(console.log)