bin/ 230 CLI tools (ask-*, br-*, agent-*, roadid, carpool) scripts/ 99 automation scripts fleet/ Node configs and deployment workers/ Cloudflare Worker sources (roadpay, road-search, squad webhooks) roadc/ RoadC programming language roadnet/ Mesh network (5 APs, WireGuard) operator/ Memory system scripts config/ System configs dotfiles/ Shell configs docs/ Documentation BlackRoad OS — Pave Tomorrow. RoadChain-SHA2048: d1a24f55318d338b RoadChain-Identity: alexa@sovereign RoadChain-Full: d1a24f55318d338b24b60bad7be39286379c76ae5470817482100cb0ddbbcb97e147d07ac7243da0a9f0363e4e5c833d612b9c0df3a3cd20802465420278ef74875a5b77f55af6fe42a931b8b635b3d0d0b6bde9abf33dc42eea52bc03c951406d8cbe49f1a3d29b26a94dade05e9477f34a7d4d4c6ec4005c3c2ac54e73a68440c512c8e83fd9b1fe234750b898ef8f4032c23db173961fe225e67a0432b5293a9714f76c5c57ed5fdf35b9fb40fd73c03ebf88b7253c6a0575f5afb6a6b49b3bda310602fb1ef676859962dad2aebbb2875814b30eee0a8ba195e482d4cbc91d8819e7f38f6db53e8063401649c77bb994371473cabfb917fb53e8cbe73d60
63 lines
1.5 KiB
Bash
Executable File
63 lines
1.5 KiB
Bash
Executable File
#!/bin/bash
|
||
# BR-Lightning - Terminal lightning bolts
|
||
clear
|
||
trap 'printf "\033[?25h\033[0m"; clear; exit' INT TERM EXIT
|
||
printf '\033[?25l'
|
||
COLS=$(tput cols) LINES=$(tput lines)
|
||
COLORS=(231 195 159 123 87 51 69)
|
||
|
||
strike() {
|
||
local x=$(( RANDOM % (COLS-10) + 5 ))
|
||
local y=1
|
||
local color=${COLORS[$((RANDOM % ${#COLORS[@]}))]}
|
||
|
||
while (( y < LINES - 1 )); do
|
||
local branch=$(( RANDOM % 3 - 1 ))
|
||
x=$((x + branch * 2))
|
||
(( x < 2 )) && x=2
|
||
(( x > COLS-2 )) && x=$((COLS-2))
|
||
|
||
local ch='│'
|
||
(( branch == -1 )) && ch='╲'
|
||
(( branch == 1 )) && ch='╱'
|
||
|
||
printf '\033[%d;%dH\033[1;38;5;%dm%s\033[0m' "$y" "$x" "$color" "$ch"
|
||
|
||
# Random fork
|
||
if (( RANDOM % 8 == 0 && y > 3 )); then
|
||
local fx=$x fy=$y
|
||
for ((f=0;f<$(( RANDOM % 4 + 2 ));f++)); do
|
||
fb=$(( RANDOM % 3 - 1 ))
|
||
fx=$((fx + fb * 2))
|
||
((fy++))
|
||
(( fx > 1 && fx < COLS && fy < LINES )) && printf '\033[%d;%dH\033[38;5;123m·\033[0m' "$fy" "$fx"
|
||
done
|
||
fi
|
||
((y++))
|
||
sleep 0.01
|
||
done
|
||
sleep 0.15
|
||
|
||
# Flash
|
||
printf '\033[H\033[48;5;231m'
|
||
sleep 0.03
|
||
printf '\033[0m'
|
||
}
|
||
|
||
while true; do
|
||
printf '\033[2J\033[H'
|
||
# Dark sky with clouds
|
||
for ((i=0;i<8;i++)); do
|
||
cx=$(( RANDOM % COLS ))
|
||
printf '\033[1;%dH\033[38;5;240m░░░░░' "$cx"
|
||
printf '\033[2;%dH\033[38;5;238m░░░░░░░' "$((cx-1))"
|
||
done
|
||
printf '\033[1;1H\033[38;5;205m⚡ BR-Lightning \033[38;5;69m[q=quit]\033[0m'
|
||
|
||
sleep 0.$(( RANDOM % 8 + 2 ))
|
||
strike
|
||
sleep 0.$(( RANDOM % 5 + 2 ))
|
||
|
||
read -rsn1 -t 0.01 K && [[ "$K" == "q" ]] && exit
|
||
done
|