如何将点打印到画布的正确位置?用 NodeJS 制作

问题描述 投票:0回答:1

如何将点带到画布中的正确位置?

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 启动文件。

node.js canvas
1个回答
0
投票

问题一定出在这一行:

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)
© www.soinside.com 2019 - 2024. All rights reserved.