第24天:按像素绘画🎨
我们几乎在终端上做了所有事情,除了……绘图!
这正是我们今天在终端画布的帮助下要做的事情。
让我们使用例如“deno add npm:terminal-canvas”来安装它,并创建一个脚本,例如“main.ts”:
import { Canvas } from "terminal-canvas"; const canvas = Canvas.create().reset(); for (let i = 8; i < 9; i++) { canvas.moveTo(i, 1); canvas.background("green").write(" "); } for (let i = 6; i < 11; i++) { canvas.moveTo(i, 2); canvas.background("green").write(" "); } for (let i = 4; i < 13; i++) { canvas.moveTo(i, 3); canvas.background("green").write(" "); } for (let i = 2; i < 15; i++) { canvas.moveTo(i, 4); canvas.background("green").write(" "); } for (let i = 6; i < 11; i++) { canvas.moveTo(i, 5); canvas.background("green").write(" "); } for (let i = 4; i < 13; i++) { canvas.moveTo(i, 6); canvas.background("green").write(" "); } for (let i = 2; i < 15; i++) { canvas.moveTo(i, 7); canvas.background("green").write(" "); } for (let i = 0; i < 17; i++) { canvas.moveTo(i, 8); canvas.background("green").write(" "); } for (let i = 6; i < 11; i++) { canvas.moveTo(i, 9); canvas.background("brown").write(" "); } canvas.flush() console.log(""); console.log("");
例如使用“deno run -A main.ts”运行并享受这棵小树:

但是树上根本没有装饰!这样不行!
我们将代码改为:
import { Canvas } from "terminal-canvas"; const canvas = Canvas.create().reset(); for (let i = 8; i < 9; i++) { canvas.moveTo(i, 1); canvas.background("green").write(" "); } for (let i = 6; i < 11; i++) { canvas.moveTo(i, 2); canvas.background("green").write(" "); } for (let i = 4; i < 13; i++) { canvas.moveTo(i, 3); canvas.background("green").write(" "); } for (let i = 2; i < 15; i++) { canvas.moveTo(i, 4); canvas.background("green").write(" "); } for (let i = 6; i < 11; i++) { canvas.moveTo(i, 5); canvas.background("green").write(" "); } for (let i = 4; i < 13; i++) { canvas.moveTo(i, 6); canvas.background("green").write(" "); } for (let i = 2; i < 15; i++) { canvas.moveTo(i, 7); canvas.background("green").write(" "); } for (let i = 0; i < 17; i++) { canvas.moveTo(i, 8); canvas.background("green").write(" "); } for (let i = 6; i < 11; i++) { canvas.moveTo(i, 9); canvas.background("brown").write(" "); } const colors = ["red", "cyan", "white", "yellow", "blue", "magenta"]; setInterval(() => { let x = Math.floor(Math.random() * colors.length); canvas.moveTo(2, 8); canvas.background(colors[x]).write(" "); canvas.moveTo(3, 8); canvas.background(colors[x]).write(" "); x = (x+1) % colors.length canvas.moveTo(5, 7); canvas.background(colors[x]).write(" "); canvas.moveTo(6, 7); canvas.background(colors[x]).write(" "); x = (x+1) % colors.length canvas.moveTo(11, 7); canvas.background(colors[x]).write(" "); canvas.moveTo(12, 7); canvas.background(colors[x]).write(" "); x = (x+1) % colors.length canvas.moveTo(8, 8); canvas.background(colors[x]).write(" "); canvas.moveTo(9, 8); canvas.background(colors[x]).write(" "); x = (x+1) % colors.length canvas.moveTo(13, 8); canvas.background(colors[x]).write(" "); canvas.moveTo(14, 8); canvas.background(colors[x]).write(" "); x = (x+1) % colors.length canvas.moveTo(8, 6); canvas.background(colors[x]).write(" "); canvas.moveTo(9, 6); canvas.background(colors[x]).write(" "); x = (x+1) % colors.length canvas.moveTo(9, 2); canvas.background(colors[x]).write(" "); canvas.moveTo(10, 2); canvas.background(colors[x]).write(" "); x = (x+1) % colors.length canvas.moveTo(5, 3); canvas.background(colors[x]).write(" "); canvas.moveTo(6, 3); canvas.background(colors[x]).write(" "); x = (x+1) % colors.length canvas.moveTo(11, 4); canvas.background(colors[x]).write(" "); canvas.moveTo(12, 4); canvas.background(colors[x]).write(" "); x = (x+1) % colors.length canvas.moveTo(6, 5); canvas.background(colors[x]).write(" "); canvas.moveTo(7, 5); canvas.background(colors[x]).write(" "); x = (x+1) % colors.length canvas.moveTo(8, 4); canvas.background(colors[x]).write(" "); canvas.moveTo(9, 4); canvas.background(colors[x]).write(" "); canvas.flush(); }, 40); console.log(""); console.log("");
你喜欢看到的吗?希望你喜欢!
节日快乐!
喜欢这些内容,并且希望全年能有更多这样的内容吗?
