|
|
|
|
|
by chrisshroba
1249 days ago
|
|
Here's a fun one that's too long to print in this comment: https://gist.githubusercontent.com/chrisshroba/6c37c650668f4... And the code used to generate it: First some python to create a qr code from the link and output it as a json list of booleans: import qrcode, json
code = qrcode.QRCode()
code.add_data('https://youtu.be/dQw4w9WgXcQ')
code.make()
json.dumps(code.modules)
Copy and paste the out into the browser console and assign it to a variable called `qr`. Then run the following code to generate and display the string in the viewer: (function(qr) {
let start = ' L L L L K L L L L K'
let draw = val => {$('.names').value = val; main() };
let decode = val => val.replaceAll('d','a ').replaceAll('r',' a ').replaceAll('u',' a ').replaceAll('l',' a');
let size = 4
let on = (s) => {
let ret = ''
let line = 'r'.repeat(s-1)+'l'.repeat(s-1)
for (let i=0; i<s-1; i++) ret += line + 'd';
ret += line
ret += 'u'.repeat(s-1)
return ret
}
let right_cell = (s) => 'r'.repeat(s)
let left_cell = (s) => 'l'.repeat(s)
let down_cell = (s) => 'd'.repeat(s)
// draw(decode(on(3)+next_cell(3)+on(3)+next_cell(3)+next_cell(3)+on(3)+next_cell(3)))
let str = start
for (line of qr) {
for (val of line) {
str += val ? (on(size) + right_cell(size)) : right_cell(size)
}
console.debug(`A ${left_cell(size).repeat(line.length)}, ${size}, ${line.length} line ${line}`)
str += left_cell(size).repeat(line.length)
str += down_cell(size)
}
console.log(str);
draw(decode(str))
})(qr)
|
|