Created
October 4, 2018 20:32
-
-
Save edg-l/dce550680ad7f90e7025e0da2b6d5349 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| function(context, a) | |
| { | |
| a = a || {} | |
| var internalBuffer = [] | |
| var charPatterns = { | |
| a: [ | |
| [0, 0, 1, 0, 0], | |
| [0, 1, 0, 1, 0], | |
| [1, 0, 0, 0, 1], | |
| [1, 1, 1, 1, 1], | |
| [1, 0, 0, 0, 1], | |
| [1, 0, 0, 0, 1], | |
| [1, 0, 0, 0, 1] | |
| ], | |
| b: [ | |
| [1, 1, 1, 1, 0], | |
| [1, 0, 0, 0, 1], | |
| [1, 0, 0, 0, 1], | |
| [1, 1, 1, 1, 0], | |
| [1, 0, 0, 0, 1], | |
| [1, 0, 0, 0, 1], | |
| [1, 1, 1, 1, 0] | |
| ], | |
| c: [ | |
| [0, 1, 1, 1, 0], | |
| [1, 0, 0, 0, 1], | |
| [1, 0, 0, 0, 0], | |
| [1, 0, 0, 0, 0], | |
| [1, 0, 0, 0, 0], | |
| [1, 0, 0, 0, 1], | |
| [0, 1, 1, 1, 0] | |
| ], | |
| d: [ | |
| [1, 1, 1, 1, 0], | |
| [1, 0, 0, 0, 1], | |
| [1, 0, 0, 0, 1], | |
| [1, 0, 0, 0, 1], | |
| [1, 0, 0, 0, 1], | |
| [1, 0, 0, 0, 1], | |
| [1, 1, 1, 1, 0] | |
| ], | |
| e: [ | |
| [1, 1, 1, 1, 1], | |
| [1, 0, 0, 0, 0], | |
| [1, 0, 0, 0, 0], | |
| [1, 1, 1, 1, 0], | |
| [1, 0, 0, 0, 0], | |
| [1, 0, 0, 0, 0], | |
| [1, 1, 1, 1, 1] | |
| ], | |
| f: [ | |
| [1, 1, 1, 1, 1], | |
| [1, 0, 0, 0, 0], | |
| [1, 0, 0, 0, 0], | |
| [1, 1, 1, 1, 0], | |
| [1, 0, 0, 0, 0], | |
| [1, 0, 0, 0, 0], | |
| [1, 0, 0, 0, 0] | |
| ], | |
| g: [ | |
| [0, 1, 1, 1, 0], | |
| [1, 0, 0, 0, 1], | |
| [1, 0, 0, 0, 0], | |
| [1, 0, 0, 0, 0], | |
| [1, 0, 1, 1, 1], | |
| [1, 0, 0, 0, 1], | |
| [0, 1, 1, 1, 0] | |
| ], | |
| h: [ | |
| [1, 0, 0, 0, 1], | |
| [1, 0, 0, 0, 1], | |
| [1, 0, 0, 0, 1], | |
| [1, 1, 1, 1, 1], | |
| [1, 0, 0, 0, 1], | |
| [1, 0, 0, 0, 1], | |
| [1, 0, 0, 0, 1] | |
| ], | |
| i: [ | |
| [1, 1, 1, 1, 1], | |
| [0, 0, 1, 0, 0], | |
| [0, 0, 1, 0, 0], | |
| [0, 0, 1, 0, 0], | |
| [0, 0, 1, 0, 0], | |
| [0, 0, 1, 0, 0], | |
| [1, 1, 1, 1, 1] | |
| ], | |
| j: [ | |
| [1, 1, 1, 1, 1], | |
| [0, 0, 0, 1, 0], | |
| [0, 0, 0, 1, 0], | |
| [0, 0, 0, 1, 0], | |
| [1, 0, 0, 1, 0], | |
| [1, 0, 0, 1, 0], | |
| [0, 1, 1, 0, 0] | |
| ], | |
| k: [ | |
| [1, 0, 0, 0, 1], | |
| [1, 0, 0, 1, 0], | |
| [1, 0, 1, 0, 0], | |
| [1, 1, 0, 0, 0], | |
| [1, 0, 1, 0, 0], | |
| [1, 0, 0, 1, 0], | |
| [1, 0, 0, 0, 1] | |
| ], | |
| l: [ | |
| [1, 0, 0, 0, 0], | |
| [1, 0, 0, 0, 0], | |
| [1, 0, 0, 0, 0], | |
| [1, 0, 0, 0, 0], | |
| [1, 0, 0, 0, 0], | |
| [1, 0, 0, 0, 0], | |
| [1, 1, 1, 1, 1] | |
| ], | |
| m: [ | |
| [1, 0, 0, 0, 1], | |
| [1, 1, 0, 1, 1], | |
| [1, 0, 1, 0, 1], | |
| [1, 0, 0, 0, 1], | |
| [1, 0, 0, 0, 1], | |
| [1, 0, 0, 0, 1], | |
| [1, 0, 0, 0, 1] | |
| ], | |
| n: [ | |
| [1, 0, 0, 0, 1], | |
| [1, 1, 0, 0, 1], | |
| [1, 0, 1, 0, 1], | |
| [1, 0, 0, 1, 1], | |
| [1, 0, 0, 0, 1], | |
| [1, 0, 0, 0, 1], | |
| [1, 0, 0, 0, 1] | |
| ], | |
| o: [ | |
| [0, 1, 1, 1, 0], | |
| [1, 0, 0, 0, 1], | |
| [1, 0, 0, 0, 1], | |
| [1, 0, 0, 0, 1], | |
| [1, 0, 0, 0, 1], | |
| [1, 0, 0, 0, 1], | |
| [0, 1, 1, 1, 0] | |
| ], | |
| p: [ | |
| [1, 1, 1, 1, 0], | |
| [1, 0, 0, 0, 1], | |
| [1, 0, 0, 0, 1], | |
| [1, 1, 1, 1, 0], | |
| [1, 0, 0, 0, 0], | |
| [1, 0, 0, 0, 0], | |
| [1, 0, 0, 0, 0] | |
| ], | |
| q: [ | |
| [0, 1, 1, 1, 0], | |
| [1, 0, 0, 0, 1], | |
| [1, 0, 0, 0, 1], | |
| [1, 0, 0, 0, 1], | |
| [1, 0, 1, 0, 1], | |
| [1, 0, 0, 1, 1], | |
| [0, 1, 1, 1, 0] | |
| ], | |
| r: [ | |
| [1, 1, 1, 1, 0], | |
| [1, 0, 0, 0, 1], | |
| [1, 0, 0, 0, 1], | |
| [1, 1, 1, 1, 0], | |
| [1, 0, 1, 0, 0], | |
| [1, 0, 0, 1, 0], | |
| [1, 0, 0, 0, 1] | |
| ], | |
| s: [ | |
| [0, 1, 1, 1, 0], | |
| [1, 0, 0, 0, 1], | |
| [1, 0, 0, 0, 0], | |
| [0, 1, 1, 1, 0], | |
| [0, 0, 0, 0, 1], | |
| [0, 0, 0, 0, 1], | |
| [1, 1, 1, 1, 0] | |
| ], | |
| t: [ | |
| [1, 1, 1, 1, 1], | |
| [0, 0, 1, 0, 0], | |
| [0, 0, 1, 0, 0], | |
| [0, 0, 1, 0, 0], | |
| [0, 0, 1, 0, 0], | |
| [0, 0, 1, 0, 0], | |
| [0, 0, 1, 0, 0] | |
| ], | |
| u: [ | |
| [1, 0, 0, 0, 1], | |
| [1, 0, 0, 0, 1], | |
| [1, 0, 0, 0, 1], | |
| [1, 0, 0, 0, 1], | |
| [1, 0, 0, 0, 1], | |
| [1, 0, 0, 0, 1], | |
| [0, 1, 1, 1, 0] | |
| ], | |
| v: [ | |
| [1, 0, 0, 0, 1], | |
| [1, 0, 0, 0, 1], | |
| [1, 0, 0, 0, 1], | |
| [1, 0, 0, 0, 1], | |
| [1, 0, 0, 0, 1], | |
| [0, 1, 0, 1, 0], | |
| [0, 0, 1, 0, 0] | |
| ], | |
| w: [ | |
| [1, 0, 0, 0, 1], | |
| [1, 0, 0, 0, 1], | |
| [1, 0, 0, 0, 1], | |
| [1, 0, 1, 0, 1], | |
| [1, 0, 1, 0, 1], | |
| [1, 0, 1, 0, 1], | |
| [0, 1, 0, 1, 0] | |
| ], | |
| x: [ | |
| [1, 0, 0, 0, 1], | |
| [1, 0, 0, 0, 1], | |
| [0, 1, 0, 1, 0], | |
| [0, 0, 1, 0, 0], | |
| [0, 1, 0, 1, 0], | |
| [1, 0, 0, 0, 1], | |
| [1, 0, 0, 0, 1] | |
| ], | |
| y: [ | |
| [1, 0, 0, 0, 1], | |
| [1, 0, 0, 0, 1], | |
| [0, 1, 0, 1, 0], | |
| [0, 0, 1, 0, 0], | |
| [0, 0, 1, 0, 0], | |
| [0, 0, 1, 0, 0], | |
| [0, 0, 1, 0, 0] | |
| ], | |
| z: [ | |
| [1, 1, 1, 1, 1], | |
| [0, 0, 0, 0, 1], | |
| [0, 0, 0, 1, 0], | |
| [0, 0, 1, 0, 0], | |
| [0, 1, 0, 0, 0], | |
| [1, 0, 0, 0, 0], | |
| [1, 1, 1, 1, 1] | |
| ], | |
| "!": [ | |
| [0, 1, 0, 0, 0], | |
| [0, 1, 0, 0, 0], | |
| [0, 1, 0, 0, 0], | |
| [0, 1, 0, 0, 0], | |
| [0, 1, 0, 0, 0], | |
| [0, 0, 0, 0, 0], | |
| [0, 1, 0, 0, 0] | |
| ], | |
| "'": [ | |
| [0, 1, 1, 0, 0], | |
| [0, 1, 0, 0, 0], | |
| [0, 1, 0, 0, 0], | |
| [0, 0, 0, 0, 0], | |
| [0, 0, 0, 0, 0], | |
| [0, 0, 0, 0, 0], | |
| [0, 0, 0, 0, 0] | |
| ], | |
| ")": [ | |
| [1, 0, 0, 0, 0], | |
| [0, 1, 0, 0, 0], | |
| [0, 0, 1, 0, 0], | |
| [0, 0, 1, 0, 0], | |
| [0, 0, 1, 0, 0], | |
| [0, 0, 1, 0, 0], | |
| [0, 0, 1, 0, 0], | |
| [0, 1, 0, 0, 0], | |
| [1, 0, 0, 0, 0] | |
| ], | |
| "(": [ | |
| [0, 0, 0, 0, 1], | |
| [0, 0, 0, 1, 0], | |
| [0, 0, 1, 0, 0], | |
| [0, 0, 1, 0, 0], | |
| [0, 0, 1, 0, 0], | |
| [0, 0, 1, 0, 0], | |
| [0, 0, 1, 0, 0], | |
| [0, 0, 0, 1, 0], | |
| [0, 0, 0, 0, 1] | |
| ], | |
| "[": [ | |
| [1, 1, 1, 1, 0], | |
| [1, 0, 0, 0, 0], | |
| [1, 0, 0, 0, 0], | |
| [1, 0, 0, 0, 0], | |
| [1, 0, 0, 0, 0], | |
| [1, 0, 0, 0, 0], | |
| [1, 0, 0, 0, 0], | |
| [1, 0, 0, 0, 0], | |
| [1, 1, 1, 1, 0] | |
| ], | |
| "]": [ | |
| [1, 1, 1, 1, 0], | |
| [0, 0, 0, 1, 0], | |
| [0, 0, 0, 1, 0], | |
| [0, 0, 0, 1, 0], | |
| [0, 0, 0, 1, 0], | |
| [0, 0, 0, 1, 0], | |
| [0, 0, 0, 1, 0], | |
| [0, 0, 0, 1, 0], | |
| [1, 1, 1, 1, 0] | |
| ] | |
| } | |
| var Renderer = { | |
| initialize(x, y, fill = " ") { | |
| internalBuffer = new Array(y) | |
| for(var i = 0; i < y; i++) { | |
| internalBuffer[i] = new Array(x).fill(fill) | |
| } | |
| }, | |
| isCoordInDisplay(x, y) { | |
| if(x < 0 || y < 0 || x >= internalBuffer[0].length || y >= internalBuffer.length) | |
| return false | |
| else | |
| return true | |
| }, | |
| get displaySize() { | |
| return { | |
| y: internalBuffer.length, | |
| x: internalBuffer[0].length | |
| } | |
| }, | |
| render() { | |
| let str = "" | |
| for(var x in internalBuffer) { | |
| str += internalBuffer[x].join("") | |
| str += "\n" | |
| } | |
| return str | |
| }, | |
| clear(clearChar = " ") { | |
| for(var i = 0; i < internalBuffer.length; i++) { | |
| internalBuffer[i] = new Array(internalBuffer[i].length).fill(clearChar) | |
| } | |
| }, | |
| setPixel(x, y, char, color) { | |
| if(Renderer.isCoordInDisplay(x, y)) | |
| internalBuffer[y][x] = "`" + color + char + "`" | |
| }, | |
| draw(drawable) { | |
| switch(drawable.type) { | |
| case "BASE_RECT": { | |
| for(var i = drawable.y; i < (drawable.y + drawable.h); i++) { | |
| for(var j = drawable.x; j < (drawable.x + drawable.w); j++) { | |
| if(i == drawable.y || i == (drawable.y + drawable.h - 1) || j == drawable.x || j == (drawable.x + drawable.w - 1)) { | |
| Renderer.setPixel(j, i, drawable.char, drawable.color) | |
| } | |
| } | |
| } | |
| break | |
| } | |
| case "FILL_RECT": { | |
| for(var i = drawable.y; i < (drawable.y + drawable.h); i++) { | |
| for(var j = drawable.x; j < (drawable.x + drawable.w); j++) { | |
| Renderer.setPixel(j, i, drawable.char, drawable.color) | |
| } | |
| } | |
| break | |
| } | |
| case "BASE_CIRCLE": { | |
| // https://en.wikipedia.org/wiki/Midpoint_circle_algorithm | |
| var x = drawable.radius - 1 | |
| var y = 0 | |
| var dx = 1 | |
| var dy = 1 | |
| var err = dx - (drawable.radius << 1) | |
| while(x >= y) { | |
| Renderer.setPixel(center.x + x, drawable.y + y, drawable.char, drawable.char) | |
| Renderer.setPixel(drawable.x + y, drawable.y + x, drawable.char, drawable.char) | |
| Renderer.setPixel(drawable.x - y, drawable.y + x, drawable.char, drawable.char) | |
| Renderer.setPixel(drawable.x - x, drawable.y + y, drawable.char, drawable.char) | |
| Renderer.setPixel(drawable.x - x, drawable.y - y, drawable.char, drawable.char) | |
| Renderer.setPixel(drawable.x - y, drawable.y - x, drawable.char, drawable.char) | |
| Renderer.setPixel(drawable.x + y, drawable.y - x, drawable.char, drawable.char) | |
| Renderer.setPixel(drawable.x + x, drawable.y - y, drawable.char, drawable.char) | |
| if(err <= 0) { | |
| y++ | |
| err += dy | |
| dy += 2 | |
| } | |
| if(err > 0) { | |
| x-- | |
| dx += 2 | |
| err += dx - (drawable.radius << 1) | |
| } | |
| } | |
| break | |
| } | |
| case "BASE_LINE": { | |
| var from = Renderer.createPoint(drawable.x, drawable.y) | |
| var to = Renderer.createPoint(drawable.x1, drawable.y1) | |
| if(from.x > to.x) { | |
| var temp = from | |
| from = to | |
| to = temp | |
| } | |
| let deltax = to.x - from.x | |
| let deltay = to.y - from.y | |
| if(from.x === to.x) { | |
| /* Vertical line */ | |
| for(var y = from.y; y <= to.y; y++) { | |
| Renderer.setPixel(from.x, y, drawable.char, drawable.color) | |
| } | |
| return | |
| } | |
| let deltaerr = Math.abs(deltay / deltax) /* Assume deltax != 0 i.e line is not vertical */ | |
| let error = 0 /* no error at start */ | |
| var y = from.y | |
| for(var x = from.x; x <= to.x; x++) { | |
| Renderer.setPixel(x, y, drawable.char, drawable.color) | |
| error += deltaerr | |
| if(error >= 0.5) { | |
| y += Math.sign(deltay) * 1 | |
| error -= 1.0 | |
| } | |
| } | |
| break | |
| } | |
| case "PATTERN": { | |
| for(var i = 0; i < drawable.pattern.length; i++) { | |
| for(var j = 0; j < drawable.pattern[0].length; j++) { | |
| if(drawable.pattern[i][j] > 0) { | |
| Renderer.setPixel(drawable.x + j, drawable.y + i, drawable.chars[drawable.pattern[i][j] - 1], drawable.color) | |
| } | |
| } | |
| } | |
| break | |
| } | |
| case "BASE_STRING": { | |
| var lines = drawable.str.split("\n") | |
| var y = drawable.y | |
| var index = 0 | |
| for(var i in lines) { | |
| var line = lines[i] | |
| index = 0 | |
| for(var x = drawable.x; x < drawable.x + line.length; x++) { | |
| Renderer.setPixel(x, y, line[index], drawable.color) | |
| index++ | |
| } | |
| y++ | |
| } | |
| break | |
| } | |
| case "ASCII_STRING": { | |
| var curpos = Renderer.createPoint(drawable.x, drawable.y) | |
| for(var i = 0; i < drawable.str.length; i++) { | |
| var c = drawable.str[i].toLowerCase(); | |
| if("\n ()[]".indexOf(c) !== -1) { | |
| if(c === "\n") { | |
| curpos.y += 9 | |
| curpos.x = drawable.x | |
| } | |
| if(c === " ") { | |
| curpos.x += 2 | |
| } | |
| if("()[]".indexOf(c) !== -1) { | |
| var pattern = charPatterns[c] | |
| Renderer.drawPattern(pattern, Renderer.createPoint(curpos.x, curpos.y - 1), drawable.char, drawable.color) | |
| curpos.x += 6 | |
| } | |
| } else { | |
| var pattern = charPatterns[c] | |
| Renderer.drawPattern(pattern, curpos, drawable.char, drawable.color) | |
| curpos.x += 6 | |
| } | |
| } | |
| break | |
| } | |
| } | |
| }, | |
| Rect(x, y, w, h, char = "0", color = "F") { | |
| return { | |
| x: x, | |
| y: y, | |
| w: w, | |
| h: h, | |
| char: char, | |
| color: color, | |
| type: "BASE_RECT" | |
| } | |
| }, | |
| FilledRect(x, y, w, h, char = "0", color = "F") { | |
| return { | |
| x: x, | |
| y: y, | |
| w: w, | |
| h: h, | |
| char: char, | |
| color: color, | |
| type: "FILL_RECT" | |
| } | |
| }, | |
| Point(x, y) { | |
| return { | |
| x: x, | |
| y: y, | |
| type: "BASE_POINT" | |
| } | |
| }, | |
| Line(x, y, x1, y1, char = "0", color = "F") { | |
| return { | |
| x: x, | |
| y: y, | |
| x1: x1, | |
| y1: y1, | |
| char: char, | |
| color: color, | |
| type: "BASE_LINE" | |
| } | |
| }, | |
| Circle(x, y, radius, char = "0", color = "F") { | |
| return { | |
| x: x, | |
| y: y, | |
| radius: radius, | |
| char: char, | |
| color: color, | |
| type: "BASE_CIRCLE" | |
| } | |
| }, | |
| Pattern(x, y, array_2d, chars = ["0"], color = "F") { | |
| return { | |
| x: x, | |
| y: y, | |
| pattern: array_2d, | |
| chars: chars, | |
| color: color, | |
| type: "PATTERN" | |
| } | |
| }, | |
| AsciiString(x, y, str, char = "0", color = "F") { | |
| return { | |
| x: x, | |
| y: y, | |
| str: str, | |
| char: char, | |
| color: color, | |
| type: "ASCII_STRING" | |
| } | |
| }, | |
| String(x, y, str, color = "F") { | |
| return { | |
| x: x, | |
| y: y, | |
| str: str, | |
| color: color, | |
| type: "BASE_STRING" | |
| } | |
| } | |
| } | |
| if(context.calling_script !== null) { | |
| return Renderer | |
| } | |
| return ` | |
| \`FThis script is intended to be used within a script for now.\` | |
| \`FFeel free to donate to \`\`Tryo\`\`F if you like the script :)\` | |
| \`CVersion\`: \`T1.2.0\` | |
| \`ADocumentation\`: | |
| \`Finitialize\`(\`Nwidth\`: \`snumber\`, \`Nheight\`: \`snumber\`, \`Nfill?\`: \`sstring\`): \`Avoid\`; | |
| \`FisCoordInDisplay\`(\`Nx\`: \`snumber\`, \`Ny\`: \`snumber\`): \`Aboolean\`; | |
| \`Treadonly\` \`FdisplaySize\`: \`S{\` | |
| [\`Nx\`: \`sstring\`]: \`sany\`; | |
| \`Ny\`: \`snumber\`; | |
| \`Nx\`: \`snumber\`; | |
| }; | |
| \`Frender\`(): \`sstring\`; | |
| \`Fclear\`(\`NclearChar?\`: \`sstring\`): \`Avoid\`; | |
| \`Fdraw\`(\`Ndrawable\`: \`sany\`): \`Avoid\`; | |
| \`FsetPixel\`(\`Nx\`: \`snumber\`, \`Ny\`: \`snumber\`, \`Nchar\`: \`sstring\`, \`Ncolor\`: \`sstring\`): \`Avoid\`; | |
| \`ADrawables:\` | |
| \`LRect\`(\`Nx\`: \`snumber\`, \`Ny\`: \`snumber\`, \`Nw\`: \`snumber\`, \`Nh\` \`snumber\`, \`Nchar?\`: \`sstring\`, \`Ncolor?\`: \`sstring\`): { | |
| [\`Nx\`: \`sstring\`]: \`sany\`; | |
| \`Nx\`: \`snumber\`; | |
| \`Ny\`: \`snumber\`; | |
| \`Nw\`: \`snumber\`; | |
| \`Nh\` \`snumber\`; | |
| \`Nchar\`: \`sstring\`; | |
| \`Ncolor\`: \`sstring\`; | |
| \`Ntype\`: \`sstring\`; | |
| }; | |
| \`LFilledRect\`(\`Nx\`: \`snumber\`, \`Ny\`: \`snumber\`, \`Nw\`: \`snumber\`, \`Nh\` \`snumber\`, \`Nchar?\`: \`sstring\`, \`Ncolor?\`: \`sstring\`): { | |
| [\`Nx\`: \`sstring\`]: \`sany\`; | |
| \`Nx\`: \`snumber\`; | |
| \`Ny\`: \`snumber\`; | |
| \`Nw\`: \`snumber\`; | |
| \`Nh\`: \`snumber\`; | |
| \`Nchar\`: \`sstring\`; | |
| \`Ncolor\`: \`sstring\`; | |
| \`Ntype\`: \`sstring\`; | |
| }; | |
| \`LPoint\`(\`Nx\`: \`snumber\`, \`Ny\`: \`snumber\`): { | |
| [\`Nx\`: \`sstring\`]: \`sany\`; | |
| \`Nx\`: \`snumber\`; | |
| \`Ny\`: \`snumber\`; | |
| \`Ntype\`: \`sstring\`; | |
| }; | |
| \`LLine\`(\`Nx\`: \`snumber\`, \`Ny\`: \`snumber\`, \`Nx1\`: \`snumber\`, \`Ny1\`: \`snumber\`, \`Nchar?\`: \`sstring\`, \`Ncolor?\`: \`sstring\`): { | |
| [\`Nx\`: \`sstring\`]: \`sany\`; | |
| \`Nx\`: \`snumber\`; | |
| \`Ny\`: \`snumber\`; | |
| \`Nx1\`: \`snumber\`; | |
| \`Ny1\`: \`snumber\`; | |
| \`Nchar\`: \`sstring\`; | |
| \`Ncolor\`: \`sstring\`; | |
| \`Ntype\`: \`sstring\`; | |
| }; | |
| \`LCircle\`(\`Nx\`: \`snumber\`, \`Ny\`: \`snumber\`, \`Nradius\`: \`snumber\`, \`Nchar?\`: \`sstring\`, \`Ncolor?\`: \`sstring\`): { | |
| [\`Nx\`: \`sstring\`]: \`sany\`; | |
| \`Nx\`: \`snumber\`; | |
| \`Ny\`: \`snumber\`; | |
| \`Nradius\`: \`snumber\`; | |
| \`Nchar\`: \`sstring\`; | |
| \`Ncolor\`: \`sstring\`; | |
| \`Ntype\`: \`sstring\`; | |
| }; | |
| \`LPattern\`(\`Nx\`: \`snumber\`, \`Ny\`: \`snumber\`, \`Narray_2d\`: \`sany[]\`, \`Nchars?\`: \`sstring[]\`, \`Ncolor?\`: \`sstring\`): { | |
| [\`Nx\`: \`sstring\`]: \`sany\`; | |
| \`Nx\`: \`snumber\`; | |
| \`Ny\`: \`snumber\`; | |
| \`Npattern\`: \`sany[]\`; | |
| \`Nchars\`: \`sstring[]\`; | |
| \`Ncolor\`: \`sstring\`; | |
| \`Ntype\`: \`sstring\`; | |
| }; | |
| \`LAsciiString\`(\`Nx\`: \`snumber\`, \`Ny\`: \`snumber\`, \`Nstr\`: \`sstring\`, \`Nchar?\`: \`sstring\`, \`Ncolor?\`: \`sstring\`): { | |
| [\`Nx\`: \`sstring\`]: \`sany\`; | |
| \`Nx\`: \`snumber\`; | |
| \`Ny\`: \`snumber\`; | |
| \`Nstr\`: \`sstring\`; | |
| \`Nchar\`: \`sstring\`; | |
| \`Ncolor\`: \`sstring\`; | |
| \`Ntype\`: \`sstring\`; | |
| }; | |
| \`LString\`(\`Nx\`: \`snumber\`, \`Ny\`: \`snumber\`, \`Nstr\`: \`sstring\`, \`Ncolor?\`: \`sstring\`): { | |
| [\`Nx\`: \`sstring\`]: \`sany\`; | |
| \`Nx\`: \`snumber\`; | |
| \`Ny\`: \`snumber\`; | |
| \`Nstr\`: \`sstring\`; | |
| \`Ncolor\`: \`sstring\`; | |
| \`Ntype\`: \`sstring\`; | |
| }; | |
| ` | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment