import document from "document"; import * as characters from "characters"; function getSquares(character) { return characters.numbers[character]; } function splitNumber(number) { let numberString = number.toString(); return splitString(numberString); } function splitString(input) { let chars = []; for (let i = 0; i < input.length; i += 1) { chars.push(input.charAt(i)); } return chars; } const smallDigits = ['0','1','2','3','4','5','6','7','8','9','/']; export function setSmallDigits(name, input, rightJustify) { let chars = []; let smallNumElem = document.getElementById(name); if (typeof input === 'number') { chars = splitNumber(input); } else if (typeof input === 'string') { chars = splitString(input); } if (rightJustify) { chars = chars.reverse(); } for (let i=0; i<6; i++) { let digitElem = smallNumElem.getElementById('digit'+(i+1)); let char = chars[i]; if (rightJustify) { char = chars[5-i]; } if (typeof char === 'number') { char = char.toString(); } if (typeof char !== 'undefined' && smallDigits.indexOf(char) > -1) { if (char == "/") { char = "slash"; } digitElem.href="img/"+char+".png"; } else { digitElem.href=""; } } } export function setDigits(chars, colors) { let matrix = [ [0,0,0,0,0,0,0], [0,0,0,0,0,0,0], [0,0,0,0,0,0,0], [0,0,0,0,0,0,0], [0,0,0,0,0,0,0], [0,0,0,0,0,0,0], [0,0,0,0,0,0,0], ]; for (let char = 0; char < 4; char++) { let squares = getSquares(chars[char]); let offsX = 0; let offsY = 0; let color = 0; switch (char) { case 0: color = 1; break; case 1: color = 1; offsX = 4; break; case 2: color = 2; offsY = 2; break; case 3: color = 2; offsX = 4; offsY = 2; break; } for (let i = 0; i < (characters.charwidth*characters.charheight); i++) { let row = Math.floor(i/characters.charwidth); let col = i%characters.charwidth; matrix[row+offsY][col+offsX] += color*squares[row][col]; } } for (let i = 0; i < (7*7); i++) { let col = i%7; let row = Math.floor(i/7); let square = matrix[row][col]; let locationCode = (row+1)+'-'+(col+1); let squareElem = document.getElementById('squares').getElementById(locationCode); if (square >= 1) { squareElem.style.display = 'inline'; squareElem.href = "img/"+locationCode+".png"; switch (square) { case 1: squareElem.layer = 1; squareElem.style.fill = colors[0]; break; case 2: squareElem.layer = 2; squareElem.style.fill = colors[1]; break; case 3: squareElem.layer = 3; squareElem.style.fill = colors[2]; break; } } else { squareElem.style.display = 'none'; squareElem.href = ""; } } }