summaryrefslogtreecommitdiffstats
path: root/braille.js
diff options
context:
space:
mode:
authorDante Catalfamo2020-07-03 15:32:37 -0400
committerDante Catalfamo2020-07-03 15:32:37 -0400
commit3feb091fc16b8f823b3c64964afe8c0c790b4ae1 (patch)
tree8c6bfdfc545383965865bd91bb1bbf245fddedf1 /braille.js
parent71dad28c5f0072828358594272566f797380510e (diff)
downloadhomepage-3feb091fc16b8f823b3c64964afe8c0c790b4ae1.tar.gz
homepage-3feb091fc16b8f823b3c64964afe8c0c790b4ae1.tar.bz2
homepage-3feb091fc16b8f823b3c64964afe8c0c790b4ae1.zip
Add deploy script
Diffstat (limited to 'braille.js')
-rw-r--r--braille.js67
1 files changed, 0 insertions, 67 deletions
diff --git a/braille.js b/braille.js
deleted file mode 100644
index fe81c6e..0000000
--- a/braille.js
+++ /dev/null
@@ -1,67 +0,0 @@
-"use strict";
-
-const OUTHEIGHT = 30;
-const OUTWIDTH = 2 * OUTHEIGHT;
-const HEIGHT = 3 * OUTHEIGHT;
-const WIDTH = 2 * OUTWIDTH;
-const BRAILLE = [
- "⠀", "⠁", "⠂", "⠃", "⠄", "⠅", "⠆", "⠇", "⠈", "⠉", "⠊", "⠋", "⠌", "⠍", "⠎", "⠏",
- "⠐", "⠑", "⠒", "⠓", "⠔", "⠕", "⠖", "⠗", "⠘", "⠙", "⠚", "⠛", "⠜", "⠝", "⠞", "⠟",
- "⠠", "⠡", "⠢", "⠣", "⠤", "⠥", "⠦", "⠧", "⠨", "⠩", "⠪", "⠫", "⠬", "⠭", "⠮", "⠯",
- "⠰", "⠱", "⠲", "⠳", "⠴", "⠵", "⠶", "⠷", "⠸", "⠹", "⠺", "⠻", "⠼", "⠽", "⠾", "⠿",
-];
-
-let board = new Array(HEIGHT);
-for (let i = 0; i < HEIGHT; i++) {
- board[i] = new Array(WIDTH);
-}
-
-function render(board) {
- const out = new Array(OUTHEIGHT);
- for (let i = 0; i < OUTHEIGHT; i++) {
- out[i] = new Array(OUTWIDTH);
- }
- for (let y = 0; y < HEIGHT; y += 3) {
- for (let x = 0; x < WIDTH; x += 2) {
- let outx = x/2;
- let outy = y/3;
- let tl = board[y][x] ? 1 : 0;
- let ml = board[y+1][x] ? 1 : 0;
- let bl = board[y+2][x] ? 1 : 0;
- let tr = board[y][x+1] ? 1 : 0;
- let mr = board[y+1][x+1] ? 1 : 0;
- let br = board[y+2][x+1] ? 1 : 0;
- let idx = tl*1 + ml*2 + bl*4 + tr*8 + mr*16 + br*32;
- let char = BRAILLE[idx];
- out[outy][outx] = char;
- }
- }
- return out.reduce((a, r) => a + r.reduce((a2, c) => a2 + c) + "\n", "");
-}
-
-function renderFunction(board, fun, frame) {
- for (let y = 0; y < HEIGHT; y++) {
- for (let x = 0; x < WIDTH; x++) {
- board[y][x] = fun(x, y, frame) ? true : null;
- }
- }
- return render(board);
-}
-
-function fun(x, y, frame) {
- const l = HEIGHT / 3;
- const m1 = Math.abs(y+frame) % l;
- const m2 = Math.abs(y-frame) % l;
- return x == m1 ||
- x == m2 ||
- x/2 == m1 + l/2 ||
- x/2 == m2 + l/2 ||
- x == m1 + 3*l ||
- x == m2 + 3*l;
-}
-
-const br = document.getElementById("braille");
-let frame = HEIGHT;
-const interval = setInterval(() => {
- br.innerHTML = renderFunction(board, fun, frame++);
-}, 50);