如何将点带到画布中的正确位置?
let canvas = []
let canvasHeight = process.stdout.getWindowSize()[1] -25
let canvasWidth = process.stdout.getWindowSize()[0]
function createCanvas (){
for(i = 0; canvasHeight > i; i++){
const row = []
for(j = 0; canvasWidth > j; j++){
row.push(" ")
}
canvas.push(row)
}
}
createCanvas()
function createAPointIntoTheCanvas (x,y) {
if(x>= 0 &&x < canvasWidth && y >= 0 && y < canvasHeight){
canvas[x][y] = "+"
}
}
createAPointIntoTheCanvas(5,5)
console.log(canvas.join(" "))
问题在于该点被写入画布,但写入了错误的位置。用 NodeJs 编写
PS:请将源码复制到js文件中。然后以节点 nameOfYourFile.js 启动文件。
问题一定出在这一行:
let canvasHeight = process.stdout.getWindowSize()[1] -25
如果窗口很小,则高度为 0。 如果我手动设置宽度和高度,您的代码就可以工作。
let canvas = []
let canvasHeight = 5 //process.stdout.getWindowSize()[1] -25
let canvasWidth = 5 //process.stdout.getWindowSize()[0]
//...
createCanvas()
createAPointIntoTheCanvas(2,2)
console.log(canvas)