diff options
| author | Dante Catalfamo | 2020-07-03 15:32:37 -0400 | 
|---|---|---|
| committer | Dante Catalfamo | 2020-07-03 15:32:37 -0400 | 
| commit | 3feb091fc16b8f823b3c64964afe8c0c790b4ae1 (patch) | |
| tree | 8c6bfdfc545383965865bd91bb1bbf245fddedf1 /braille.js | |
| parent | 71dad28c5f0072828358594272566f797380510e (diff) | |
| download | homepage-3feb091fc16b8f823b3c64964afe8c0c790b4ae1.tar.gz homepage-3feb091fc16b8f823b3c64964afe8c0c790b4ae1.tar.bz2 homepage-3feb091fc16b8f823b3c64964afe8c0c790b4ae1.zip | |
Add deploy script
Diffstat (limited to 'braille.js')
| -rw-r--r-- | braille.js | 67 | 
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); | 
