const os = require("os") var logs = [] var info = [[],[]] function updateLog() { console.clear() const columns = process.stdout.columns; const rows = process.stdout.rows; const vertSplit = Math.round(rows/4) for (var i = 0; i < vertSplit; i++) { process.stdout.cursorTo(Math.round(columns/2),i); process.stdout.clearLine(); process.stdout.write(`|`) } for (var i = 0; i < columns; i++) { process.stdout.cursorTo(i, vertSplit) process.stdout.write(`=`) } process.stdout.cursorTo(0,0) process.stdout.write("Players:") const players = info[0] for (var i = 0; i < players.length; i++) { process.stdout.cursorTo(0,i+1) process.stdout.write(`Name: \x1b[1m${players[i].name}\x1b[0m -\x1b[1m ID:${players[i].id}\x1b[0m`) } for (var i = 0; i < logs.length; i++ ) { process.stdout.cursorTo(0,vertSplit+1+i) process.stdout.write(`${logs[i]}${os.EOL}` ) } } function log(string, color) { if (string == undefined) return; var prefix = ''; switch (color) { case "reset": prefix = "\x1b[0m" break; case "bright": prefix = "\x1b[1m" break; case "dim": prefix = "\x1b[2m" break; case "underscore": prefix = "\x1b[4m" break; case "reverse": prefix = "\x1b[7m" break; case "FgBlack": prefix = "\x1b[30m" break; case "FgRed": prefix = "\x1b[31m" break; case "FgGreen": prefix = "\x1b[32m" break; case "FgYellow": prefix = "\x1b[33m" break; case "FgBlue": prefix = "\x1b[34m" break; case "FgMagenta": prefix = "\x1b[35m" break; case "FgCyan": prefix = "\x1b[36m" break; case "FgWhite": prefix = "\x1b[37m" break; } // BgBlack = "\x1b[40m" // BgRed = "\x1b[41m" // BgGreen = "\x1b[42m" // BgYellow = "\x1b[43m" // BgBlue = "\x1b[44m" // BgMagenta = "\x1b[45m" // BgCyan = "\x1b[46m" // BgWhite = "\x1b[47m" const newString = prefix + string + "\x1b[0m" logs.push(newString) updateLog(); } function setInfo (players){ if (players != undefined) { info[0] = players; updateLog() } } module.exports = {log, updateLog, setInfo}