π»π± Desktop / Mobile
A simple blackjack app written in (mostly) native JavaScript. Uses some jQuery for cleaner syntax. No additional libraries or anything fancy
π»π± Desktop / Mobile (landscape mode highly recommended for mobile)
- Draw abstract shapes with your mouse or touch screen
- New patterns emerge from random lines overlapping
- Run animations automatically (or combine them with drawing)
- 13 color palettes
- Keyboard support (desktop version)
- π Faded: rainbow with desaturated colors
- π Rainbow: classic rainbow (red, orange, yellow, green, blue, indigo, violet)
- π₯ Fire: warm and inviting
- π§ Ice: cool and refreshing
- π RGB: red, green, blue
- β¨ CMY: cyan, magenta, yellow
- π¦ CGA-8: an old PC/DOS video mode (8-color)
- π¦ CGA-16: full 16-color CGA palette (minus pure black)
- π¨ Pyxel: default color palette for Pyxel Edit
- π© Gameboy: as green and hideous as it was in the 90s
- 𧨠Patriot: a greater union (red, white, and blue)
- π Grayscale: everything from dim gray to off-white
- π± Ukraine: the sky and fields of a beautiful nation
Β | Type of Screenshot |
---|---|
ποΈ | Hand drawn |
π² | Randomly generated |
π» Desktop
Key | Β |
---|---|
R |
Run animation |
P |
Pause animation |
C |
Clear screen |
Enter |
Toggle free draw mode |
Spacebar |
Next palette |
? |
Help |
O |
Origin reset (center) |
* |
Random palette |
Key | Β |
---|---|
T |
Triangle web |
L |
Line scatter |
S |
Starburst |
Key | Β |
---|---|
D |
Faded |
A |
Rainbow (classic) |
F |
Fire |
I |
Ice |
R |
RGB |
M |
CMY |
8 |
CGA-8 |
6 |
CGA-16 |
X |
Pyxel Edit |
Y |
Gameboy |
U |
USA |
G |
Grayscale |
K |
Ukraine |
Button | Key | Β |
---|---|---|
Space |
Select the next palette | |
* |
Select a random palette | |
Enter |
Enable or disable free draw mode | |
? |
Print help screen (overwrites canvas with confirmation) | |
o |
Reset origin to center |
βΆ Press RUN repeatedly to increase the animation speed
βοΈ Animations generally look smoothest between 1x and 5x speed
βοΈ You can draw on the canvas while the animation is running
βοΈ Click and drag on the canvas to draw shapes
βοΈ Free drawing mode paints shapes with mouse movement (no clicking)
βοΈ Press spacebar to select the next color palette
π Click the canvas to set a new origin for the starburst animation (setpoint=canvas.mouseup)
π± Mobile
ποΈ Tap and drag across the canvas to paint with shapes
π Tap and drag canvas to set new origin for starburst animation (setpoint=canvas.touchup)
βΉοΈΒ Β Mobile version is basic (works but needs work)
- Release a mobile version with touch support
- Separate
updateUI()
function intoupdateBanner()
andupdateButtons()
- Remove style changes from
setBrushColor()
- Fix button colors not updating
- Change origin setpoint to
mousedown
(instead ofmouseup
) - Added custom mouse cursors
- Set indentation style to
2
tabs - Add toggle function to hide/show keyboard map
- Add more variety: shapes, colors, brush width, etc. (experiment)
- Replace all HTML legacy tags with CSS
- Expand
mousemove
listener to entire document body: wilder but more satisfying - Add a button to toggle drawing mode
- Get
actionListener
working properly withmousemove
andmousedown
events (similar to mobile drawing) - Optimize resolution for the most common displays
- Disable swipe down refresh gesture
- Needs more testing: limited testing done with Chrome device emulation and an S10+
- Optimize resolution and settings for mobile displays
Languages: JavaScript for the main app, HTML for page elements, and CSS for formatting
Desktop: JavaScript (main.js, drawCanvas.js), HTML, CSS
Mobile: mobileMain.js, mobileDrawCanvas.js, HTML, CSS (same as desktop)
Question of the Day: if "depository" is shortened to "depot" then why isn't "repository" shortened to "repot?" Better yet, why not shorten depot to "depo?"