Skip to content

Instantly share code, notes, and snippets.

@gabrielflorit
Last active January 31, 2020 23:15
Show Gist options
  • Save gabrielflorit/3c07abc828d53a2a654a325ded310ba4 to your computer and use it in GitHub Desktop.
Save gabrielflorit/3c07abc828d53a2a654a325ded310ba4 to your computer and use it in GitHub Desktop.
SCRIPT-8
// title: big logo
const fade = n => {
range(7).forEach(i => {
colorSwap(i, clamp(i + n, 0, 7))
})
}
const outlinePrint = (x, y, text, color, outline) => {
range(9).forEach(i => {
print(x + -1 + (i % 3), y + -1 + i / 3, text, outline)
})
print(x, y, text, color)
}
init = state => {
state.fadeLevel = 0
}
update = (state, input) => {
if (input.left || input.down) {
state.fadeLevel = Math.min(state.fadeLevel + 1, 7)
}
if (input.right || input.up) {
state.fadeLevel = Math.max(state.fadeLevel - 1, 0)
}
}
draw = state => {
fade(state.fadeLevel)
clear()
const j = 0
range(8).forEach(i => {
const side = 128 - i * 8
const xy = 64 - side / 2
rectFill(xy, xy + i * j, side, side - i * j * 2, i)
})
printAlphabet({
x: 33,
y: 60,
numbers: 'script-8',
color: 0,
size: 2,
flip: true
})
// rectStroke(0, 0, 128, 128, 0)
// line(0, 0, 128, 128, 0)
// line(128, 0, 0, 128, 0)
const colors = [6, 5, 4, 3, 0, 3, 4, 5, 6]
const offset = 3
range(9).forEach(i => {})
// range(14, 7).forEach(i => {
// printAlphabet({
// x: 2,
// y: offset + 7 * i,
// numbers: 'script-8',
// color: colors[i],
// size: 4,
// flip: true
// })
// })
// printAlphabet({
// x: 2,
// y: offset + 7 * 7,
// numbers: 'script-8',
// color: colors[7],
// size: 4,
// flip: true
// })
}
const printAlphabet = ({ x, y, numbers, color, flip, size = 3 }) => {
let digits = numbers.toString().split('')
if (!flip) {
digits.reverse()
}
digits.forEach((digit, digitI) => {
alphabet[digit].forEach((pixel, i) => {
const numberX = i % 3
const numberY = Math.floor(i / 3)
if (pixel) {
rectFill(
(flip ? 1 : -1) * digitI * (size * 4) + x + numberX * size,
y + numberY * size,
size,
size,
color
)
}
})
})
}
const alphabet = {
'<': [0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0],
'>': [1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0],
'/': [0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0],
':': [0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0],
'|': [0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0],
'(': [0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0],
')': [1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0],
0: [0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0],
1: [1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0],
2: [1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0],
3: [1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0],
4: [1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0],
5: [1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0],
6: [1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0],
7: [1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0],
8: [1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0],
9: [1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0],
' ': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
'.': [0, 0, 0, 0, 1, 0],
',': [0, 0, 0, 0, 1, 1],
'+': [0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0],
'-': [0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0],
'!': [1, 1, 1, 0, 1, 0],
'?': [1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0],
a: [1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0],
b: [1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0],
c: [1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0],
d: [1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0],
e: [1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0],
f: [1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0],
g: [1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0],
h: [1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0],
i: [1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0],
j: [0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0],
k: [1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0],
l: [1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0],
m: [1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0],
n: [1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0],
o: [1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0],
p: [1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0],
q: [1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0],
r: [1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0],
s: [1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0],
t: [1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0],
u: [1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0],
v: [1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0],
w: [1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0],
x: [1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0],
y: [1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0],
z: [1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0]
}
{
"iframeVersion": "0.1.280",
"lines": [
77,
24,
53,
0,
0,
0,
0,
0
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment