From afc97c89a3a31caef6163c03dfe0a296362a68e9 Mon Sep 17 00:00:00 2001 From: Ajax Davis Date: Sun, 28 Dec 2025 19:13:23 +1000 Subject: [PATCH] fix: use gpt-image-1-mini model for OG image generation --- alien.sh | 67 ++++++ apps/web/src/lib/og/image-generator.ts | 2 +- beast.sh | 144 +++++++++++++ hotel.sh | 100 +++++++++ knight.sh | 182 ++++++++++++++++ reptile1_halfblock.sh | 156 ++++++++++++++ reptile2_quadrant.sh | 180 ++++++++++++++++ reptile3_braille.sh | 280 +++++++++++++++++++++++++ robot.sh | 69 ++++++ robot2.sh | 104 +++++++++ robot3.sh | 121 +++++++++++ sprite.sh | 61 ++++++ 12 files changed, 1465 insertions(+), 1 deletion(-) create mode 100755 alien.sh create mode 100755 beast.sh create mode 100755 hotel.sh create mode 100755 knight.sh create mode 100755 reptile1_halfblock.sh create mode 100755 reptile2_quadrant.sh create mode 100755 reptile3_braille.sh create mode 100755 robot.sh create mode 100755 robot2.sh create mode 100755 robot3.sh create mode 100755 sprite.sh diff --git a/alien.sh b/alien.sh new file mode 100755 index 0000000..de88096 --- /dev/null +++ b/alien.sh @@ -0,0 +1,67 @@ +#!/bin/bash + +printf "\n\033[1m WALKING DOWN\033[0m\n\n" +printf " Frame 1 Frame 2 Frame 3 Frame 4\n\n" +printf " \033[38;2;139;90;43m█\033[0m \033[38;2;139;90;43m█\033[0m \033[38;2;139;90;43m█\033[0m \033[38;2;139;90;43m█\033[0m \033[38;2;139;90;43m█\033[0m \033[38;2;139;90;43m█\033[0m \033[38;2;139;90;43m█\033[0m \033[38;2;139;90;43m█\033[0m\n" +printf " \033[38;2;139;90;43m█\033[0m \033[38;2;139;90;43m█\033[0m \033[38;2;139;90;43m█\033[0m \033[38;2;139;90;43m█\033[0m \033[38;2;139;90;43m█\033[0m \033[38;2;139;90;43m█\033[0m \033[38;2;139;90;43m█\033[0m \033[38;2;139;90;43m█\033[0m\n" +printf " \033[38;2;255;200;50m▄███▄\033[0m \033[38;2;255;200;50m▄███▄\033[0m \033[38;2;255;200;50m▄███▄\033[0m \033[38;2;255;200;50m▄███▄\033[0m\n" +printf " \033[38;2;255;200;50m███████\033[0m \033[38;2;255;200;50m███████\033[0m \033[38;2;255;200;50m███████\033[0m \033[38;2;255;200;50m███████\033[0m\n" +printf " \033[38;2;255;200;50m█\033[38;2;0;0;0m██\033[38;2;255;200;50m█\033[38;2;0;0;0m██\033[38;2;255;200;50m█\033[0m \033[38;2;255;200;50m█\033[38;2;0;0;0m██\033[38;2;255;200;50m█\033[38;2;0;0;0m██\033[38;2;255;200;50m█\033[0m \033[38;2;255;200;50m█\033[38;2;0;0;0m██\033[38;2;255;200;50m█\033[38;2;0;0;0m██\033[38;2;255;200;50m█\033[0m \033[38;2;255;200;50m█\033[38;2;0;0;0m██\033[38;2;255;200;50m█\033[38;2;0;0;0m██\033[38;2;255;200;50m█\033[0m\n" +printf " \033[38;2;255;200;50m█████\033[0m \033[38;2;255;200;50m█████\033[0m \033[38;2;255;200;50m█████\033[0m \033[38;2;255;200;50m█████\033[0m\n" +printf " \033[38;2;255;200;50m███\033[0m \033[38;2;255;200;50m███\033[0m \033[38;2;255;200;50m███\033[0m \033[38;2;255;200;50m███\033[0m\n" +printf " \033[38;2;139;90;43m▄█████▄\033[0m \033[38;2;139;90;43m▄█████▄\033[0m \033[38;2;139;90;43m▄█████▄\033[0m \033[38;2;139;90;43m▄█████▄\033[0m\n" +printf " \033[38;2;139;90;43m███\033[38;2;255;215;0m█\033[38;2;139;90;43m███\033[0m \033[38;2;139;90;43m███\033[38;2;255;215;0m█\033[38;2;139;90;43m███\033[0m \033[38;2;139;90;43m███\033[38;2;255;215;0m█\033[38;2;139;90;43m███\033[0m \033[38;2;139;90;43m███\033[38;2;255;215;0m█\033[38;2;139;90;43m███\033[0m\n" +printf " \033[38;2;139;90;43m███████\033[0m \033[38;2;139;90;43m███████\033[0m \033[38;2;139;90;43m███████\033[0m \033[38;2;139;90;43m███████\033[0m\n" +printf " \033[38;2;139;90;43m█████\033[0m \033[38;2;139;90;43m█████\033[0m \033[38;2;139;90;43m█████\033[0m \033[38;2;139;90;43m█████\033[0m\n" +printf " \033[38;2;255;200;50m█\033[0m \033[38;2;255;200;50m█\033[0m \033[38;2;255;200;50m█\033[0m \033[38;2;255;200;50m█\033[0m \033[38;2;255;200;50m█\033[0m \033[38;2;255;200;50m█\033[0m \033[38;2;255;200;50m█\033[0m \033[38;2;255;200;50m█\033[0m\n" +printf " \033[38;2;101;67;33m██\033[0m \033[38;2;101;67;33m██\033[0m \033[38;2;101;67;33m██\033[0m \033[38;2;101;67;33m█\033[0m \033[38;2;101;67;33m██\033[0m \033[38;2;101;67;33m██\033[0m \033[38;2;101;67;33m█\033[0m \033[38;2;101;67;33m██\033[0m\n" + +printf "\n\033[1m WALKING UP\033[0m\n\n" +printf " Frame 1 Frame 2 Frame 3 Frame 4\n\n" +printf " \033[38;2;139;90;43m█\033[0m \033[38;2;139;90;43m█\033[0m \033[38;2;139;90;43m█\033[0m \033[38;2;139;90;43m█\033[0m \033[38;2;139;90;43m█\033[0m \033[38;2;139;90;43m█\033[0m \033[38;2;139;90;43m█\033[0m \033[38;2;139;90;43m█\033[0m\n" +printf " \033[38;2;139;90;43m█\033[0m \033[38;2;139;90;43m█\033[0m \033[38;2;139;90;43m█\033[0m \033[38;2;139;90;43m█\033[0m \033[38;2;139;90;43m█\033[0m \033[38;2;139;90;43m█\033[0m \033[38;2;139;90;43m█\033[0m \033[38;2;139;90;43m█\033[0m\n" +printf " \033[38;2;255;200;50m▄███▄\033[0m \033[38;2;255;200;50m▄███▄\033[0m \033[38;2;255;200;50m▄███▄\033[0m \033[38;2;255;200;50m▄███▄\033[0m\n" +printf " \033[38;2;255;200;50m███████\033[0m \033[38;2;255;200;50m███████\033[0m \033[38;2;255;200;50m███████\033[0m \033[38;2;255;200;50m███████\033[0m\n" +printf " \033[38;2;255;200;50m███████\033[0m \033[38;2;255;200;50m███████\033[0m \033[38;2;255;200;50m███████\033[0m \033[38;2;255;200;50m███████\033[0m\n" +printf " \033[38;2;255;200;50m█████\033[0m \033[38;2;255;200;50m█████\033[0m \033[38;2;255;200;50m█████\033[0m \033[38;2;255;200;50m█████\033[0m\n" +printf " \033[38;2;255;200;50m███\033[0m \033[38;2;255;200;50m███\033[0m \033[38;2;255;200;50m███\033[0m \033[38;2;255;200;50m███\033[0m\n" +printf " \033[38;2;139;90;43m▄█████▄\033[0m \033[38;2;139;90;43m▄█████▄\033[0m \033[38;2;139;90;43m▄█████▄\033[0m \033[38;2;139;90;43m▄█████▄\033[0m\n" +printf " \033[38;2;139;90;43m███████\033[0m \033[38;2;139;90;43m███████\033[0m \033[38;2;139;90;43m███████\033[0m \033[38;2;139;90;43m███████\033[0m\n" +printf " \033[38;2;139;90;43m███████\033[0m \033[38;2;139;90;43m███████\033[0m \033[38;2;139;90;43m███████\033[0m \033[38;2;139;90;43m███████\033[0m\n" +printf " \033[38;2;139;90;43m█████\033[0m \033[38;2;139;90;43m█████\033[0m \033[38;2;139;90;43m█████\033[0m \033[38;2;139;90;43m█████\033[0m\n" +printf " \033[38;2;255;200;50m█\033[0m \033[38;2;255;200;50m█\033[0m \033[38;2;255;200;50m█\033[0m \033[38;2;255;200;50m█\033[0m \033[38;2;255;200;50m█\033[0m \033[38;2;255;200;50m█\033[0m \033[38;2;255;200;50m█\033[0m \033[38;2;255;200;50m█\033[0m\n" +printf " \033[38;2;101;67;33m██\033[0m \033[38;2;101;67;33m██\033[0m \033[38;2;101;67;33m██\033[0m \033[38;2;101;67;33m█\033[0m \033[38;2;101;67;33m██\033[0m \033[38;2;101;67;33m██\033[0m \033[38;2;101;67;33m█\033[0m \033[38;2;101;67;33m██\033[0m\n" + +printf "\n\033[1m WALKING LEFT\033[0m\n\n" +printf " Frame 1 Frame 2 Frame 3 Frame 4\n\n" +printf " \033[38;2;139;90;43m█\033[0m \033[38;2;139;90;43m█\033[0m \033[38;2;139;90;43m█\033[0m \033[38;2;139;90;43m█\033[0m\n" +printf " \033[38;2;139;90;43m█\033[0m \033[38;2;139;90;43m█\033[0m \033[38;2;139;90;43m█\033[0m \033[38;2;139;90;43m█\033[0m\n" +printf " \033[38;2;255;200;50m▄███\033[0m \033[38;2;255;200;50m▄███\033[0m \033[38;2;255;200;50m▄███\033[0m \033[38;2;255;200;50m▄███\033[0m\n" +printf " \033[38;2;255;200;50m█████\033[0m \033[38;2;255;200;50m█████\033[0m \033[38;2;255;200;50m█████\033[0m \033[38;2;255;200;50m█████\033[0m\n" +printf " \033[38;2;0;0;0m██\033[38;2;255;200;50m███\033[0m \033[38;2;0;0;0m██\033[38;2;255;200;50m███\033[0m \033[38;2;0;0;0m██\033[38;2;255;200;50m███\033[0m \033[38;2;0;0;0m██\033[38;2;255;200;50m███\033[0m\n" +printf " \033[38;2;255;200;50m████\033[0m \033[38;2;255;200;50m████\033[0m \033[38;2;255;200;50m████\033[0m \033[38;2;255;200;50m████\033[0m\n" +printf " \033[38;2;255;200;50m██\033[0m \033[38;2;255;200;50m██\033[0m \033[38;2;255;200;50m██\033[0m \033[38;2;255;200;50m██\033[0m\n" +printf " \033[38;2;139;90;43m████\033[0m \033[38;2;139;90;43m████\033[0m \033[38;2;139;90;43m████\033[0m \033[38;2;139;90;43m████\033[0m\n" +printf " \033[38;2;139;90;43m██\033[38;2;255;215;0m█\033[38;2;139;90;43m██\033[0m \033[38;2;139;90;43m██\033[38;2;255;215;0m█\033[38;2;139;90;43m██\033[0m \033[38;2;139;90;43m██\033[38;2;255;215;0m█\033[38;2;139;90;43m██\033[0m \033[38;2;139;90;43m██\033[38;2;255;215;0m█\033[38;2;139;90;43m██\033[0m\n" +printf " \033[38;2;139;90;43m████\033[0m \033[38;2;139;90;43m████\033[0m \033[38;2;139;90;43m████\033[0m \033[38;2;139;90;43m████\033[0m\n" +printf " \033[38;2;139;90;43m██\033[0m \033[38;2;139;90;43m██\033[0m \033[38;2;139;90;43m██\033[0m \033[38;2;139;90;43m██\033[0m\n" +printf " \033[38;2;255;200;50m██\033[0m \033[38;2;255;200;50m█\033[0m \033[38;2;255;200;50m█\033[0m \033[38;2;255;200;50m██\033[0m \033[38;2;255;200;50m█\033[0m \033[38;2;255;200;50m█\033[0m\n" +printf " \033[38;2;101;67;33m██\033[0m \033[38;2;101;67;33m█\033[0m \033[38;2;101;67;33m█\033[0m \033[38;2;101;67;33m██\033[0m \033[38;2;101;67;33m██\033[0m \033[38;2;101;67;33m█\033[0m \033[38;2;101;67;33m█\033[0m \033[38;2;101;67;33m██\033[0m\n" + +printf "\n\033[1m WALKING RIGHT\033[0m\n\n" +printf " Frame 1 Frame 2 Frame 3 Frame 4\n\n" +printf " \033[38;2;139;90;43m█\033[0m \033[38;2;139;90;43m█\033[0m \033[38;2;139;90;43m█\033[0m \033[38;2;139;90;43m█\033[0m\n" +printf " \033[38;2;139;90;43m█\033[0m \033[38;2;139;90;43m█\033[0m \033[38;2;139;90;43m█\033[0m \033[38;2;139;90;43m█\033[0m\n" +printf " \033[38;2;255;200;50m███▄\033[0m \033[38;2;255;200;50m███▄\033[0m \033[38;2;255;200;50m███▄\033[0m \033[38;2;255;200;50m███▄\033[0m\n" +printf " \033[38;2;255;200;50m█████\033[0m \033[38;2;255;200;50m█████\033[0m \033[38;2;255;200;50m█████\033[0m \033[38;2;255;200;50m█████\033[0m\n" +printf " \033[38;2;255;200;50m███\033[38;2;0;0;0m██\033[0m \033[38;2;255;200;50m███\033[38;2;0;0;0m██\033[0m \033[38;2;255;200;50m███\033[38;2;0;0;0m██\033[0m \033[38;2;255;200;50m███\033[38;2;0;0;0m██\033[0m\n" +printf " \033[38;2;255;200;50m████\033[0m \033[38;2;255;200;50m████\033[0m \033[38;2;255;200;50m████\033[0m \033[38;2;255;200;50m████\033[0m\n" +printf " \033[38;2;255;200;50m██\033[0m \033[38;2;255;200;50m██\033[0m \033[38;2;255;200;50m██\033[0m \033[38;2;255;200;50m██\033[0m\n" +printf " \033[38;2;139;90;43m████\033[0m \033[38;2;139;90;43m████\033[0m \033[38;2;139;90;43m████\033[0m \033[38;2;139;90;43m████\033[0m\n" +printf " \033[38;2;139;90;43m██\033[38;2;255;215;0m█\033[38;2;139;90;43m██\033[0m \033[38;2;139;90;43m██\033[38;2;255;215;0m█\033[38;2;139;90;43m██\033[0m \033[38;2;139;90;43m██\033[38;2;255;215;0m█\033[38;2;139;90;43m██\033[0m \033[38;2;139;90;43m██\033[38;2;255;215;0m█\033[38;2;139;90;43m██\033[0m\n" +printf " \033[38;2;139;90;43m████\033[0m \033[38;2;139;90;43m████\033[0m \033[38;2;139;90;43m████\033[0m \033[38;2;139;90;43m████\033[0m\n" +printf " \033[38;2;139;90;43m██\033[0m \033[38;2;139;90;43m██\033[0m \033[38;2;139;90;43m██\033[0m \033[38;2;139;90;43m██\033[0m\n" +printf " \033[38;2;255;200;50m██\033[0m \033[38;2;255;200;50m█\033[0m \033[38;2;255;200;50m█\033[0m \033[38;2;255;200;50m██\033[0m \033[38;2;255;200;50m█\033[0m \033[38;2;255;200;50m█\033[0m\n" +printf " \033[38;2;101;67;33m█\033[0m \033[38;2;101;67;33m██\033[0m \033[38;2;101;67;33m██\033[0m \033[38;2;101;67;33m█\033[0m \033[38;2;101;67;33m█\033[0m \033[38;2;101;67;33m██\033[0m \033[38;2;101;67;33m██\033[0m \033[38;2;101;67;33m█\033[0m\n" + +printf "\n" diff --git a/apps/web/src/lib/og/image-generator.ts b/apps/web/src/lib/og/image-generator.ts index 74f3b46..2f5273d 100644 --- a/apps/web/src/lib/og/image-generator.ts +++ b/apps/web/src/lib/og/image-generator.ts @@ -25,7 +25,7 @@ export async function generateOGImage(prompt: string): Promise { try { const client = getOpenAIClient(); const response = await client.images.generate({ - model: 'gpt-image-1', + model: 'gpt-image-1-mini', prompt, n: 1, size: '1536x1024', // Closest aspect ratio to 1200x630, will serve as-is diff --git a/beast.sh b/beast.sh new file mode 100755 index 0000000..6620ff7 --- /dev/null +++ b/beast.sh @@ -0,0 +1,144 @@ +#!/bin/bash + +# Humanoid Beast Sprite Sheet with Bounding Boxes +# Colors (background mode for solid pixels) +F="\033[48;2;139;90;43m" # Fur (brown) +D="\033[48;2;101;67;33m" # Dark fur +L="\033[48;2;178;134;87m" # Light fur/highlight +E="\033[48;2;255;200;0m" # Eyes (glowing yellow) +e="\033[48;2;180;140;0m" # Eyes dark +M="\033[48;2;60;40;30m" # Muzzle/nose dark +T="\033[48;2;200;200;200m" # Teeth/claws +C="\033[48;2;40;40;40m" # Claws dark +X="\033[0m" # Reset +P=" " # Pixel (two spaces) + +# Box drawing +BOX_COLOR="\033[38;2;100;100;100m" +RESET="\033[0m" + +clear +echo "" +echo -e "\033[1m HUMANOID BEAST - SPRITE SHEET\033[0m" +echo -e " Each sprite: 16x20 pixels (32x20 characters)" +echo "" + +# Function to draw horizontal box line +hline() { + echo -ne "${BOX_COLOR}" + echo -n " ┌" + for i in {1..32}; do echo -n "─"; done + echo -n "┐ ┌" + for i in {1..32}; do echo -n "─"; done + echo -n "┐ ┌" + for i in {1..32}; do echo -n "─"; done + echo -n "┐ ┌" + for i in {1..32}; do echo -n "─"; done + echo -e "┐${RESET}" +} + +hline_bottom() { + echo -ne "${BOX_COLOR}" + echo -n " └" + for i in {1..32}; do echo -n "─"; done + echo -n "┘ └" + for i in {1..32}; do echo -n "─"; done + echo -n "┘ └" + for i in {1..32}; do echo -n "─"; done + echo -n "┘ └" + for i in {1..32}; do echo -n "─"; done + echo -e "┘${RESET}" +} + +V="${BOX_COLOR}│${RESET}" + +echo -e "\033[1m WALKING DOWN\033[0m" +echo " Frame 1 Frame 2 Frame 3 Frame 4" +hline +# Row 1 - Ears +printf " ${V} ${D}${P}${P}${X} ${D}${P}${P}${X} ${V} ${V} ${D}${P}${P}${X} ${D}${P}${P}${X} ${V} ${V} ${D}${P}${P}${X} ${D}${P}${P}${X} ${V} ${V} ${D}${P}${P}${X} ${D}${P}${P}${X} ${V}\n" +# Row 2 - Ears connect to head +printf " ${V} ${D}${P}${F}${P}${P}${X} ${F}${P}${D}${P}${X} ${V} ${V} ${D}${P}${F}${P}${P}${X} ${F}${P}${D}${P}${X} ${V} ${V} ${D}${P}${F}${P}${P}${X} ${F}${P}${D}${P}${X} ${V} ${V} ${D}${P}${F}${P}${P}${X} ${F}${P}${D}${P}${X} ${V}\n" +# Row 3 - Top of head +printf " ${V} ${D}${P}${F}${P}${P}${P}${P}${P}${P}${P}${P}${F}${P}${D}${P}${X} ${V} ${V} ${D}${P}${F}${P}${P}${P}${P}${P}${P}${P}${P}${F}${P}${D}${P}${X} ${V} ${V} ${D}${P}${F}${P}${P}${P}${P}${P}${P}${P}${P}${F}${P}${D}${P}${X} ${V} ${V} ${D}${P}${F}${P}${P}${P}${P}${P}${P}${P}${P}${F}${P}${D}${P}${X} ${V}\n" +# Row 4 - Brow +printf " ${V} ${F}${P}${L}${P}${F}${P}${P}${P}${P}${P}${P}${L}${P}${F}${P}${X} ${V} ${V} ${F}${P}${L}${P}${F}${P}${P}${P}${P}${P}${P}${L}${P}${F}${P}${X} ${V} ${V} ${F}${P}${L}${P}${F}${P}${P}${P}${P}${P}${P}${L}${P}${F}${P}${X} ${V} ${V} ${F}${P}${L}${P}${F}${P}${P}${P}${P}${P}${P}${L}${P}${F}${P}${X} ${V}\n" +# Row 5 - Eyes +printf " ${V} ${F}${P}${E}${P}${P}${F}${P}${P}${P}${P}${E}${P}${P}${F}${P}${X} ${V} ${V} ${F}${P}${E}${P}${P}${F}${P}${P}${P}${P}${E}${P}${P}${F}${P}${X} ${V} ${V} ${F}${P}${E}${P}${P}${F}${P}${P}${P}${P}${E}${P}${P}${F}${P}${X} ${V} ${V} ${F}${P}${E}${P}${P}${F}${P}${P}${P}${P}${E}${P}${P}${F}${P}${X} ${V}\n" +# Row 6 - Under eyes +printf " ${V} ${F}${P}${e}${P}${F}${P}${P}${P}${P}${P}${P}${e}${P}${F}${P}${X} ${V} ${V} ${F}${P}${e}${P}${F}${P}${P}${P}${P}${P}${P}${e}${P}${F}${P}${X} ${V} ${V} ${F}${P}${e}${P}${F}${P}${P}${P}${P}${P}${P}${e}${P}${F}${P}${X} ${V} ${V} ${F}${P}${e}${P}${F}${P}${P}${P}${P}${P}${P}${e}${P}${F}${P}${X} ${V}\n" +# Row 7 - Muzzle top +printf " ${V} ${F}${P}${P}${D}${P}${M}${P}${P}${D}${P}${F}${P}${P}${X} ${V} ${V} ${F}${P}${P}${D}${P}${M}${P}${P}${D}${P}${F}${P}${P}${X} ${V} ${V} ${F}${P}${P}${D}${P}${M}${P}${P}${D}${P}${F}${P}${P}${X} ${V} ${V} ${F}${P}${P}${D}${P}${M}${P}${P}${D}${P}${F}${P}${P}${X} ${V}\n" +# Row 8 - Mouth with fangs +printf " ${V} ${F}${P}${T}${P}${M}${P}${P}${P}${P}${T}${P}${F}${P}${X} ${V} ${V} ${F}${P}${T}${P}${M}${P}${P}${P}${P}${T}${P}${F}${P}${X} ${V} ${V} ${F}${P}${T}${P}${M}${P}${P}${P}${P}${T}${P}${F}${P}${X} ${V} ${V} ${F}${P}${T}${P}${M}${P}${P}${P}${P}${T}${P}${F}${P}${X} ${V}\n" +# Row 9 - Chin +printf " ${V} ${D}${P}${F}${P}${P}${P}${P}${F}${P}${D}${P}${X} ${V} ${V} ${D}${P}${F}${P}${P}${P}${P}${F}${P}${D}${P}${X} ${V} ${V} ${D}${P}${F}${P}${P}${P}${P}${F}${P}${D}${P}${X} ${V} ${V} ${D}${P}${F}${P}${P}${P}${P}${F}${P}${D}${P}${X} ${V}\n" +# Row 10 - Neck +printf " ${V} ${D}${P}${F}${P}${P}${F}${P}${D}${P}${X} ${V} ${V} ${D}${P}${F}${P}${P}${F}${P}${D}${P}${X} ${V} ${V} ${D}${P}${F}${P}${P}${F}${P}${D}${P}${X} ${V} ${V} ${D}${P}${F}${P}${P}${F}${P}${D}${P}${X} ${V}\n" +# Row 11 - Shoulders +printf " ${V} ${D}${P}${F}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${F}${P}${D}${P}${X} ${V} ${V} ${D}${P}${F}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${F}${P}${D}${P}${X} ${V} ${V} ${D}${P}${F}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${F}${P}${D}${P}${X} ${V} ${V} ${D}${P}${F}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${F}${P}${D}${P}${X} ${V}\n" +# Row 12 - Upper torso +printf " ${V} ${C}${P}${F}${P}${P}${P}${D}${P}${F}${P}${P}${P}${P}${D}${P}${F}${P}${P}${P}${C}${P}${X} ${V} ${V} ${C}${P}${F}${P}${P}${P}${D}${P}${F}${P}${P}${P}${P}${D}${P}${F}${P}${P}${P}${C}${P}${X} ${V} ${V} ${C}${P}${F}${P}${P}${P}${D}${P}${F}${P}${P}${P}${P}${D}${P}${F}${P}${P}${P}${C}${P}${X} ${V} ${V} ${C}${P}${F}${P}${P}${P}${D}${P}${F}${P}${P}${P}${P}${D}${P}${F}${P}${P}${P}${C}${P}${X} ${V}\n" +# Row 13 - Mid torso with claws +printf " ${V} ${T}${P}${D}${P}${F}${P}${P}${D}${P}${F}${P}${P}${D}${P}${F}${P}${P}${D}${P}${T}${P}${X} ${V} ${V} ${T}${P}${D}${P}${F}${P}${P}${D}${P}${F}${P}${P}${D}${P}${F}${P}${P}${D}${P}${T}${P}${X} ${V} ${V} ${T}${P}${D}${P}${F}${P}${P}${D}${P}${F}${P}${P}${D}${P}${F}${P}${P}${D}${P}${T}${P}${X} ${V} ${V} ${T}${P}${D}${P}${F}${P}${P}${D}${P}${F}${P}${P}${D}${P}${F}${P}${P}${D}${P}${T}${P}${X} ${V}\n" +# Row 14 - Lower torso +printf " ${V} ${D}${P}${F}${P}${P}${P}${P}${P}${P}${P}${P}${F}${P}${D}${P}${X} ${V} ${V} ${D}${P}${F}${P}${P}${P}${P}${P}${P}${P}${P}${F}${P}${D}${P}${X} ${V} ${V} ${D}${P}${F}${P}${P}${P}${P}${P}${P}${P}${P}${F}${P}${D}${P}${X} ${V} ${V} ${D}${P}${F}${P}${P}${P}${P}${P}${P}${P}${P}${F}${P}${D}${P}${X} ${V}\n" +# Row 15 - Hips +printf " ${V} ${D}${P}${F}${P}${P}${P}${P}${P}${P}${F}${P}${D}${P}${X} ${V} ${V} ${D}${P}${F}${P}${P}${P}${P}${P}${P}${F}${P}${D}${P}${X} ${V} ${V} ${D}${P}${F}${P}${P}${P}${P}${P}${P}${F}${P}${D}${P}${X} ${V} ${V} ${D}${P}${F}${P}${P}${P}${P}${P}${P}${F}${P}${D}${P}${X} ${V}\n" +# Row 16 - Upper legs - animated +printf " ${V} ${F}${P}${P}${P}${X} ${F}${P}${P}${P}${X} ${V} ${V} ${F}${P}${P}${P}${F}${P}${P}${P}${X} ${V} ${V} ${F}${P}${P}${P}${X} ${F}${P}${P}${P}${X} ${V} ${V} ${F}${P}${P}${P}${F}${P}${P}${P}${X} ${V}\n" +# Row 17 - Mid legs +printf " ${V} ${D}${P}${F}${P}${X} ${F}${P}${D}${P}${X} ${V} ${V} ${D}${P}${F}${P}${F}${P}${D}${P}${X} ${V} ${V} ${D}${P}${F}${P}${X} ${F}${P}${D}${P}${X} ${V} ${V} ${D}${P}${F}${P}${F}${P}${D}${P}${X} ${V}\n" +# Row 18 - Lower legs +printf " ${V} ${D}${P}${F}${P}${X} ${F}${P}${D}${P}${X} ${V} ${V} ${D}${P}${F}${P}${X} ${F}${P}${D}${P}${X} ${V} ${V} ${D}${P}${F}${P}${X} ${F}${P}${D}${P}${X} ${V} ${V} ${D}${P}${F}${P}${X} ${F}${P}${D}${P}${X} ${V}\n" +# Row 19 - Feet with claws +printf " ${V} ${C}${P}${D}${P}${F}${P}${X} ${F}${P}${D}${P}${C}${P}${X} ${V} ${V} ${C}${P}${D}${P}${F}${P}${X} ${F}${P}${D}${P}${C}${P}${X} ${V} ${V} ${C}${P}${D}${P}${F}${P}${X} ${F}${P}${D}${P}${C}${P}${X} ${V} ${V} ${C}${P}${D}${P}${F}${P}${X} ${F}${P}${D}${P}${C}${P}${X} ${V}\n" +# Row 20 - Claws +printf " ${V} ${T}${P}${C}${P}${X} ${C}${P}${T}${P}${X} ${V} ${V} ${T}${P}${C}${P}${X} ${C}${P}${T}${P}${X} ${V} ${V} ${T}${P}${C}${P}${X} ${C}${P}${T}${P}${X} ${V} ${V} ${T}${P}${C}${P}${X} ${C}${P}${T}${P}${X} ${V}\n" +hline_bottom +echo "" + +echo -e "\033[1m WALKING LEFT (SIDE VIEW)\033[0m" +echo " Frame 1 Frame 2 Frame 3 Frame 4" +hline +# Row 1 - Ear +printf " ${V} ${D}${P}${P}${X} ${V} ${V} ${D}${P}${P}${X} ${V} ${V} ${D}${P}${P}${X} ${V} ${V} ${D}${P}${P}${X} ${V}\n" +# Row 2 - Ear to head +printf " ${V} ${D}${P}${F}${P}${P}${X} ${V} ${V} ${D}${P}${F}${P}${P}${X} ${V} ${V} ${D}${P}${F}${P}${P}${X} ${V} ${V} ${D}${P}${F}${P}${P}${X} ${V}\n" +# Row 3 - Head top +printf " ${V} ${D}${P}${F}${P}${P}${P}${P}${P}${D}${P}${X} ${V} ${V} ${D}${P}${F}${P}${P}${P}${P}${P}${D}${P}${X} ${V} ${V} ${D}${P}${F}${P}${P}${P}${P}${P}${D}${P}${X} ${V} ${V} ${D}${P}${F}${P}${P}${P}${P}${P}${D}${P}${X} ${V}\n" +# Row 4 - Brow +printf " ${V} ${F}${P}${L}${P}${F}${P}${P}${P}${P}${F}${P}${X} ${V} ${V} ${F}${P}${L}${P}${F}${P}${P}${P}${P}${F}${P}${X} ${V} ${V} ${F}${P}${L}${P}${F}${P}${P}${P}${P}${F}${P}${X} ${V} ${V} ${F}${P}${L}${P}${F}${P}${P}${P}${P}${F}${P}${X} ${V}\n" +# Row 5 - Eye (side) +printf " ${V} ${E}${P}${P}${F}${P}${P}${P}${P}${P}${F}${P}${X} ${V} ${V} ${E}${P}${P}${F}${P}${P}${P}${P}${P}${F}${P}${X} ${V} ${V} ${E}${P}${P}${F}${P}${P}${P}${P}${P}${F}${P}${X} ${V} ${V} ${E}${P}${P}${F}${P}${P}${P}${P}${P}${F}${P}${X} ${V}\n" +# Row 6 - Muzzle +printf " ${V} ${D}${P}${M}${P}${P}${F}${P}${P}${P}${P}${D}${P}${X} ${V} ${V} ${D}${P}${M}${P}${P}${F}${P}${P}${P}${P}${D}${P}${X} ${V} ${V} ${D}${P}${M}${P}${P}${F}${P}${P}${P}${P}${D}${P}${X} ${V} ${V} ${D}${P}${M}${P}${P}${F}${P}${P}${P}${P}${D}${P}${X} ${V}\n" +# Row 7 - Mouth +printf " ${V} ${T}${P}${M}${P}${P}${F}${P}${P}${D}${P}${X} ${V} ${V} ${T}${P}${M}${P}${P}${F}${P}${P}${D}${P}${X} ${V} ${V} ${T}${P}${M}${P}${P}${F}${P}${P}${D}${P}${X} ${V} ${V} ${T}${P}${M}${P}${P}${F}${P}${P}${D}${P}${X} ${V}\n" +# Row 8 - Chin/neck +printf " ${V} ${D}${P}${F}${P}${P}${D}${P}${X} ${V} ${V} ${D}${P}${F}${P}${P}${D}${P}${X} ${V} ${V} ${D}${P}${F}${P}${P}${D}${P}${X} ${V} ${V} ${D}${P}${F}${P}${P}${D}${P}${X} ${V}\n" +# Row 9 - Shoulders +printf " ${V} ${C}${P}${D}${P}${F}${P}${P}${P}${P}${P}${P}${D}${P}${X} ${V} ${V} ${C}${P}${D}${P}${F}${P}${P}${P}${P}${P}${P}${D}${P}${X} ${V} ${V} ${C}${P}${D}${P}${F}${P}${P}${P}${P}${P}${P}${D}${P}${X} ${V} ${V} ${C}${P}${D}${P}${F}${P}${P}${P}${P}${P}${P}${D}${P}${X} ${V}\n" +# Row 10 - Arm/torso +printf " ${V} ${T}${P}${F}${P}${P}${D}${P}${F}${P}${P}${P}${P}${D}${P}${X} ${V} ${V} ${T}${P}${F}${P}${P}${D}${P}${F}${P}${P}${P}${P}${D}${P}${X} ${V} ${V} ${T}${P}${F}${P}${P}${D}${P}${F}${P}${P}${P}${P}${D}${P}${X} ${V} ${V} ${T}${P}${F}${P}${P}${D}${P}${F}${P}${P}${P}${P}${D}${P}${X} ${V}\n" +# Row 11 - Mid torso +printf " ${V} ${D}${P}${F}${P}${P}${P}${P}${P}${P}${D}${P}${X} ${V} ${V} ${D}${P}${F}${P}${P}${P}${P}${P}${P}${D}${P}${X} ${V} ${V} ${D}${P}${F}${P}${P}${P}${P}${P}${P}${D}${P}${X} ${V} ${V} ${D}${P}${F}${P}${P}${P}${P}${P}${P}${D}${P}${X} ${V}\n" +# Row 12 - Lower torso +printf " ${V} ${D}${P}${F}${P}${P}${P}${P}${P}${P}${D}${P}${X} ${V} ${V} ${D}${P}${F}${P}${P}${P}${P}${P}${P}${D}${P}${X} ${V} ${V} ${D}${P}${F}${P}${P}${P}${P}${P}${P}${D}${P}${X} ${V} ${V} ${D}${P}${F}${P}${P}${P}${P}${P}${P}${D}${P}${X} ${V}\n" +# Row 13 - Hips +printf " ${V} ${D}${P}${F}${P}${P}${P}${P}${D}${P}${X} ${V} ${V} ${D}${P}${F}${P}${P}${P}${P}${D}${P}${X} ${V} ${V} ${D}${P}${F}${P}${P}${P}${P}${D}${P}${X} ${V} ${V} ${D}${P}${F}${P}${P}${P}${P}${D}${P}${X} ${V}\n" +# Row 14-20 - Legs animated +printf " ${V} ${F}${P}${P}${P}${P}${X} ${V} ${V} ${F}${P}${P}${X} ${F}${P}${P}${X} ${V} ${V} ${F}${P}${P}${P}${P}${X} ${V} ${V} ${F}${P}${P}${X} ${F}${P}${P}${X} ${V}\n" +printf " ${V} ${D}${P}${F}${P}${F}${P}${D}${P}${X} ${V} ${V} ${D}${P}${F}${P}${X} ${F}${P}${D}${P}${X} ${V} ${V} ${D}${P}${F}${P}${F}${P}${D}${P}${X} ${V} ${V} ${D}${P}${F}${P}${X} ${F}${P}${D}${P}${X} ${V}\n" +printf " ${V} ${D}${P}${F}${P}${F}${P}${D}${P}${X} ${V} ${V} ${D}${P}${F}${P}${X} ${F}${P}${D}${P}${X} ${V} ${V} ${D}${P}${F}${P}${F}${P}${D}${P}${X} ${V} ${V} ${D}${P}${F}${P}${X} ${F}${P}${D}${P}${X} ${V}\n" +printf " ${V} ${C}${P}${D}${P}${F}${P}${F}${P}${D}${P}${C}${P}${X} ${V} ${V} ${C}${P}${D}${P}${F}${P}${X} ${F}${P}${D}${P}${C}${P}${X} ${V} ${V} ${C}${P}${D}${P}${F}${P}${F}${P}${D}${P}${C}${P}${X} ${V} ${V} ${C}${P}${D}${P}${F}${P}${X} ${F}${P}${D}${P}${C}${P}${X} ${V}\n" +printf " ${V} ${T}${P}${C}${P}${X} ${C}${P}${T}${P}${X} ${V} ${V} ${T}${P}${C}${P}${X} ${C}${P}${T}${P}${X} ${V} ${V} ${T}${P}${C}${P}${X} ${C}${P}${T}${P}${X} ${V} ${V} ${T}${P}${C}${P}${X} ${C}${P}${T}${P}${X} ${V}\n" +printf " ${V} ${V} ${V} ${V} ${V} ${V} ${V} ${V}\n" +hline_bottom + +echo "" +echo -e " \033[1mDimensions:\033[0m" +echo " • Sprite size: 16 pixels wide × 20 pixels tall" +echo " • Character size: 32 chars wide × 20 rows (each pixel = 2 chars)" +echo " • Color palette: Brown fur, yellow eyes, white fangs/claws" +echo "" diff --git a/hotel.sh b/hotel.sh new file mode 100755 index 0000000..43bf8b9 --- /dev/null +++ b/hotel.sh @@ -0,0 +1,100 @@ +#!/bin/bash +# Hotel - Exterior View (Front Facade) +# Using ANSI 24-bit color codes + +clear +echo "" +echo " ╔══════════════════════════════════════════════════════════════════════╗" +echo " ║ GRAND HOTEL - EXTERIOR VIEW ║" +echo " ╚══════════════════════════════════════════════════════════════════════╝" +echo "" + +# Colors +SKY="\033[48;2;135;180;220m" +WALL="\033[48;2;180;160;140m" +WIN="\033[48;2;100;140;180m" +WIN_LIT="\033[48;2;255;230;150m" +WIN_FRAME="\033[48;2;80;70;60m" +ROOF="\033[48;2;100;80;70m" +ROOF_H="\033[48;2;120;100;90m" +GROUND="\033[48;2;80;80;80m" +GRASS="\033[48;2;60;120;50m" +DOOR="\033[48;2;120;60;40m" +DOOR_H="\033[48;2;160;100;60m" +GLASS="\033[48;2;180;200;210m" +AWN="\033[48;2;160;40;40m" +AWN_S="\033[48;2;120;30;30m" +SIGN="\033[48;2;40;40;50m" +SIGN_LIT="\033[48;2;255;200;100m" +TRIM="\033[48;2;200;190;170m" +PLANT="\033[48;2;40;100;40m" +LAMP="\033[48;2;60;60;60m" +LAMP_ON="\033[48;2;255;240;200m" +X="\033[0m" +P=" " + +# SKY +echo -e "${SKY}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${X}" +echo -e "${SKY}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${X}" + +# ROOF +echo -e "${SKY}${P}${P}${P}${P}${P}${P}${ROOF}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${SKY}${P}${P}${P}${P}${P}${X}" +echo -e "${SKY}${P}${P}${P}${P}${P}${ROOF}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${SKY}${P}${P}${P}${P}${X}" +echo -e "${SKY}${P}${P}${P}${P}${ROOF_H}${ROOF}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${ROOF}${SKY}${P}${P}${P}${X}" + +# ROOF EDGE / TRIM +echo -e "${SKY}${P}${P}${P}${TRIM}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${TRIM}${SKY}${P}${P}${X}" + +# FLOOR 5 +echo -e "${SKY}${P}${P}${P}${WALL}${P}${WIN_FRAME}${WIN}${P}${WIN_FRAME}${WALL}${P}${WIN_FRAME}${WIN}${P}${WIN_FRAME}${WALL}${P}${WIN_FRAME}${WIN}${P}${WIN_FRAME}${WALL}${P}${WIN_FRAME}${WIN}${P}${WIN_FRAME}${WALL}${P}${WIN_FRAME}${WIN}${P}${WIN_FRAME}${WALL}${SKY}${P}${P}${X}" +echo -e "${SKY}${P}${P}${P}${WALL}${P}${WIN_FRAME}${WIN}${P}${WIN_FRAME}${WALL}${P}${WIN_FRAME}${WIN}${P}${WIN_FRAME}${WALL}${P}${WIN_FRAME}${WIN}${P}${WIN_FRAME}${WALL}${P}${WIN_FRAME}${WIN}${P}${WIN_FRAME}${WALL}${P}${WIN_FRAME}${WIN}${P}${WIN_FRAME}${WALL}${SKY}${P}${P}${X}" +echo -e "${SKY}${P}${P}${P}${WALL}${P}${P}${P}${P}${P}${WALL}${P}${P}${P}${P}${P}${WALL}${P}${P}${P}${P}${P}${WALL}${P}${P}${P}${P}${P}${WALL}${P}${P}${P}${P}${P}${WALL}${SKY}${P}${P}${X}" + +# FLOOR 4 +echo -e "${SKY}${P}${P}${P}${WALL}${P}${WIN_FRAME}${WIN_LIT}${P}${WIN_FRAME}${WALL}${P}${WIN_FRAME}${WIN}${P}${WIN_FRAME}${WALL}${P}${WIN_FRAME}${WIN_LIT}${P}${WIN_FRAME}${WALL}${P}${WIN_FRAME}${WIN}${P}${WIN_FRAME}${WALL}${P}${WIN_FRAME}${WIN_LIT}${P}${WIN_FRAME}${WALL}${SKY}${P}${P}${X}" +echo -e "${SKY}${P}${P}${P}${WALL}${P}${WIN_FRAME}${WIN_LIT}${P}${WIN_FRAME}${WALL}${P}${WIN_FRAME}${WIN}${P}${WIN_FRAME}${WALL}${P}${WIN_FRAME}${WIN_LIT}${P}${WIN_FRAME}${WALL}${P}${WIN_FRAME}${WIN}${P}${WIN_FRAME}${WALL}${P}${WIN_FRAME}${WIN_LIT}${P}${WIN_FRAME}${WALL}${SKY}${P}${P}${X}" +echo -e "${SKY}${P}${P}${P}${WALL}${P}${P}${P}${P}${P}${WALL}${P}${P}${P}${P}${P}${WALL}${P}${P}${P}${P}${P}${WALL}${P}${P}${P}${P}${P}${WALL}${P}${P}${P}${P}${P}${WALL}${SKY}${P}${P}${X}" + +# FLOOR 3 +echo -e "${SKY}${P}${P}${P}${WALL}${P}${WIN_FRAME}${WIN}${P}${WIN_FRAME}${WALL}${P}${WIN_FRAME}${WIN_LIT}${P}${WIN_FRAME}${WALL}${P}${WIN_FRAME}${WIN}${P}${WIN_FRAME}${WALL}${P}${WIN_FRAME}${WIN_LIT}${P}${WIN_FRAME}${WALL}${P}${WIN_FRAME}${WIN}${P}${WIN_FRAME}${WALL}${SKY}${P}${P}${X}" +echo -e "${SKY}${P}${P}${P}${WALL}${P}${WIN_FRAME}${WIN}${P}${WIN_FRAME}${WALL}${P}${WIN_FRAME}${WIN_LIT}${P}${WIN_FRAME}${WALL}${P}${WIN_FRAME}${WIN}${P}${WIN_FRAME}${WALL}${P}${WIN_FRAME}${WIN_LIT}${P}${WIN_FRAME}${WALL}${P}${WIN_FRAME}${WIN}${P}${WIN_FRAME}${WALL}${SKY}${P}${P}${X}" +echo -e "${SKY}${P}${P}${P}${WALL}${P}${P}${P}${P}${P}${WALL}${P}${P}${P}${P}${P}${WALL}${P}${P}${P}${P}${P}${WALL}${P}${P}${P}${P}${P}${WALL}${P}${P}${P}${P}${P}${WALL}${SKY}${P}${P}${X}" + +# FLOOR 2 +echo -e "${SKY}${P}${P}${P}${WALL}${P}${WIN_FRAME}${WIN_LIT}${P}${WIN_FRAME}${WALL}${P}${WIN_FRAME}${WIN_LIT}${P}${WIN_FRAME}${WALL}${P}${WIN_FRAME}${WIN}${P}${WIN_FRAME}${WALL}${P}${WIN_FRAME}${WIN}${P}${WIN_FRAME}${WALL}${P}${WIN_FRAME}${WIN_LIT}${P}${WIN_FRAME}${WALL}${SKY}${P}${P}${X}" +echo -e "${SKY}${P}${P}${P}${WALL}${P}${WIN_FRAME}${WIN_LIT}${P}${WIN_FRAME}${WALL}${P}${WIN_FRAME}${WIN_LIT}${P}${WIN_FRAME}${WALL}${P}${WIN_FRAME}${WIN}${P}${WIN_FRAME}${WALL}${P}${WIN_FRAME}${WIN}${P}${WIN_FRAME}${WALL}${P}${WIN_FRAME}${WIN_LIT}${P}${WIN_FRAME}${WALL}${SKY}${P}${P}${X}" +echo -e "${SKY}${P}${P}${P}${WALL}${P}${P}${P}${P}${P}${WALL}${P}${P}${P}${P}${P}${WALL}${P}${P}${P}${P}${P}${WALL}${P}${P}${P}${P}${P}${WALL}${P}${P}${P}${P}${P}${WALL}${SKY}${P}${P}${X}" + +# HOTEL SIGN +echo -e "${SKY}${P}${P}${P}${WALL}${P}${P}${P}${P}${P}${SIGN}${P}${SIGN_LIT}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${SIGN_LIT}${P}${SIGN}${P}${P}${P}${P}${P}${WALL}${SKY}${P}${P}${X}" + +# FLOOR 1 - ENTRANCE +echo -e "${SKY}${P}${P}${P}${WALL}${P}${WIN_FRAME}${WIN}${P}${WIN_FRAME}${WALL}${P}${P}${P}${GLASS}${GLASS}${GLASS}${GLASS}${GLASS}${GLASS}${GLASS}${GLASS}${GLASS}${GLASS}${P}${P}${WALL}${P}${WIN_FRAME}${WIN}${P}${WIN_FRAME}${WALL}${SKY}${P}${P}${X}" +echo -e "${SKY}${P}${P}${P}${WALL}${P}${WIN_FRAME}${WIN}${P}${WIN_FRAME}${WALL}${P}${P}${P}${GLASS}${GLASS}${DOOR}${DOOR}${DOOR}${DOOR}${DOOR}${DOOR}${GLASS}${GLASS}${P}${P}${WALL}${P}${WIN_FRAME}${WIN}${P}${WIN_FRAME}${WALL}${SKY}${P}${P}${X}" +echo -e "${SKY}${P}${P}${P}${WALL}${P}${P}${P}${P}${P}${WALL}${P}${P}${P}${GLASS}${GLASS}${DOOR}${DOOR_H}${DOOR}${DOOR}${DOOR_H}${DOOR}${GLASS}${GLASS}${P}${P}${WALL}${P}${P}${P}${P}${P}${WALL}${SKY}${P}${P}${X}" + +# AWNING +echo -e "${SKY}${P}${P}${P}${WALL}${P}${P}${P}${P}${AWN}${AWN}${AWN}${AWN}${AWN}${AWN}${AWN}${AWN}${AWN}${AWN}${AWN}${AWN}${AWN}${AWN}${AWN}${AWN}${AWN}${AWN}${P}${P}${P}${P}${WALL}${SKY}${P}${P}${X}" +echo -e "${SKY}${P}${P}${P}${WALL}${P}${P}${P}${AWN_S}${AWN}${AWN_S}${AWN}${AWN_S}${AWN}${AWN_S}${AWN}${AWN_S}${AWN}${AWN_S}${AWN}${AWN_S}${AWN}${AWN_S}${AWN}${AWN_S}${AWN}${AWN_S}${P}${P}${P}${WALL}${SKY}${P}${P}${X}" + +# ENTRANCE GROUND LEVEL +echo -e "${SKY}${P}${P}${LAMP}${WALL}${P}${PLANT}${P}${P}${P}${P}${P}${P}${GLASS}${GLASS}${DOOR}${DOOR_H}${DOOR}${DOOR}${DOOR_H}${DOOR}${GLASS}${GLASS}${P}${P}${P}${P}${P}${P}${PLANT}${P}${WALL}${LAMP}${SKY}${P}${X}" +echo -e "${SKY}${P}${P}${LAMP_ON}${WALL}${P}${PLANT}${P}${P}${P}${P}${P}${P}${GLASS}${GLASS}${GLASS}${GLASS}${GLASS}${GLASS}${GLASS}${GLASS}${GLASS}${GLASS}${P}${P}${P}${P}${P}${P}${PLANT}${P}${WALL}${LAMP_ON}${SKY}${P}${X}" + +# GROUND / SIDEWALK +echo -e "${GRASS}${P}${P}${GROUND}${GROUND}${GROUND}${GROUND}${GROUND}${GROUND}${GROUND}${GROUND}${GROUND}${GROUND}${GROUND}${GROUND}${GROUND}${GROUND}${GROUND}${GROUND}${GROUND}${GROUND}${GROUND}${GROUND}${GROUND}${GROUND}${GROUND}${GROUND}${GROUND}${GROUND}${GROUND}${GROUND}${GROUND}${GROUND}${GRASS}${P}${X}" +echo -e "${GRASS}${P}${P}${P}${GROUND}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${GROUND}${P}${GRASS}${P}${X}" +echo -e "${GRASS}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${X}" + +echo "" +echo " ┌──────────────────────────────────────────────────────────────────────┐" +echo " │ LEGEND │" +echo " ├──────────────────────────────────────────────────────────────────────┤" +echo -e " │ ${WALL} ${X} Wall ${WIN} ${X} Window (dark) ${WIN_LIT} ${X} Window (lit) │" +echo -e " │ ${ROOF} ${X} Roof ${DOOR} ${X} Door ${GLASS} ${X} Glass │" +echo -e " │ ${AWN} ${X} Awning ${PLANT} ${X} Plants ${LAMP_ON} ${X} Lamp │" +echo -e " │ ${GROUND} ${X} Ground ${GRASS} ${X} Grass ${SIGN_LIT} ${X} Sign lights │" +echo " └──────────────────────────────────────────────────────────────────────┘" +echo "" +echo " 5-story hotel with central glass entrance, red awning, and lit windows" +echo "" diff --git a/knight.sh b/knight.sh new file mode 100755 index 0000000..66b86f2 --- /dev/null +++ b/knight.sh @@ -0,0 +1,182 @@ +#!/bin/bash +# Knight in Armor v2 - Improved Detail +# Better proportions, sharper edges, ground shadow + +clear + +c() { echo -en "\033[38;2;$1;$2;$3m\033[48;2;$4;$5;$6m"; } +X="\033[0m" + +echo "" +echo " ╔═══════════════════════════════════════════════════════════════════════════════════╗" +echo " ║ KNIGHT IN ARMOR v2 - IMPROVED DETAIL (Facing Down) ║" +echo " ╚═══════════════════════════════════════════════════════════════════════════════════╝" +echo "" + +# ═══════════════════════════════════════════════════════════════════════════════ +# REFINED COLOR PALETTE +# ═══════════════════════════════════════════════════════════════════════════════ + +# Metal (more contrast) +M1="220 225 235" # Brightest highlight +M2="170 175 185" # Light +M3="120 125 135" # Mid +M4="75 80 90" # Dark +M5="40 42 50" # Darkest + +# Gold (richer) +G1="255 200 60" # Bright gold +G2="180 140 40" # Dark gold + +# Cape (deeper blue) +C1="100 120 200" # Light +C2="60 80 160" # Mid +C3="35 50 120" # Dark + +# Plume (vibrant red) +P1="240 50 50" # Bright +P2="180 30 30" # Dark + +# Shield (bold red with gold cross) +SH="180 40 40" # Shield red +SHD="130 25 25" # Shield dark + +# Sword +SW="240 245 255" # Blade bright +SWD="180 185 195" # Blade shadow + +# Shadow on ground +SD="0 0 0" + +# Terrains +GR="40 95 40" # Grass +ST="85 85 90" # Stone +SA="170 150 110" # Sand +WA="45 90 130" # Water + +echo " ┌────────────────┐┌────────────────┐┌────────────────┐┌────────────────┐" +echo " │ GRASS ││ STONE ││ SAND ││ WATER │" +echo " └────────────────┘└────────────────┘└────────────────┘└────────────────┘" + +# Unified knight drawing - 12 cells wide, tighter layout +# Each column: terrain bg, knight on top + +# Row 1: Plume top +echo -en " " +echo -en "$(c $P1 $GR) ⢀⣴⣷⣦⡀ $(c $P1 $ST) ⢀⣴⣷⣦⡀ $(c $P1 $SA) ⢀⣴⣷⣦⡀ $(c $P1 $WA) ⢀⣴⣷⣦⡀ " +echo -e "${X}" + +# Row 2: Plume body +echo -en " " +echo -en "$(c $P1 $GR) $(c $P2 $GR)⣼$(c $P1 $GR)⣿⣿⣿⣿$(c $P2 $GR)⣧$(c $P1 $GR) $(c $P1 $ST) $(c $P2 $ST)⣼$(c $P1 $ST)⣿⣿⣿⣿$(c $P2 $ST)⣧$(c $P1 $ST) $(c $P1 $SA) $(c $P2 $SA)⣼$(c $P1 $SA)⣿⣿⣿⣿$(c $P2 $SA)⣧$(c $P1 $SA) $(c $P1 $WA) $(c $P2 $WA)⣼$(c $P1 $WA)⣿⣿⣿⣿$(c $P2 $WA)⣧$(c $P1 $WA) " +echo -e "${X}" + +# Row 3: Helmet crown with plume base +echo -en " " +echo -en "$(c $M4 $GR) ⣰$(c $M3 $GR)⣿$(c $P2 $GR)⣿⣿⣿⣿$(c $M3 $GR)⣿$(c $M4 $GR)⣆ $(c $M4 $ST) ⣰$(c $M3 $ST)⣿$(c $P2 $ST)⣿⣿⣿⣿$(c $M3 $ST)⣿$(c $M4 $ST)⣆ $(c $M4 $SA) ⣰$(c $M3 $SA)⣿$(c $P2 $SA)⣿⣿⣿⣿$(c $M3 $SA)⣿$(c $M4 $SA)⣆ $(c $M4 $WA) ⣰$(c $M3 $WA)⣿$(c $P2 $WA)⣿⣿⣿⣿$(c $M3 $WA)⣿$(c $M4 $WA)⣆ " +echo -e "${X}" + +# Row 4: Helmet dome - bright center +echo -en " " +echo -en "$(c $M5 $GR) ⣼$(c $M4 $GR)⣿$(c $M3 $GR)⣿$(c $M2 $GR)⣿$(c $M1 $GR)⣿⣿$(c $M2 $GR)⣿$(c $M3 $GR)⣿$(c $M4 $GR)⣿$(c $M5 $GR)⣧ $(c $M5 $ST) ⣼$(c $M4 $ST)⣿$(c $M3 $ST)⣿$(c $M2 $ST)⣿$(c $M1 $ST)⣿⣿$(c $M2 $ST)⣿$(c $M3 $ST)⣿$(c $M4 $ST)⣿$(c $M5 $ST)⣧ $(c $M5 $SA) ⣼$(c $M4 $SA)⣿$(c $M3 $SA)⣿$(c $M2 $SA)⣿$(c $M1 $SA)⣿⣿$(c $M2 $SA)⣿$(c $M3 $SA)⣿$(c $M4 $SA)⣿$(c $M5 $SA)⣧ $(c $M5 $WA) ⣼$(c $M4 $WA)⣿$(c $M3 $WA)⣿$(c $M2 $WA)⣿$(c $M1 $WA)⣿⣿$(c $M2 $WA)⣿$(c $M3 $WA)⣿$(c $M4 $WA)⣿$(c $M5 $WA)⣧ " +echo -e "${X}" + +# Row 5: Helmet back plate +echo -en " " +echo -en "$(c $M5 $GR) ⣿$(c $M4 $GR)⣿$(c $M3 $GR)⣿$(c $M2 $GR)⣿$(c $M1 $GR)⣿⣿$(c $M2 $GR)⣿$(c $M3 $GR)⣿$(c $M4 $GR)⣿$(c $M5 $GR)⣿ $(c $M5 $ST) ⣿$(c $M4 $ST)⣿$(c $M3 $ST)⣿$(c $M2 $ST)⣿$(c $M1 $ST)⣿⣿$(c $M2 $ST)⣿$(c $M3 $ST)⣿$(c $M4 $ST)⣿$(c $M5 $ST)⣿ $(c $M5 $SA) ⣿$(c $M4 $SA)⣿$(c $M3 $SA)⣿$(c $M2 $SA)⣿$(c $M1 $SA)⣿⣿$(c $M2 $SA)⣿$(c $M3 $SA)⣿$(c $M4 $SA)⣿$(c $M5 $SA)⣿ $(c $M5 $WA) ⣿$(c $M4 $WA)⣿$(c $M3 $WA)⣿$(c $M2 $WA)⣿$(c $M1 $WA)⣿⣿$(c $M2 $WA)⣿$(c $M3 $WA)⣿$(c $M4 $WA)⣿$(c $M5 $WA)⣿ " +echo -e "${X}" + +# Row 6: Gorget with gold trim +echo -en " " +echo -en "$(c $M5 $GR) ⠸$(c $M4 $GR)⣿$(c $G1 $GR)⡿$(c $M2 $GR)⣿⣿⣿⣿$(c $G1 $GR)⢿$(c $M4 $GR)⣿$(c $M5 $GR)⠇ $(c $M5 $ST) ⠸$(c $M4 $ST)⣿$(c $G1 $ST)⡿$(c $M2 $ST)⣿⣿⣿⣿$(c $G1 $ST)⢿$(c $M4 $ST)⣿$(c $M5 $ST)⠇ $(c $M5 $SA) ⠸$(c $M4 $SA)⣿$(c $G1 $SA)⡿$(c $M2 $SA)⣿⣿⣿⣿$(c $G1 $SA)⢿$(c $M4 $SA)⣿$(c $M5 $SA)⠇ $(c $M5 $WA) ⠸$(c $M4 $WA)⣿$(c $G1 $WA)⡿$(c $M2 $WA)⣿⣿⣿⣿$(c $G1 $WA)⢿$(c $M4 $WA)⣿$(c $M5 $WA)⠇ " +echo -e "${X}" + +# Row 7: Shoulders - wide pauldrons +echo -en " " +echo -en "$(c $C3 $GR)⣴$(c $M4 $GR)⣿$(c $M3 $GR)⣿$(c $M2 $GR)⣿$(c $M1 $GR)⣿$(c $C2 $GR)⣿⣿$(c $M1 $GR)⣿$(c $M2 $GR)⣿$(c $M3 $GR)⣿$(c $M4 $GR)⣿$(c $C3 $GR)⣦$(c $C3 $ST)⣴$(c $M4 $ST)⣿$(c $M3 $ST)⣿$(c $M2 $ST)⣿$(c $M1 $ST)⣿$(c $C2 $ST)⣿⣿$(c $M1 $ST)⣿$(c $M2 $ST)⣿$(c $M3 $ST)⣿$(c $M4 $ST)⣿$(c $C3 $ST)⣦$(c $C3 $SA)⣴$(c $M4 $SA)⣿$(c $M3 $SA)⣿$(c $M2 $SA)⣿$(c $M1 $SA)⣿$(c $C2 $SA)⣿⣿$(c $M1 $SA)⣿$(c $M2 $SA)⣿$(c $M3 $SA)⣿$(c $M4 $SA)⣿$(c $C3 $SA)⣦$(c $C3 $WA)⣴$(c $M4 $WA)⣿$(c $M3 $WA)⣿$(c $M2 $WA)⣿$(c $M1 $WA)⣿$(c $C2 $WA)⣿⣿$(c $M1 $WA)⣿$(c $M2 $WA)⣿$(c $M3 $WA)⣿$(c $M4 $WA)⣿$(c $C3 $WA)⣦" +echo -e "${X}" + +# Row 8: Pauldrons with spikes + cape +echo -en " " +echo -en "$(c $C1 $GR)⣿$(c $M3 $GR)⣿$(c $G1 $GR)⣿$(c $M2 $GR)⣿$(c $M3 $GR)⣿$(c $C1 $GR)⣿⣿$(c $M3 $GR)⣿$(c $M2 $GR)⣿$(c $G1 $GR)⣿$(c $M3 $GR)⣿$(c $C1 $GR)⣿$(c $C1 $ST)⣿$(c $M3 $ST)⣿$(c $G1 $ST)⣿$(c $M2 $ST)⣿$(c $M3 $ST)⣿$(c $C1 $ST)⣿⣿$(c $M3 $ST)⣿$(c $M2 $ST)⣿$(c $G1 $ST)⣿$(c $M3 $ST)⣿$(c $C1 $ST)⣿$(c $C1 $SA)⣿$(c $M3 $SA)⣿$(c $G1 $SA)⣿$(c $M2 $SA)⣿$(c $M3 $SA)⣿$(c $C1 $SA)⣿⣿$(c $M3 $SA)⣿$(c $M2 $SA)⣿$(c $G1 $SA)⣿$(c $M3 $SA)⣿$(c $C1 $SA)⣿$(c $C1 $WA)⣿$(c $M3 $WA)⣿$(c $G1 $WA)⣿$(c $M2 $WA)⣿$(c $M3 $WA)⣿$(c $C1 $WA)⣿⣿$(c $M3 $WA)⣿$(c $M2 $WA)⣿$(c $G1 $WA)⣿$(c $M3 $WA)⣿$(c $C1 $WA)⣿" +echo -e "${X}" + +# Row 9: Upper torso + cape + arms start +echo -en " " +echo -en "$(c $C1 $GR)⣿$(c $C2 $GR)⣿$(c $M4 $GR)⣿$(c $M3 $GR)⣿$(c $C2 $GR)⣿$(c $C1 $GR)⣿⣿$(c $C2 $GR)⣿$(c $M3 $GR)⣿$(c $M4 $GR)⣿$(c $C2 $GR)⣿$(c $C1 $GR)⣿$(c $C1 $ST)⣿$(c $C2 $ST)⣿$(c $M4 $ST)⣿$(c $M3 $ST)⣿$(c $C2 $ST)⣿$(c $C1 $ST)⣿⣿$(c $C2 $ST)⣿$(c $M3 $ST)⣿$(c $M4 $ST)⣿$(c $C2 $ST)⣿$(c $C1 $ST)⣿$(c $C1 $SA)⣿$(c $C2 $SA)⣿$(c $M4 $SA)⣿$(c $M3 $SA)⣿$(c $C2 $SA)⣿$(c $C1 $SA)⣿⣿$(c $C2 $SA)⣿$(c $M3 $SA)⣿$(c $M4 $SA)⣿$(c $C2 $SA)⣿$(c $C1 $SA)⣿$(c $C1 $WA)⣿$(c $C2 $WA)⣿$(c $M4 $WA)⣿$(c $M3 $WA)⣿$(c $C2 $WA)⣿$(c $C1 $WA)⣿⣿$(c $C2 $WA)⣿$(c $M3 $WA)⣿$(c $M4 $WA)⣿$(c $C2 $WA)⣿$(c $C1 $WA)⣿" +echo -e "${X}" + +# Row 10: Shield (left) + torso + sword hilt (right) +echo -en " " +echo -en "$(c $C2 $GR)⣿$(c $SH $GR)⣿$(c $G1 $GR)⣿$(c $SH $GR)⣿$(c $C2 $GR)⣿$(c $C1 $GR)⣿⣿$(c $C2 $GR)⣿$(c $M3 $GR)⣿$(c $G2 $GR)⣿$(c $SW $GR)⡇$(c $C2 $GR)⣿$(c $C2 $ST)⣿$(c $SH $ST)⣿$(c $G1 $ST)⣿$(c $SH $ST)⣿$(c $C2 $ST)⣿$(c $C1 $ST)⣿⣿$(c $C2 $ST)⣿$(c $M3 $ST)⣿$(c $G2 $ST)⣿$(c $SW $ST)⡇$(c $C2 $ST)⣿$(c $C2 $SA)⣿$(c $SH $SA)⣿$(c $G1 $SA)⣿$(c $SH $SA)⣿$(c $C2 $SA)⣿$(c $C1 $SA)⣿⣿$(c $C2 $SA)⣿$(c $M3 $SA)⣿$(c $G2 $SA)⣿$(c $SW $SA)⡇$(c $C2 $SA)⣿$(c $C2 $WA)⣿$(c $SH $WA)⣿$(c $G1 $WA)⣿$(c $SH $WA)⣿$(c $C2 $WA)⣿$(c $C1 $WA)⣿⣿$(c $C2 $WA)⣿$(c $M3 $WA)⣿$(c $G2 $WA)⣿$(c $SW $WA)⡇$(c $C2 $WA)⣿" +echo -e "${X}" + +# Row 11: Shield with cross + mid torso + sword blade +echo -en " " +echo -en "$(c $C3 $GR)⣿$(c $SH $GR)⣿$(c $G1 $GR)⣿$(c $G1 $GR)⣿$(c $C2 $GR)⣿$(c $C1 $GR)⣿⣿$(c $C2 $GR)⣿$(c $M4 $GR)⣿$(c $SW $GR)⣿$(c $SW $GR)⡇$(c $C3 $GR)⣿$(c $C3 $ST)⣿$(c $SH $ST)⣿$(c $G1 $ST)⣿$(c $G1 $ST)⣿$(c $C2 $ST)⣿$(c $C1 $ST)⣿⣿$(c $C2 $ST)⣿$(c $M4 $ST)⣿$(c $SW $ST)⣿$(c $SW $ST)⡇$(c $C3 $ST)⣿$(c $C3 $SA)⣿$(c $SH $SA)⣿$(c $G1 $SA)⣿$(c $G1 $SA)⣿$(c $C2 $SA)⣿$(c $C1 $SA)⣿⣿$(c $C2 $SA)⣿$(c $M4 $SA)⣿$(c $SW $SA)⣿$(c $SW $SA)⡇$(c $C3 $SA)⣿$(c $C3 $WA)⣿$(c $SH $WA)⣿$(c $G1 $WA)⣿$(c $G1 $WA)⣿$(c $C2 $WA)⣿$(c $C1 $WA)⣿⣿$(c $C2 $WA)⣿$(c $M4 $WA)⣿$(c $SW $WA)⣿$(c $SW $WA)⡇$(c $C3 $WA)⣿" +echo -e "${X}" + +# Row 12: Lower shield + fauld (waist) + sword +echo -en " " +echo -en "$(c $C3 $GR)⠸$(c $SHD $GR)⣿$(c $SH $GR)⣿$(c $SHD $GR)⣿$(c $C2 $GR)⣿$(c $G1 $GR)⣤⣤$(c $C2 $GR)⣿$(c $M4 $GR)⣿$(c $SW $GR)⣿$(c $SWD $GR)⡇$(c $C3 $GR)⠇$(c $C3 $ST)⠸$(c $SHD $ST)⣿$(c $SH $ST)⣿$(c $SHD $ST)⣿$(c $C2 $ST)⣿$(c $G1 $ST)⣤⣤$(c $C2 $ST)⣿$(c $M4 $ST)⣿$(c $SW $ST)⣿$(c $SWD $ST)⡇$(c $C3 $ST)⠇$(c $C3 $SA)⠸$(c $SHD $SA)⣿$(c $SH $SA)⣿$(c $SHD $SA)⣿$(c $C2 $SA)⣿$(c $G1 $SA)⣤⣤$(c $C2 $SA)⣿$(c $M4 $SA)⣿$(c $SW $SA)⣿$(c $SWD $SA)⡇$(c $C3 $SA)⠇$(c $C3 $WA)⠸$(c $SHD $WA)⣿$(c $SH $WA)⣿$(c $SHD $WA)⣿$(c $C2 $WA)⣿$(c $G1 $WA)⣤⣤$(c $C2 $WA)⣿$(c $M4 $WA)⣿$(c $SW $WA)⣿$(c $SWD $WA)⡇$(c $C3 $WA)⠇" +echo -e "${X}" + +# Row 13: Tassets + cape behind +echo -en " " +echo -en "$(c $C3 $GR) ⠈$(c $C2 $GR)⠻$(c $M3 $GR)⣿$(c $M2 $GR)⣿$(c $M3 $GR)⣿⣿$(c $M2 $GR)⣿$(c $M3 $GR)⣿$(c $C2 $GR)⠟$(c $C3 $GR)⠁ $(c $C3 $ST) ⠈$(c $C2 $ST)⠻$(c $M3 $ST)⣿$(c $M2 $ST)⣿$(c $M3 $ST)⣿⣿$(c $M2 $ST)⣿$(c $M3 $ST)⣿$(c $C2 $ST)⠟$(c $C3 $ST)⠁ $(c $C3 $SA) ⠈$(c $C2 $SA)⠻$(c $M3 $SA)⣿$(c $M2 $SA)⣿$(c $M3 $SA)⣿⣿$(c $M2 $SA)⣿$(c $M3 $SA)⣿$(c $C2 $SA)⠟$(c $C3 $SA)⠁ $(c $C3 $WA) ⠈$(c $C2 $WA)⠻$(c $M3 $WA)⣿$(c $M2 $WA)⣿$(c $M3 $WA)⣿⣿$(c $M2 $WA)⣿$(c $M3 $WA)⣿$(c $C2 $WA)⠟$(c $C3 $WA)⠁ " +echo -e "${X}" + +# Row 14: Upper legs (cuisses) - WIDER +echo -en " " +echo -en "$(c $M5 $GR) $(c $M4 $GR)⣿$(c $M3 $GR)⣿$(c $M2 $GR)⣿$(c $M3 $GR)⣿$(c $M5 $GR) $(c $M4 $GR)⣿$(c $M3 $GR)⣿$(c $M2 $GR)⣿$(c $M3 $GR)⣿$(c $M5 $GR) $(c $M5 $ST) $(c $M4 $ST)⣿$(c $M3 $ST)⣿$(c $M2 $ST)⣿$(c $M3 $ST)⣿$(c $M5 $ST) $(c $M4 $ST)⣿$(c $M3 $ST)⣿$(c $M2 $ST)⣿$(c $M3 $ST)⣿$(c $M5 $ST) $(c $M5 $SA) $(c $M4 $SA)⣿$(c $M3 $SA)⣿$(c $M2 $SA)⣿$(c $M3 $SA)⣿$(c $M5 $SA) $(c $M4 $SA)⣿$(c $M3 $SA)⣿$(c $M2 $SA)⣿$(c $M3 $SA)⣿$(c $M5 $SA) $(c $M5 $WA) $(c $M4 $WA)⣿$(c $M3 $WA)⣿$(c $M2 $WA)⣿$(c $M3 $WA)⣿$(c $M5 $WA) $(c $M4 $WA)⣿$(c $M3 $WA)⣿$(c $M2 $WA)⣿$(c $M3 $WA)⣿$(c $M5 $WA) " +echo -e "${X}" + +# Row 15: Knee guards (poleyns) with gold +echo -en " " +echo -en "$(c $M5 $GR) $(c $M4 $GR)⣿$(c $G1 $GR)⣿$(c $M2 $GR)⣿$(c $M4 $GR)⣿$(c $M5 $GR) $(c $M4 $GR)⣿$(c $M2 $GR)⣿$(c $G1 $GR)⣿$(c $M4 $GR)⣿$(c $M5 $GR) $(c $M5 $ST) $(c $M4 $ST)⣿$(c $G1 $ST)⣿$(c $M2 $ST)⣿$(c $M4 $ST)⣿$(c $M5 $ST) $(c $M4 $ST)⣿$(c $M2 $ST)⣿$(c $G1 $ST)⣿$(c $M4 $ST)⣿$(c $M5 $ST) $(c $M5 $SA) $(c $M4 $SA)⣿$(c $G1 $SA)⣿$(c $M2 $SA)⣿$(c $M4 $SA)⣿$(c $M5 $SA) $(c $M4 $SA)⣿$(c $M2 $SA)⣿$(c $G1 $SA)⣿$(c $M4 $SA)⣿$(c $M5 $SA) $(c $M5 $WA) $(c $M4 $WA)⣿$(c $G1 $WA)⣿$(c $M2 $WA)⣿$(c $M4 $WA)⣿$(c $M5 $WA) $(c $M4 $WA)⣿$(c $M2 $WA)⣿$(c $G1 $WA)⣿$(c $M4 $WA)⣿$(c $M5 $WA) " +echo -e "${X}" + +# Row 16: Greaves (shin) - WIDER +echo -en " " +echo -en "$(c $M5 $GR) $(c $M4 $GR)⣿$(c $M3 $GR)⣿$(c $M2 $GR)⣿$(c $M4 $GR)⣿$(c $M5 $GR) $(c $M4 $GR)⣿$(c $M2 $GR)⣿$(c $M3 $GR)⣿$(c $M4 $GR)⣿$(c $M5 $GR) $(c $M5 $ST) $(c $M4 $ST)⣿$(c $M3 $ST)⣿$(c $M2 $ST)⣿$(c $M4 $ST)⣿$(c $M5 $ST) $(c $M4 $ST)⣿$(c $M2 $ST)⣿$(c $M3 $ST)⣿$(c $M4 $ST)⣿$(c $M5 $ST) $(c $M5 $SA) $(c $M4 $SA)⣿$(c $M3 $SA)⣿$(c $M2 $SA)⣿$(c $M4 $SA)⣿$(c $M5 $SA) $(c $M4 $SA)⣿$(c $M2 $SA)⣿$(c $M3 $SA)⣿$(c $M4 $SA)⣿$(c $M5 $SA) $(c $M5 $WA) $(c $M4 $WA)⣿$(c $M3 $WA)⣿$(c $M2 $WA)⣿$(c $M4 $WA)⣿$(c $M5 $WA) $(c $M4 $WA)⣿$(c $M2 $WA)⣿$(c $M3 $WA)⣿$(c $M4 $WA)⣿$(c $M5 $WA) " +echo -e "${X}" + +# Row 17: Lower greaves +echo -en " " +echo -en "$(c $M5 $GR) $(c $M5 $GR)⢸$(c $M4 $GR)⣿$(c $M3 $GR)⣿$(c $M4 $GR)⣿$(c $M5 $GR)⡇$(c $M5 $GR) $(c $M5 $GR)⢸$(c $M4 $GR)⣿$(c $M3 $GR)⣿$(c $M4 $GR)⣿$(c $M5 $GR)⡇ $(c $M5 $ST) $(c $M5 $ST)⢸$(c $M4 $ST)⣿$(c $M3 $ST)⣿$(c $M4 $ST)⣿$(c $M5 $ST)⡇$(c $M5 $ST) $(c $M5 $ST)⢸$(c $M4 $ST)⣿$(c $M3 $ST)⣿$(c $M4 $ST)⣿$(c $M5 $ST)⡇ $(c $M5 $SA) $(c $M5 $SA)⢸$(c $M4 $SA)⣿$(c $M3 $SA)⣿$(c $M4 $SA)⣿$(c $M5 $SA)⡇$(c $M5 $SA) $(c $M5 $SA)⢸$(c $M4 $SA)⣿$(c $M3 $SA)⣿$(c $M4 $SA)⣿$(c $M5 $SA)⡇ $(c $M5 $WA) $(c $M5 $WA)⢸$(c $M4 $WA)⣿$(c $M3 $WA)⣿$(c $M4 $WA)⣿$(c $M5 $WA)⡇$(c $M5 $WA) $(c $M5 $WA)⢸$(c $M4 $WA)⣿$(c $M3 $WA)⣿$(c $M4 $WA)⣿$(c $M5 $WA)⡇ " +echo -e "${X}" + +# Row 18: Sabatons (feet) +echo -en " " +echo -en "$(c $M5 $GR) ⣠$(c $M4 $GR)⣿$(c $M3 $GR)⣿$(c $M2 $GR)⣿$(c $M3 $GR)⣿$(c $M4 $GR)⣿$(c $M5 $GR)⣄$(c $M4 $GR)⣿$(c $M3 $GR)⣿$(c $M2 $GR)⣿$(c $M3 $GR)⣿$(c $M4 $GR)⣿$(c $M5 $GR)⣄ $(c $M5 $ST) ⣠$(c $M4 $ST)⣿$(c $M3 $ST)⣿$(c $M2 $ST)⣿$(c $M3 $ST)⣿$(c $M4 $ST)⣿$(c $M5 $ST)⣄$(c $M4 $ST)⣿$(c $M3 $ST)⣿$(c $M2 $ST)⣿$(c $M3 $ST)⣿$(c $M4 $ST)⣿$(c $M5 $ST)⣄ $(c $M5 $SA) ⣠$(c $M4 $SA)⣿$(c $M3 $SA)⣿$(c $M2 $SA)⣿$(c $M3 $SA)⣿$(c $M4 $SA)⣿$(c $M5 $SA)⣄$(c $M4 $SA)⣿$(c $M3 $SA)⣿$(c $M2 $SA)⣿$(c $M3 $SA)⣿$(c $M4 $SA)⣿$(c $M5 $SA)⣄ $(c $M5 $WA) ⣠$(c $M4 $WA)⣿$(c $M3 $WA)⣿$(c $M2 $WA)⣿$(c $M3 $WA)⣿$(c $M4 $WA)⣿$(c $M5 $WA)⣄$(c $M4 $WA)⣿$(c $M3 $WA)⣿$(c $M2 $WA)⣿$(c $M3 $WA)⣿$(c $M4 $WA)⣿$(c $M5 $WA)⣄ " +echo -e "${X}" + +# Row 19: Ground shadow +echo -en " " +echo -en "$(c $SD $GR) ⠈⠉⠛⠛⠛⠛⠛⠛⠉⠁ $(c $SD $ST) ⠈⠉⠛⠛⠛⠛⠛⠛⠉⠁ $(c $SD $SA) ⠈⠉⠛⠛⠛⠛⠛⠛⠉⠁ $(c $SD $WA) ⠈⠉⠛⠛⠛⠛⠛⠛⠉⠁ " +echo -e "${X}" + +# Row 20: Terrain texture 1 +echo -en " " +echo -en "$(c 60 130 60 $GR)⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿$(c 105 105 110 $ST)⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿$(c 190 170 130 $SA)⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿$(c 70 120 160 $WA)⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿" +echo -e "${X}" + +# Row 21: Terrain texture 2 +echo -en " " +echo -en "$(c 35 75 35 $GR)⢻⣛⣛⣻⢻⣛⣛⣻⢻⣛⣛⣻$(c 65 65 70 $ST)⣿⣤⣤⣿⣿⣤⣤⣿⣿⣤⣤⣿$(c 150 130 90 $SA)⣀⣠⣄⣀⣀⣠⣄⣀⣀⣠⣄⣀$(c 90 140 180 $WA)⢀⣠⣤⣀⢀⣠⣤⣀⢀⣠⣤⣀" +echo -e "${X}" + +echo "" +echo " ┌─────────────────────────────────────────────────────────────────────────────────────┐" +echo " │ IMPROVEMENTS IN V2 │" +echo " ├─────────────────────────────────────────────────────────────────────────────────────┤" +echo " │ • Wider legs for better proportions │" +echo " │ • Larger feet (sabatons) for stability │" +echo " │ • Higher contrast metal shading (5 levels) │" +echo " │ • Cleaner gold trim on gorget and knees │" +echo " │ • Shield with visible gold cross pattern │" +echo " │ • Ground shadow for depth │" +echo " │ • Tighter tile spacing │" +echo " │ • Richer terrain textures │" +echo " └─────────────────────────────────────────────────────────────────────────────────────┘" +echo "" diff --git a/reptile1_halfblock.sh b/reptile1_halfblock.sh new file mode 100755 index 0000000..b1bcdb2 --- /dev/null +++ b/reptile1_halfblock.sh @@ -0,0 +1,156 @@ +#!/bin/bash +# Reptile Lord - Method 1: Half-Block Characters (▀ ▄) +# Each cell = 2 vertical pixels using foreground + background color +# ▀ = top pixel (foreground), bottom pixel (background) +# ▄ = bottom pixel (foreground), top pixel (background) +# Full block = both same color, space = both background + +clear +echo "" +echo " ╔═══════════════════════════════════════════════════════════════════════════╗" +echo " ║ REPTILE LORD - HALF-BLOCK METHOD (2 vertical pixels/cell) ║" +echo " ╚═══════════════════════════════════════════════════════════════════════════╝" +echo "" + +# Color function: fg;bg +# Usage: $(c 0 100 0 50 50 50) = green foreground, dark gray background +c() { + echo -en "\033[38;2;$1;$2;$3m\033[48;2;$4;$5;$6m" +} + +X="\033[0m" + +# Colors (R G B) +# BG = transparent/background (dark purple for visibility) +BG="40 30 50" +# Scales +S1="0 120 80" # Dark green scales +S2="0 160 100" # Mid green scales +S3="0 200 120" # Light green scales/highlight +# Underbelly +U1="180 160 100" # Tan underbelly +U2="200 180 120" # Light tan +# Eyes +EY="255 200 0" # Yellow eyes +EP="0 0 0" # Pupil +# Claws/horns +CL="60 50 40" # Dark brown claws +CH="80 70 60" # Horn highlight +# Mouth +MO="150 50 50" # Red mouth interior + +echo " ┌─────────────────────┐ ┌─────────────────────┐ ┌─────────────────────┐" +echo " │ FACING DOWN │ │ FACING LEFT │ │ FACING RIGHT │" +echo " └─────────────────────┘ └─────────────────────┘ └─────────────────────┘" +echo "" + +# Each sprite is 10 cells wide x 12 cells tall = 10x24 "pixels" +# Row pairs (each row represents 2 pixel rows via half-blocks) + +# --- FACING DOWN --- +# Using ▀ (upper half) and ▄ (lower half) and █ (full) and space (empty) + +# Row 1-2: Top of head with small horns +echo -en " " +echo -en "$(c $BG $BG) $(c $CL $BG)▄$(c $S1 $BG)▄▄▄▄$(c $CL $BG)▄$(c $BG $BG) " +echo -en " " +echo -en "$(c $BG $BG) $(c $BG $BG) $(c $CL $BG)▄$(c $S1 $BG)▄▄▄▄$(c $BG $BG) " +echo -en " " +echo -en "$(c $BG $BG) $(c $S1 $BG)▄▄▄▄$(c $CL $BG)▄$(c $BG $BG) $(c $BG $BG) " +echo -e "${X}" + +# Row 3-4: Upper head with eyes +echo -en " " +echo -en "$(c $S2 $S1)▄$(c $S1 $S1)█$(c $EY $S1)▀$(c $S2 $S1)▄▄$(c $EY $S1)▀$(c $S1 $S1)█$(c $S2 $S1)▄" +echo -en " " +echo -en "$(c $BG $BG) $(c $S2 $S1)▄$(c $S1 $S1)█$(c $EY $S1)▀$(c $S2 $S1)▄▄$(c $S1 $S1)█$(c $S2 $S1)▄$(c $BG $BG) " +echo -en " " +echo -en "$(c $BG $BG) $(c $S2 $S1)▄$(c $S1 $S1)█$(c $S2 $S1)▄▄$(c $EY $S1)▀$(c $S1 $S1)█$(c $S2 $S1)▄$(c $BG $BG) " +echo -e "${X}" + +# Row 5-6: Snout/muzzle +echo -en " " +echo -en "$(c $S1 $S2)▄$(c $S2 $S2)█$(c $S3 $S2)▀$(c $U1 $S2)▄▄$(c $S3 $S2)▀$(c $S2 $S2)█$(c $S1 $S2)▄" +echo -en " " +echo -en "$(c $BG $BG) $(c $S1 $S2)▄$(c $S2 $S2)██$(c $U1 $S2)▄$(c $S2 $S2)██$(c $S1 $S2)▄$(c $BG $BG) " +echo -en " " +echo -en "$(c $BG $BG) $(c $S1 $S2)▄$(c $S2 $S2)██$(c $U1 $S2)▄$(c $S2 $S2)██$(c $S1 $S2)▄$(c $BG $BG) " +echo -e "${X}" + +# Row 7-8: Neck/shoulders +echo -en " " +echo -en "$(c $S1 $BG)▀$(c $S2 $S1)▄$(c $U1 $S2)▄$(c $U2 $U1)▀▀$(c $U1 $S2)▄$(c $S2 $S1)▄$(c $S1 $BG)▀" +echo -en " " +echo -en "$(c $BG $BG) $(c $S1 $BG)▀$(c $S2 $S1)▄$(c $U1 $U1)██$(c $S2 $S1)▄▄$(c $BG $BG) $(c $BG $BG) " +echo -en " " +echo -en "$(c $BG $BG) $(c $BG $BG) $(c $S2 $S1)▄▄$(c $U1 $U1)██$(c $S2 $S1)▄$(c $S1 $BG)▀$(c $BG $BG) " +echo -e "${X}" + +# Row 9-10: Upper torso with arms +echo -en " " +echo -en "$(c $CL $BG)▄$(c $S1 $S2)▄$(c $S2 $S2)█$(c $U1 $U1)██$(c $S2 $S2)█$(c $S1 $S2)▄$(c $CL $BG)▄" +echo -en " " +echo -en "$(c $CL $BG)▄$(c $S1 $BG)▀$(c $S2 $S1)▄$(c $U1 $U1)██$(c $S2 $S1)▄$(c $S1 $S2)▄$(c $S2 $BG)▀$(c $BG $BG) " +echo -en " " +echo -en "$(c $BG $BG) $(c $S2 $BG)▀$(c $S1 $S2)▄$(c $S2 $S1)▄$(c $U1 $U1)██$(c $S2 $S1)▄$(c $S1 $BG)▀$(c $CL $BG)▄" +echo -e "${X}" + +# Row 11-12: Lower torso +echo -en " " +echo -en "$(c $CL $CL)█$(c $S1 $S1)█$(c $S2 $S2)█$(c $U1 $U1)██$(c $S2 $S2)█$(c $S1 $S1)█$(c $CL $CL)█" +echo -en " " +echo -en "$(c $CL $CL)█$(c $S1 $S1)█$(c $S2 $S2)█$(c $U1 $U1)██$(c $S2 $S2)█$(c $S1 $S1)█$(c $S1 $BG)▀$(c $BG $BG) " +echo -en " " +echo -en "$(c $BG $BG) $(c $S1 $BG)▀$(c $S1 $S1)█$(c $S2 $S2)█$(c $U1 $U1)██$(c $S2 $S2)█$(c $S1 $S1)█$(c $CL $CL)█" +echo -e "${X}" + +# Row 13-14: Hips +echo -en " " +echo -en "$(c $BG $CL)▀$(c $S1 $S1)█$(c $S2 $S2)█$(c $U1 $U1)██$(c $S2 $S2)█$(c $S1 $S1)█$(c $BG $CL)▀" +echo -en " " +echo -en "$(c $BG $CL)▀$(c $S1 $S1)█$(c $S2 $S2)█$(c $U1 $U1)██$(c $S2 $S2)█$(c $S1 $S1)█$(c $BG $BG) $(c $BG $BG) " +echo -en " " +echo -en "$(c $BG $BG) $(c $BG $BG) $(c $S1 $S1)█$(c $S2 $S2)█$(c $U1 $U1)██$(c $S2 $S2)█$(c $S1 $S1)█$(c $BG $CL)▀" +echo -e "${X}" + +# Row 15-16: Upper legs +echo -en " " +echo -en "$(c $BG $BG) $(c $S1 $S1)█$(c $S2 $BG)▀$(c $BG $BG) $(c $BG $BG) $(c $S2 $BG)▀$(c $S1 $S1)█$(c $BG $BG) " +echo -en " " +echo -en "$(c $BG $BG) $(c $S1 $S1)█$(c $S1 $S1)█$(c $BG $BG) $(c $BG $BG) $(c $S1 $S1)█$(c $S1 $S1)█$(c $S1 $BG)▄$(c $BG $BG) " +echo -en " " +echo -en "$(c $BG $BG) $(c $S1 $BG)▄$(c $S1 $S1)█$(c $S1 $S1)█$(c $BG $BG) $(c $BG $BG) $(c $S1 $S1)█$(c $S1 $S1)█$(c $BG $BG) " +echo -e "${X}" + +# Row 17-18: Lower legs +echo -en " " +echo -en "$(c $BG $BG) $(c $S1 $S1)█$(c $S1 $S1)█$(c $BG $BG) $(c $BG $BG) $(c $S1 $S1)█$(c $S1 $S1)█$(c $BG $BG) " +echo -en " " +echo -en "$(c $BG $BG) $(c $S1 $S1)█$(c $S1 $S1)█$(c $BG $BG) $(c $BG $BG) $(c $S1 $S1)█$(c $S1 $BG)▀$(c $S1 $S1)█$(c $BG $BG) " +echo -en " " +echo -en "$(c $BG $BG) $(c $S1 $S1)█$(c $S1 $BG)▀$(c $S1 $S1)█$(c $BG $BG) $(c $BG $BG) $(c $S1 $S1)█$(c $S1 $S1)█$(c $BG $BG) " +echo -e "${X}" + +# Row 19-20: Feet with claws +echo -en " " +echo -en "$(c $CL $BG)▄$(c $S1 $S1)█$(c $CL $S1)▄$(c $BG $BG) $(c $BG $BG) $(c $CL $S1)▄$(c $S1 $S1)█$(c $CL $BG)▄" +echo -en " " +echo -en "$(c $CL $BG)▄$(c $S1 $S1)█$(c $CL $S1)▄$(c $BG $BG) $(c $BG $BG) $(c $S1 $BG)▀$(c $CL $S1)▄$(c $S1 $S1)█$(c $CL $BG)▄" +echo -en " " +echo -en "$(c $CL $BG)▄$(c $S1 $S1)█$(c $CL $S1)▄$(c $S1 $BG)▀$(c $BG $BG) $(c $BG $BG) $(c $CL $S1)▄$(c $S1 $S1)█$(c $CL $BG)▄" +echo -e "${X}" + +# Row 21-22: Claws +echo -en " " +echo -en "$(c $BG $CL)▀$(c $CL $CL)█$(c $BG $CL)▀$(c $BG $BG) $(c $BG $BG) $(c $BG $CL)▀$(c $CL $CL)█$(c $BG $CL)▀" +echo -en " " +echo -en "$(c $BG $CL)▀$(c $CL $CL)█$(c $BG $CL)▀$(c $BG $BG) $(c $BG $BG) $(c $BG $BG) $(c $BG $CL)▀$(c $CL $CL)█$(c $BG $CL)▀" +echo -en " " +echo -en "$(c $BG $CL)▀$(c $CL $CL)█$(c $BG $CL)▀$(c $BG $BG) $(c $BG $BG) $(c $BG $BG) $(c $BG $CL)▀$(c $CL $CL)█$(c $BG $CL)▀" +echo -e "${X}" + +echo "" +echo " Resolution: 10×24 pixels per sprite (10 cells × 12 rows, 2 vertical pixels/cell)" +echo " Characters: ▀ (upper half), ▄ (lower half), █ (full block), space (empty)" +echo " Colors: Foreground = top pixel, Background = bottom pixel" +echo "" diff --git a/reptile2_quadrant.sh b/reptile2_quadrant.sh new file mode 100755 index 0000000..3d58af9 --- /dev/null +++ b/reptile2_quadrant.sh @@ -0,0 +1,180 @@ +#!/bin/bash +# Reptile Lord - Method 2: Quadrant Block Characters +# Each cell = 2×2 subpixels (4 pixels per cell) +# +# Quadrant characters (2-color only: fg + bg): +# ▖ = bottom-left ▗ = bottom-right +# ▘ = top-left ▝ = top-right +# ▌ = left half ▐ = right half +# ▀ = top half ▄ = bottom half +# ▙ = all except top-right ▟ = all except top-left +# ▛ = all except bottom-right ▜ = all except bottom-left +# █ = full block (space) = empty +# +# Limitation: Only 2 colors per cell (foreground + background) + +clear +echo "" +echo " ╔═══════════════════════════════════════════════════════════════════════════╗" +echo " ║ REPTILE LORD - QUADRANT BLOCKS (2×2 subpixels/cell) ║" +echo " ╚═══════════════════════════════════════════════════════════════════════════╝" +echo "" + +# Color helper +c() { + echo -en "\033[38;2;$1;$2;$3m\033[48;2;$4;$5;$6m" +} +X="\033[0m" + +# Palette +BG="30 25 40" # Background +S1="0 100 70" # Dark scales +S2="0 140 90" # Mid scales +S3="0 180 110" # Light scales +U1="170 150 90" # Underbelly dark +U2="190 170 110" # Underbelly light +EY="255 200 0" # Eye +CL="50 40 35" # Claw +HR="70 60 50" # Horn + +echo " ┌───────────────────────────────────────────────────────────────────────────┐" +echo " │ FACING FORWARD (Idle) ATTACK FRAME WALKING FRAME │" +echo " └───────────────────────────────────────────────────────────────────────────┘" +echo "" + +# Sprite: 8 cells wide × 10 cells tall = 16×20 subpixels +# Building row by row (each cell is 2×2) + +# --- ROW 1: Horns and top of head --- +echo -en " " +# IDLE +echo -en "$(c $BG $BG) $(c $HR $BG)▖$(c $S1 $BG)▄▄$(c $HR $BG)▗$(c $BG $BG) " +echo -en " " +# ATTACK - horns more prominent +echo -en "$(c $HR $BG)▗$(c $HR $BG)▖$(c $S1 $BG)▄▄$(c $HR $BG)▗$(c $HR $BG)▖$(c $BG $BG) " +echo -en " " +# WALK +echo -en "$(c $BG $BG) $(c $HR $BG)▖$(c $S1 $BG)▄▄$(c $HR $BG)▗$(c $BG $BG) " +echo -e "${X}" + +# --- ROW 2: Upper head with eyes --- +echo -en " " +# IDLE +echo -en "$(c $S2 $S1)▙$(c $S1 $S1)█$(c $EY $S1)▐$(c $S1 $S1)█$(c $EY $S1)▌$(c $S1 $S1)█$(c $S2 $S1)▟$(c $BG $BG) " +echo -en " " +# ATTACK - angry eyes +echo -en "$(c $S2 $S1)▙$(c $S1 $S1)█$(c $EY $S1)▄$(c $S1 $S1)█$(c $EY $S1)▄$(c $S1 $S1)█$(c $S2 $S1)▟$(c $BG $BG) " +echo -en " " +# WALK +echo -en "$(c $S2 $S1)▙$(c $S1 $S1)█$(c $EY $S1)▐$(c $S1 $S1)█$(c $EY $S1)▌$(c $S1 $S1)█$(c $S2 $S1)▟$(c $BG $BG) " +echo -e "${X}" + +# --- ROW 3: Snout/muzzle --- +echo -en " " +# IDLE +echo -en "$(c $S1 $S2)▜$(c $S2 $S2)█$(c $U1 $S2)▄▄$(c $S2 $S2)█$(c $S1 $S2)▛$(c $BG $BG) " +echo -en " " +# ATTACK - open mouth +echo -en "$(c $S1 $S2)▜$(c $S2 $S2)█$(c $U1 $S2)▀▀$(c $S2 $S2)█$(c $S1 $S2)▛$(c $BG $BG) " +echo -en " " +# WALK +echo -en "$(c $S1 $S2)▜$(c $S2 $S2)█$(c $U1 $S2)▄▄$(c $S2 $S2)█$(c $S1 $S2)▛$(c $BG $BG) " +echo -e "${X}" + +# --- ROW 4: Neck --- +echo -en " " +# IDLE +echo -en "$(c $BG $BG) $(c $S1 $S2)▜$(c $U1 $U1)██$(c $S1 $S2)▛$(c $BG $BG) " +echo -en " " +# ATTACK +echo -en "$(c $BG $BG) $(c $S1 $S2)▜$(c $U1 $U1)██$(c $S1 $S2)▛$(c $BG $BG) " +echo -en " " +# WALK +echo -en "$(c $BG $BG) $(c $S1 $S2)▜$(c $U1 $U1)██$(c $S1 $S2)▛$(c $BG $BG) " +echo -e "${X}" + +# --- ROW 5: Shoulders/arms --- +echo -en " " +# IDLE - arms down +echo -en "$(c $CL $BG)▗$(c $S1 $S1)█$(c $S2 $S2)█$(c $U1 $U1)█$(c $S2 $S2)█$(c $S1 $S1)█$(c $CL $BG)▖$(c $BG $BG) " +echo -en " " +# ATTACK - arms raised +echo -en "$(c $CL $S1)▗$(c $S1 $BG)▘$(c $S2 $S2)█$(c $U1 $U1)█$(c $S2 $S2)█$(c $S1 $BG)▝$(c $CL $S1)▖$(c $BG $BG) " +echo -en " " +# WALK - one arm forward +echo -en "$(c $S1 $BG)▗$(c $S1 $S1)█$(c $S2 $S2)█$(c $U1 $U1)█$(c $S2 $S2)█$(c $S1 $S1)█$(c $CL $BG)▖$(c $BG $BG) " +echo -e "${X}" + +# --- ROW 6: Torso --- +echo -en " " +# IDLE +echo -en "$(c $CL $CL)█$(c $S1 $S1)█$(c $S2 $S2)█$(c $U1 $U1)█$(c $S2 $S2)█$(c $S1 $S1)█$(c $CL $CL)█$(c $BG $BG) " +echo -en " " +# ATTACK +echo -en "$(c $CL $CL)█$(c $S1 $S1)█$(c $S2 $S2)█$(c $U1 $U1)█$(c $S2 $S2)█$(c $S1 $S1)█$(c $CL $CL)█$(c $BG $BG) " +echo -en " " +# WALK +echo -en "$(c $CL $BG)▝$(c $S1 $S1)█$(c $S2 $S2)█$(c $U1 $U1)█$(c $S2 $S2)█$(c $S1 $S1)█$(c $CL $CL)█$(c $BG $BG) " +echo -e "${X}" + +# --- ROW 7: Lower torso/hips --- +echo -en " " +# IDLE +echo -en "$(c $BG $CL)▀$(c $S1 $S1)█$(c $S2 $S2)█$(c $U1 $U1)█$(c $S2 $S2)█$(c $S1 $S1)█$(c $BG $CL)▀$(c $BG $BG) " +echo -en " " +# ATTACK +echo -en "$(c $BG $CL)▀$(c $S1 $S1)█$(c $S2 $S2)█$(c $U1 $U1)█$(c $S2 $S2)█$(c $S1 $S1)█$(c $BG $CL)▀$(c $BG $BG) " +echo -en " " +# WALK +echo -en "$(c $BG $BG) $(c $S1 $S1)█$(c $S2 $S2)█$(c $U1 $U1)█$(c $S2 $S2)█$(c $S1 $S1)█$(c $BG $CL)▀$(c $BG $BG) " +echo -e "${X}" + +# --- ROW 8: Upper legs --- +echo -en " " +# IDLE +echo -en "$(c $BG $BG) $(c $S1 $S1)█$(c $S1 $BG)▘$(c $BG $BG) $(c $S1 $BG)▝$(c $S1 $S1)█$(c $BG $BG) " +echo -en " " +# ATTACK - wide stance +echo -en "$(c $S1 $BG)▗$(c $S1 $S1)█$(c $BG $BG) $(c $S1 $S1)█$(c $S1 $BG)▖$(c $BG $BG) " +echo -en " " +# WALK - mid stride +echo -en "$(c $BG $BG) $(c $S1 $S1)█$(c $S1 $BG)▝$(c $BG $BG) $(c $S1 $BG)▘$(c $S1 $S1)█$(c $BG $BG) " +echo -e "${X}" + +# --- ROW 9: Lower legs --- +echo -en " " +# IDLE +echo -en "$(c $BG $BG) $(c $S1 $S1)█$(c $S1 $S1)█$(c $BG $BG) $(c $S1 $S1)█$(c $S1 $S1)█$(c $BG $BG) " +echo -en " " +# ATTACK +echo -en "$(c $S1 $S1)█$(c $S1 $S1)█$(c $BG $BG) $(c $S1 $S1)█$(c $S1 $S1)█$(c $BG $BG) " +echo -en " " +# WALK +echo -en "$(c $BG $BG) $(c $S1 $S1)█$(c $S1 $BG)▘$(c $BG $BG) $(c $BG $BG) $(c $S1 $BG)▝$(c $S1 $S1)█$(c $BG $BG) " +echo -e "${X}" + +# --- ROW 10: Feet with claws --- +echo -en " " +# IDLE +echo -en "$(c $CL $BG)▖$(c $S1 $S1)█$(c $CL $BG)▗$(c $BG $BG) $(c $CL $BG)▖$(c $S1 $S1)█$(c $CL $BG)▗$(c $BG $BG) " +echo -en " " +# ATTACK +echo -en "$(c $CL $S1)▙$(c $S1 $S1)█$(c $CL $BG)▗$(c $BG $BG) $(c $CL $BG)▖$(c $S1 $S1)█$(c $CL $S1)▟$(c $BG $BG) " +echo -en " " +# WALK +echo -en "$(c $CL $BG)▖$(c $S1 $S1)█$(c $CL $BG)▗$(c $BG $BG) $(c $BG $BG) $(c $CL $BG)▖$(c $S1 $S1)█$(c $CL $BG)▗" +echo -e "${X}" + +echo "" +echo " ┌───────────────────────────────────────────────────────────────────────────┐" +echo " │ QUADRANT BLOCK REFERENCE │" +echo " ├───────────────────────────────────────────────────────────────────────────┤" +echo " │ ▘ top-left ▝ top-right ▖ bottom-left ▗ bottom-right │" +echo " │ ▌ left-half ▐ right-half ▀ top-half ▄ bottom-half │" +echo " │ ▛ no-BR ▜ no-BL ▙ no-TR ▟ no-TL │" +echo " │ █ full (space) empty │" +echo " └───────────────────────────────────────────────────────────────────────────┘" +echo "" +echo " Resolution: 16×20 subpixels per sprite (8 cells × 10 rows, 2×2 per cell)" +echo " Limitation: Only 2 colors per cell (foreground + background)" +echo "" diff --git a/reptile3_braille.sh b/reptile3_braille.sh new file mode 100755 index 0000000..4dda1ab --- /dev/null +++ b/reptile3_braille.sh @@ -0,0 +1,280 @@ +#!/bin/bash +# Reptile Lord - Method 3: Braille Characters (Highest Resolution) +# Each cell = 2×4 dots (8 subpixels per cell!) +# +# Braille dot numbering: +# 1 4 +# 2 5 +# 3 6 +# 7 8 +# +# Character = U+2800 + sum of dot values +# dot1=1, dot2=2, dot3=4, dot4=8, dot5=16, dot6=32, dot7=64, dot8=128 +# +# Limitation: Single color per character (foreground only, no per-dot colors) +# Best for: Silhouettes, outlines, high-detail monochrome sprites + +clear +echo "" +echo " ╔═══════════════════════════════════════════════════════════════════════════╗" +echo " ║ REPTILE LORD - BRAILLE METHOD (2×4 dots/cell = 8 subpixels) ║" +echo " ╚═══════════════════════════════════════════════════════════════════════════╝" +echo "" + +# Color function (foreground only for braille) +fg() { + echo -en "\033[38;2;$1;$2;$3m" +} +X="\033[0m" + +# Common braille characters reference: +# ⣿ = full (255) ⠀ = empty (0) +# ⡇ = left col (71) ⢸ = right col (184) +# ⠉ = top row (9) ⣀ = bottom row (192) +# ⠛ = top 2 rows (27) ⣤ = bottom 2 rows (228) +# ⡿ = all but top-right (127) ⣾ = all but top-left (254) +# ⣷ = all but bottom-right (247) ⣯ = all but bottom-left (239) + +echo " ┌─────────────────────────────────────────────────────────────────────────┐" +echo " │ MONOCHROME SILHOUETTES - Maximum Detail │" +echo " └─────────────────────────────────────────────────────────────────────────┘" +echo "" + +# Green reptile lord +G="0 200 100" + +echo -en " " +echo -en "$(fg $G)" +# IDLE POSE - 10 cells wide x 8 cells tall = 20×32 "dots" +echo " IDLE ATTACK WALK LEFT WALK RIGHT" +echo "" + +# Row 1: Horns +echo -en " $(fg $G)" +echo -en " ⢀⣴⣾⣷⣦⡀ " +echo -en " " +echo -en "⢀⣴⣾⣿⣷⣦⡀ " +echo -en " " +echo -en " ⢀⣴⣾⣷⣦⡀ " +echo -en " " +echo -en " ⢀⣴⣾⣷⣦⡀ " +echo -e "${X}" + +# Row 2: Upper head +echo -en " $(fg $G)" +echo -en " ⣼⣿⡟⠛⢻⣿⣧ " +echo -en " " +echo -en "⣼⣿⡟⠿⠿⢻⣿⣧ " +echo -en " " +echo -en " ⣼⣿⡟⠛⢻⣿⣧ " +echo -en " " +echo -en " ⣼⣿⡟⠛⢻⣿⣧ " +echo -e "${X}" + +# Row 3: Eyes and snout +echo -en " $(fg $G)" +echo -en " ⣿⣿⣿⣶⣶⣿⣿⣿ " +echo -en " " +echo -en "⣿⣿⣿⣭⣭⣿⣿⣿ " +echo -en " " +echo -en " ⣿⣿⣿⣶⣶⣿⣿⣿ " +echo -en " " +echo -en " ⣿⣿⣿⣶⣶⣿⣿⣿ " +echo -e "${X}" + +# Row 4: Lower head/jaw +echo -en " $(fg $G)" +echo -en " ⠹⣿⣿⣿⣿⠏ " +echo -en " " +echo -en " ⠹⣿⣿⣿⣿⣿⠏ " +echo -en " " +echo -en " ⠹⣿⣿⣿⣿⠏ " +echo -en " " +echo -en " ⠹⣿⣿⣿⣿⠏ " +echo -e "${X}" + +# Row 5: Neck/shoulders +echo -en " $(fg $G)" +echo -en " ⣿⣿⣿⣿⣿ " +echo -en " " +echo -en " ⢸⣿⣿⣿⣿⡇ " +echo -en " " +echo -en " ⣿⣿⣿⣿⣿ " +echo -en " " +echo -en " ⣿⣿⣿⣿⣿ " +echo -e "${X}" + +# Row 6: Arms/torso +echo -en " $(fg $G)" +echo -en " ⣼⣿⣿⣿⣿⣿⣿⣧ " +echo -en " " +echo -en "⣿⡿⣿⣿⣿⣿⣿⢿⣿" +echo -en " " +echo -en "⣀⣿⣿⣿⣿⣿⣿⣿ " +echo -en " " +echo -en " ⣿⣿⣿⣿⣿⣿⣿⣀" +echo -e "${X}" + +# Row 7: Lower torso +echo -en " $(fg $G)" +echo -en " ⠸⣿⣿⣿⣿⣿⣿⠇ " +echo -en " " +echo -en "⠈⠃⣿⣿⣿⣿⣿⠘⠁" +echo -en " " +echo -en " ⣿⣿⣿⣿⣿⣿⣿ " +echo -en " " +echo -en " ⣿⣿⣿⣿⣿⣿⣿ " +echo -e "${X}" + +# Row 8: Hips +echo -en " $(fg $G)" +echo -en " ⢸⣿⣿⣿⣿⡇ " +echo -en " " +echo -en " ⣿⣿⣿⣿⣿⣿ " +echo -en " " +echo -en " ⠸⣿⣿⣿⣿⠇ " +echo -en " " +echo -en " ⠸⣿⣿⣿⣿⠇ " +echo -e "${X}" + +# Row 9: Upper legs +echo -en " $(fg $G)" +echo -en " ⢸⣿⠁⠈⣿⡇ " +echo -en " " +echo -en " ⣾⣿ ⣿⣷ " +echo -en " " +echo -en " ⣿⣿ ⣿⣷ " +echo -en " " +echo -en " ⣾⣿ ⣿⣿ " +echo -e "${X}" + +# Row 10: Lower legs +echo -en " $(fg $G)" +echo -en " ⢸⣿ ⣿⡇ " +echo -en " " +echo -en "⣸⣿⠇ ⠸⣿⣇" +echo -en " " +echo -en " ⣿⡇ ⣿⡇ " +echo -en " " +echo -en " ⢸⣿ ⢸⣿ " +echo -e "${X}" + +# Row 11: Feet +echo -en " $(fg $G)" +echo -en " ⣿⣿⡄⢠⣿⣿ " +echo -en " " +echo -en "⣿⣿⠃ ⠘⣿⣿" +echo -en " " +echo -en " ⣼⣿⡄ ⢠⣿⣧ " +echo -en " " +echo -en " ⣼⣿⡄ ⢠⣿⣧ " +echo -e "${X}" + +# Row 12: Claws +echo -en " $(fg $G)" +echo -en " ⠛⠛ ⠛⠛ " +echo -en " " +echo -en "⠛⠛ ⠛⠛" +echo -en " " +echo -en " ⠛⠃ ⠘⠛ " +echo -en " " +echo -en " ⠛⠃ ⠘⠛ " +echo -e "${X}" + +echo "" +echo "" + +# Multi-colored version using background + foreground trick +echo " ┌─────────────────────────────────────────────────────────────────────────┐" +echo " │ COLORED VERSION - Using colored backgrounds behind braille │" +echo " └─────────────────────────────────────────────────────────────────────────┘" +echo "" + +# For colored braille, we use: +# - Background color for the "off" dots +# - Foreground color for the "on" dots +# This gives us 2-color braille + +cf() { + echo -en "\033[38;2;$1;$2;$3m\033[48;2;$4;$5;$6m" +} + +# Colors +SCALE="0 180 100" # Green scales (foreground/dots) +BG="20 15 30" # Dark purple background +EYE="255 220 0" # Yellow eyes +BELLY="200 180 120" # Tan underbelly + +echo -en " " +echo -en "$(cf $SCALE $BG)" +echo -en " ⢀⣴⣾⣷⣦⡀ " +echo -e "${X}" + +echo -en " " +echo -en "$(cf $SCALE $BG)" +echo -en " ⣼⣿" +echo -en "$(cf $EYE $BG)⠿⠿" +echo -en "$(cf $SCALE $BG)⣿⣧ " +echo -e "${X}" + +echo -en " " +echo -en "$(cf $SCALE $BG)" +echo -en " ⣿⣿" +echo -en "$(cf $BELLY $BG)⣶⣶" +echo -en "$(cf $SCALE $BG)⣿⣿ " +echo -e "${X}" + +echo -en " " +echo -en "$(cf $SCALE $BG)" +echo -en " ⠹⣿⣿⣿⣿⠏ " +echo -e "${X}" + +echo -en " " +echo -en "$(cf $SCALE $BG)" +echo -en " ⣿" +echo -en "$(cf $BELLY $BG)⣿⣿" +echo -en "$(cf $SCALE $BG)⣿ " +echo -e "${X}" + +echo -en " " +echo -en "$(cf $SCALE $BG)" +echo -en " ⣼⣿" +echo -en "$(cf $BELLY $BG)⣿⣿" +echo -en "$(cf $SCALE $BG)⣿⣧ " +echo -e "${X}" + +echo -en " " +echo -en "$(cf $SCALE $BG)" +echo -en " ⠸⣿" +echo -en "$(cf $BELLY $BG)⣿⣿" +echo -en "$(cf $SCALE $BG)⣿⠇ " +echo -e "${X}" + +echo -en " " +echo -en "$(cf $SCALE $BG)" +echo -en " ⢸⣿ ⣿⡇ " +echo -e "${X}" + +echo -en " " +echo -en "$(cf $SCALE $BG)" +echo -en " ⣿⣿ ⣿⣿ " +echo -e "${X}" + +echo -en " " +echo -en "$(cf $SCALE $BG)" +echo -en " ⠛⠛ ⠛⠛ " +echo -e "${X}" + +echo "" +echo " ┌─────────────────────────────────────────────────────────────────────────┐" +echo " │ BRAILLE DOT PATTERN │" +echo " ├─────────────────────────────────────────────────────────────────────────┤" +echo " │ 1 4 Values: 1=1, 2=2, 3=4, 4=8, 5=16, 6=32, 7=64, 8=128 │" +echo " │ 2 5 Character = U+2800 + sum(dot values) │" +echo " │ 3 6 Example: ⣿ = all dots = 1+2+4+8+16+32+64+128 = 255 = U+28FF │" +echo " │ 7 8 │" +echo " └─────────────────────────────────────────────────────────────────────────┘" +echo "" +echo " Resolution: 20×32 dots per sprite (10 cells × 8 rows, 2×4 dots per cell)" +echo " Best for: High-detail silhouettes, outlines, retro terminal aesthetics" +echo "" diff --git a/robot.sh b/robot.sh new file mode 100755 index 0000000..922c23a --- /dev/null +++ b/robot.sh @@ -0,0 +1,69 @@ +#!/bin/bash + +printf "\n\033[1m WALKING DOWN\033[0m\n\n" +printf " Frame 1 Frame 2 Frame 3 Frame 4\n\n" +printf " \033[38;2;70;70;80m▄███▄\033[0m \033[38;2;70;70;80m▄███▄\033[0m \033[38;2;70;70;80m▄███▄\033[0m \033[38;2;70;70;80m▄███▄\033[0m\n" +printf " \033[38;2;70;70;80m███████\033[0m \033[38;2;70;70;80m███████\033[0m \033[38;2;70;70;80m███████\033[0m \033[38;2;70;70;80m███████\033[0m\n" +printf " \033[38;2;70;70;80m█\033[38;2;255;50;50m██\033[38;2;70;70;80m█\033[38;2;255;50;50m██\033[38;2;70;70;80m█\033[0m \033[38;2;70;70;80m█\033[38;2;255;50;50m██\033[38;2;70;70;80m█\033[38;2;255;50;50m██\033[38;2;70;70;80m█\033[0m \033[38;2;70;70;80m█\033[38;2;255;50;50m██\033[38;2;70;70;80m█\033[38;2;255;50;50m██\033[38;2;70;70;80m█\033[0m \033[38;2;70;70;80m█\033[38;2;255;50;50m██\033[38;2;70;70;80m█\033[38;2;255;50;50m██\033[38;2;70;70;80m█\033[0m\n" +printf " \033[38;2;70;70;80m███████\033[0m \033[38;2;70;70;80m███████\033[0m \033[38;2;70;70;80m███████\033[0m \033[38;2;70;70;80m███████\033[0m\n" +printf " \033[38;2;50;50;60m█████\033[0m \033[38;2;50;50;60m█████\033[0m \033[38;2;50;50;60m█████\033[0m \033[38;2;50;50;60m█████\033[0m\n" +printf " \033[38;2;255;50;50m█\033[38;2;70;70;80m█\033[38;2;255;50;50m█\033[0m \033[38;2;255;50;50m█\033[38;2;70;70;80m█\033[38;2;255;50;50m█\033[0m \033[38;2;255;50;50m█\033[38;2;70;70;80m█\033[38;2;255;50;50m█\033[0m \033[38;2;255;50;50m█\033[38;2;70;70;80m█\033[38;2;255;50;50m█\033[0m\n" +printf " \033[38;2;70;70;80m▄██\033[38;2;255;50;50m█\033[38;2;70;70;80m█\033[38;2;255;50;50m█\033[38;2;70;70;80m██▄\033[0m \033[38;2;70;70;80m▄██\033[38;2;255;50;50m█\033[38;2;70;70;80m█\033[38;2;255;50;50m█\033[38;2;70;70;80m██▄\033[0m \033[38;2;70;70;80m▄██\033[38;2;255;50;50m█\033[38;2;70;70;80m█\033[38;2;255;50;50m█\033[38;2;70;70;80m██▄\033[0m \033[38;2;70;70;80m▄██\033[38;2;255;50;50m█\033[38;2;70;70;80m█\033[38;2;255;50;50m█\033[38;2;70;70;80m██▄\033[0m\n" +printf " \033[38;2;70;70;80m███\033[38;2;255;50;50m███\033[38;2;70;70;80m███\033[0m \033[38;2;70;70;80m███\033[38;2;255;50;50m███\033[38;2;70;70;80m███\033[0m \033[38;2;70;70;80m███\033[38;2;255;50;50m███\033[38;2;70;70;80m███\033[0m \033[38;2;70;70;80m███\033[38;2;255;50;50m███\033[38;2;70;70;80m███\033[0m\n" +printf " \033[38;2;70;70;80m██\033[38;2;255;50;50m█\033[38;2;70;70;80m█\033[38;2;255;50;50m█\033[38;2;70;70;80m██\033[0m \033[38;2;70;70;80m██\033[38;2;255;50;50m█\033[38;2;70;70;80m█\033[38;2;255;50;50m█\033[38;2;70;70;80m██\033[0m \033[38;2;70;70;80m██\033[38;2;255;50;50m█\033[38;2;70;70;80m█\033[38;2;255;50;50m█\033[38;2;70;70;80m██\033[0m \033[38;2;70;70;80m██\033[38;2;255;50;50m█\033[38;2;70;70;80m█\033[38;2;255;50;50m█\033[38;2;70;70;80m██\033[0m\n" +printf " \033[38;2;50;50;60m█\033[38;2;255;50;50m███\033[38;2;50;50;60m█\033[0m \033[38;2;50;50;60m█\033[38;2;255;50;50m███\033[38;2;50;50;60m█\033[0m \033[38;2;50;50;60m█\033[38;2;255;50;50m███\033[38;2;50;50;60m█\033[0m \033[38;2;50;50;60m█\033[38;2;255;50;50m███\033[38;2;50;50;60m█\033[0m\n" +printf " \033[38;2;70;70;80m██\033[0m \033[38;2;70;70;80m██\033[0m \033[38;2;70;70;80m██\033[38;2;70;70;80m██\033[0m \033[38;2;70;70;80m██\033[0m \033[38;2;70;70;80m██\033[0m \033[38;2;70;70;80m██\033[38;2;70;70;80m██\033[0m\n" +printf " \033[38;2;70;70;80m█\033[38;2;255;50;50m█\033[0m \033[38;2;255;50;50m█\033[38;2;70;70;80m█\033[0m \033[38;2;70;70;80m█\033[38;2;255;50;50m██\033[38;2;70;70;80m█\033[0m \033[38;2;70;70;80m█\033[38;2;255;50;50m█\033[0m \033[38;2;255;50;50m█\033[38;2;70;70;80m█\033[0m \033[38;2;70;70;80m█\033[38;2;255;50;50m██\033[38;2;70;70;80m█\033[0m\n" +printf " \033[38;2;70;70;80m██\033[0m \033[38;2;70;70;80m██\033[0m \033[38;2;70;70;80m█\033[0m \033[38;2;70;70;80m██\033[0m \033[38;2;70;70;80m██\033[0m \033[38;2;70;70;80m██\033[0m \033[38;2;70;70;80m██\033[0m \033[38;2;70;70;80m█\033[0m\n" +printf " \033[38;2;50;50;60m███\033[0m \033[38;2;50;50;60m███\033[0m \033[38;2;50;50;60m██\033[0m \033[38;2;50;50;60m███\033[0m \033[38;2;50;50;60m███\033[0m \033[38;2;50;50;60m███\033[0m \033[38;2;50;50;60m███\033[0m \033[38;2;50;50;60m██\033[0m\n" + +printf "\n\033[1m WALKING UP\033[0m\n\n" +printf " Frame 1 Frame 2 Frame 3 Frame 4\n\n" +printf " \033[38;2;70;70;80m▄███▄\033[0m \033[38;2;70;70;80m▄███▄\033[0m \033[38;2;70;70;80m▄███▄\033[0m \033[38;2;70;70;80m▄███▄\033[0m\n" +printf " \033[38;2;70;70;80m███████\033[0m \033[38;2;70;70;80m███████\033[0m \033[38;2;70;70;80m███████\033[0m \033[38;2;70;70;80m███████\033[0m\n" +printf " \033[38;2;70;70;80m███████\033[0m \033[38;2;70;70;80m███████\033[0m \033[38;2;70;70;80m███████\033[0m \033[38;2;70;70;80m███████\033[0m\n" +printf " \033[38;2;70;70;80m███████\033[0m \033[38;2;70;70;80m███████\033[0m \033[38;2;70;70;80m███████\033[0m \033[38;2;70;70;80m███████\033[0m\n" +printf " \033[38;2;50;50;60m█████\033[0m \033[38;2;50;50;60m█████\033[0m \033[38;2;50;50;60m█████\033[0m \033[38;2;50;50;60m█████\033[0m\n" +printf " \033[38;2;255;50;50m█\033[38;2;70;70;80m█\033[38;2;255;50;50m█\033[0m \033[38;2;255;50;50m█\033[38;2;70;70;80m█\033[38;2;255;50;50m█\033[0m \033[38;2;255;50;50m█\033[38;2;70;70;80m█\033[38;2;255;50;50m█\033[0m \033[38;2;255;50;50m█\033[38;2;70;70;80m█\033[38;2;255;50;50m█\033[0m\n" +printf " \033[38;2;70;70;80m▄██\033[38;2;255;50;50m█\033[38;2;70;70;80m█\033[38;2;255;50;50m█\033[38;2;70;70;80m██▄\033[0m \033[38;2;70;70;80m▄██\033[38;2;255;50;50m█\033[38;2;70;70;80m█\033[38;2;255;50;50m█\033[38;2;70;70;80m██▄\033[0m \033[38;2;70;70;80m▄██\033[38;2;255;50;50m█\033[38;2;70;70;80m█\033[38;2;255;50;50m█\033[38;2;70;70;80m██▄\033[0m \033[38;2;70;70;80m▄██\033[38;2;255;50;50m█\033[38;2;70;70;80m█\033[38;2;255;50;50m█\033[38;2;70;70;80m██▄\033[0m\n" +printf " \033[38;2;70;70;80m█████████\033[0m \033[38;2;70;70;80m█████████\033[0m \033[38;2;70;70;80m█████████\033[0m \033[38;2;70;70;80m█████████\033[0m\n" +printf " \033[38;2;70;70;80m██\033[38;2;255;50;50m█\033[38;2;70;70;80m█\033[38;2;255;50;50m█\033[38;2;70;70;80m██\033[0m \033[38;2;70;70;80m██\033[38;2;255;50;50m█\033[38;2;70;70;80m█\033[38;2;255;50;50m█\033[38;2;70;70;80m██\033[0m \033[38;2;70;70;80m██\033[38;2;255;50;50m█\033[38;2;70;70;80m█\033[38;2;255;50;50m█\033[38;2;70;70;80m██\033[0m \033[38;2;70;70;80m██\033[38;2;255;50;50m█\033[38;2;70;70;80m█\033[38;2;255;50;50m█\033[38;2;70;70;80m██\033[0m\n" +printf " \033[38;2;50;50;60m█\033[38;2;255;50;50m███\033[38;2;50;50;60m█\033[0m \033[38;2;50;50;60m█\033[38;2;255;50;50m███\033[38;2;50;50;60m█\033[0m \033[38;2;50;50;60m█\033[38;2;255;50;50m███\033[38;2;50;50;60m█\033[0m \033[38;2;50;50;60m█\033[38;2;255;50;50m███\033[38;2;50;50;60m█\033[0m\n" +printf " \033[38;2;70;70;80m██\033[0m \033[38;2;70;70;80m██\033[0m \033[38;2;70;70;80m██\033[38;2;70;70;80m██\033[0m \033[38;2;70;70;80m██\033[0m \033[38;2;70;70;80m██\033[0m \033[38;2;70;70;80m██\033[38;2;70;70;80m██\033[0m\n" +printf " \033[38;2;70;70;80m█\033[38;2;255;50;50m█\033[0m \033[38;2;255;50;50m█\033[38;2;70;70;80m█\033[0m \033[38;2;70;70;80m█\033[38;2;255;50;50m██\033[38;2;70;70;80m█\033[0m \033[38;2;70;70;80m█\033[38;2;255;50;50m█\033[0m \033[38;2;255;50;50m█\033[38;2;70;70;80m█\033[0m \033[38;2;70;70;80m█\033[38;2;255;50;50m██\033[38;2;70;70;80m█\033[0m\n" +printf " \033[38;2;70;70;80m██\033[0m \033[38;2;70;70;80m██\033[0m \033[38;2;70;70;80m█\033[0m \033[38;2;70;70;80m██\033[0m \033[38;2;70;70;80m██\033[0m \033[38;2;70;70;80m██\033[0m \033[38;2;70;70;80m██\033[0m \033[38;2;70;70;80m█\033[0m\n" +printf " \033[38;2;50;50;60m███\033[0m \033[38;2;50;50;60m███\033[0m \033[38;2;50;50;60m██\033[0m \033[38;2;50;50;60m███\033[0m \033[38;2;50;50;60m███\033[0m \033[38;2;50;50;60m███\033[0m \033[38;2;50;50;60m███\033[0m \033[38;2;50;50;60m██\033[0m\n" + +printf "\n\033[1m WALKING LEFT\033[0m\n\n" +printf " Frame 1 Frame 2 Frame 3 Frame 4\n\n" +printf " \033[38;2;70;70;80m▄██▄\033[0m \033[38;2;70;70;80m▄██▄\033[0m \033[38;2;70;70;80m▄██▄\033[0m \033[38;2;70;70;80m▄██▄\033[0m\n" +printf " \033[38;2;70;70;80m█████\033[0m \033[38;2;70;70;80m█████\033[0m \033[38;2;70;70;80m█████\033[0m \033[38;2;70;70;80m█████\033[0m\n" +printf " \033[38;2;255;50;50m██\033[38;2;70;70;80m███\033[0m \033[38;2;255;50;50m██\033[38;2;70;70;80m███\033[0m \033[38;2;255;50;50m██\033[38;2;70;70;80m███\033[0m \033[38;2;255;50;50m██\033[38;2;70;70;80m███\033[0m\n" +printf " \033[38;2;70;70;80m█████\033[0m \033[38;2;70;70;80m█████\033[0m \033[38;2;70;70;80m█████\033[0m \033[38;2;70;70;80m█████\033[0m\n" +printf " \033[38;2;50;50;60m███\033[0m \033[38;2;50;50;60m███\033[0m \033[38;2;50;50;60m███\033[0m \033[38;2;50;50;60m███\033[0m\n" +printf " \033[38;2;255;50;50m█\033[38;2;70;70;80m█\033[0m \033[38;2;255;50;50m█\033[38;2;70;70;80m█\033[0m \033[38;2;255;50;50m█\033[38;2;70;70;80m█\033[0m \033[38;2;255;50;50m█\033[38;2;70;70;80m█\033[0m\n" +printf " \033[38;2;70;70;80m▄██\033[38;2;255;50;50m██\033[38;2;70;70;80m█\033[0m \033[38;2;70;70;80m▄██\033[38;2;255;50;50m██\033[38;2;70;70;80m█\033[0m \033[38;2;70;70;80m▄██\033[38;2;255;50;50m██\033[38;2;70;70;80m█\033[0m \033[38;2;70;70;80m▄██\033[38;2;255;50;50m██\033[38;2;70;70;80m█\033[0m\n" +printf " \033[38;2;70;70;80m███\033[38;2;255;50;50m██\033[38;2;70;70;80m█\033[0m \033[38;2;70;70;80m███\033[38;2;255;50;50m██\033[38;2;70;70;80m█\033[0m \033[38;2;70;70;80m███\033[38;2;255;50;50m██\033[38;2;70;70;80m█\033[0m \033[38;2;70;70;80m███\033[38;2;255;50;50m██\033[38;2;70;70;80m█\033[0m\n" +printf " \033[38;2;50;50;60m█\033[38;2;255;50;50m██\033[38;2;50;50;60m█\033[0m \033[38;2;50;50;60m█\033[38;2;255;50;50m██\033[38;2;50;50;60m█\033[0m \033[38;2;50;50;60m█\033[38;2;255;50;50m██\033[38;2;50;50;60m█\033[0m \033[38;2;50;50;60m█\033[38;2;255;50;50m██\033[38;2;50;50;60m█\033[0m\n" +printf " \033[38;2;70;70;80m██\033[0m \033[38;2;70;70;80m█\033[0m \033[38;2;70;70;80m█\033[0m \033[38;2;70;70;80m██\033[0m \033[38;2;70;70;80m█\033[0m \033[38;2;70;70;80m█\033[0m\n" +printf " \033[38;2;70;70;80m█\033[38;2;255;50;50m█\033[38;2;70;70;80m█\033[0m \033[38;2;70;70;80m█\033[38;2;255;50;50m█\033[0m \033[38;2;255;50;50m█\033[38;2;70;70;80m█\033[0m \033[38;2;70;70;80m█\033[38;2;255;50;50m█\033[38;2;70;70;80m█\033[0m \033[38;2;70;70;80m█\033[38;2;255;50;50m█\033[0m \033[38;2;255;50;50m█\033[38;2;70;70;80m█\033[0m\n" +printf " \033[38;2;70;70;80m██\033[0m \033[38;2;70;70;80m█\033[0m \033[38;2;70;70;80m█\033[0m \033[38;2;70;70;80m██\033[0m \033[38;2;70;70;80m██\033[0m \033[38;2;70;70;80m█\033[0m \033[38;2;70;70;80m█\033[0m \033[38;2;70;70;80m██\033[0m\n" +printf " \033[38;2;50;50;60m███\033[0m \033[38;2;50;50;60m██\033[0m \033[38;2;50;50;60m██\033[0m \033[38;2;50;50;60m███\033[0m \033[38;2;50;50;60m███\033[0m \033[38;2;50;50;60m██\033[0m \033[38;2;50;50;60m██\033[0m \033[38;2;50;50;60m███\033[0m\n" + +printf "\n\033[1m WALKING RIGHT\033[0m\n\n" +printf " Frame 1 Frame 2 Frame 3 Frame 4\n\n" +printf " \033[38;2;70;70;80m▄██▄\033[0m \033[38;2;70;70;80m▄██▄\033[0m \033[38;2;70;70;80m▄██▄\033[0m \033[38;2;70;70;80m▄██▄\033[0m\n" +printf " \033[38;2;70;70;80m█████\033[0m \033[38;2;70;70;80m█████\033[0m \033[38;2;70;70;80m█████\033[0m \033[38;2;70;70;80m█████\033[0m\n" +printf " \033[38;2;70;70;80m███\033[38;2;255;50;50m██\033[0m \033[38;2;70;70;80m███\033[38;2;255;50;50m██\033[0m \033[38;2;70;70;80m███\033[38;2;255;50;50m██\033[0m \033[38;2;70;70;80m███\033[38;2;255;50;50m██\033[0m\n" +printf " \033[38;2;70;70;80m█████\033[0m \033[38;2;70;70;80m█████\033[0m \033[38;2;70;70;80m█████\033[0m \033[38;2;70;70;80m█████\033[0m\n" +printf " \033[38;2;50;50;60m███\033[0m \033[38;2;50;50;60m███\033[0m \033[38;2;50;50;60m███\033[0m \033[38;2;50;50;60m███\033[0m\n" +printf " \033[38;2;70;70;80m█\033[38;2;255;50;50m█\033[0m \033[38;2;70;70;80m█\033[38;2;255;50;50m█\033[0m \033[38;2;70;70;80m█\033[38;2;255;50;50m█\033[0m \033[38;2;70;70;80m█\033[38;2;255;50;50m█\033[0m\n" +printf " \033[38;2;70;70;80m█\033[38;2;255;50;50m██\033[38;2;70;70;80m██▄\033[0m \033[38;2;70;70;80m█\033[38;2;255;50;50m██\033[38;2;70;70;80m██▄\033[0m \033[38;2;70;70;80m█\033[38;2;255;50;50m██\033[38;2;70;70;80m██▄\033[0m \033[38;2;70;70;80m█\033[38;2;255;50;50m██\033[38;2;70;70;80m██▄\033[0m\n" +printf " \033[38;2;70;70;80m█\033[38;2;255;50;50m██\033[38;2;70;70;80m███\033[0m \033[38;2;70;70;80m█\033[38;2;255;50;50m██\033[38;2;70;70;80m███\033[0m \033[38;2;70;70;80m█\033[38;2;255;50;50m██\033[38;2;70;70;80m███\033[0m \033[38;2;70;70;80m█\033[38;2;255;50;50m██\033[38;2;70;70;80m███\033[0m\n" +printf " \033[38;2;50;50;60m█\033[38;2;255;50;50m██\033[38;2;50;50;60m█\033[0m \033[38;2;50;50;60m█\033[38;2;255;50;50m██\033[38;2;50;50;60m█\033[0m \033[38;2;50;50;60m█\033[38;2;255;50;50m██\033[38;2;50;50;60m█\033[0m \033[38;2;50;50;60m█\033[38;2;255;50;50m██\033[38;2;50;50;60m█\033[0m\n" +printf " \033[38;2;70;70;80m██\033[0m \033[38;2;70;70;80m█\033[0m \033[38;2;70;70;80m█\033[0m \033[38;2;70;70;80m██\033[0m \033[38;2;70;70;80m█\033[0m \033[38;2;70;70;80m█\033[0m\n" +printf " \033[38;2;70;70;80m█\033[38;2;255;50;50m█\033[38;2;70;70;80m█\033[0m \033[38;2;70;70;80m█\033[38;2;255;50;50m█\033[0m \033[38;2;255;50;50m█\033[38;2;70;70;80m█\033[0m \033[38;2;70;70;80m█\033[38;2;255;50;50m█\033[38;2;70;70;80m█\033[0m \033[38;2;70;70;80m█\033[38;2;255;50;50m█\033[0m \033[38;2;255;50;50m█\033[38;2;70;70;80m█\033[0m\n" +printf " \033[38;2;70;70;80m█\033[0m \033[38;2;70;70;80m██\033[0m \033[38;2;70;70;80m██\033[0m \033[38;2;70;70;80m█\033[0m \033[38;2;70;70;80m█\033[0m \033[38;2;70;70;80m██\033[0m \033[38;2;70;70;80m██\033[0m \033[38;2;70;70;80m█\033[0m\n" +printf " \033[38;2;50;50;60m██\033[0m \033[38;2;50;50;60m███\033[0m \033[38;2;50;50;60m███\033[0m \033[38;2;50;50;60m██\033[0m \033[38;2;50;50;60m██\033[0m \033[38;2;50;50;60m███\033[0m \033[38;2;50;50;60m███\033[0m \033[38;2;50;50;60m██\033[0m\n" + +printf "\n" diff --git a/robot2.sh b/robot2.sh new file mode 100755 index 0000000..46fd926 --- /dev/null +++ b/robot2.sh @@ -0,0 +1,104 @@ +#!/bin/bash + +# Dark Android Sprite Sheet - Full tile pixels with shading +# Colors: Body=70,70,80 Shadow=45,45,55 Highlight=95,95,105 Red=255,50,50 DarkRed=180,30,30 + +echo "" +echo -e "\033[1m WALKING DOWN\033[0m" +echo "" +echo " Frame 1 Frame 2 Frame 3 Frame 4" +echo "" + +printf " \033[48;2;45;45;55m \033[48;2;70;70;80m \033[48;2;45;45;55m \033[0m \033[48;2;45;45;55m \033[48;2;70;70;80m \033[48;2;45;45;55m \033[0m \033[48;2;45;45;55m \033[48;2;70;70;80m \033[48;2;45;45;55m \033[0m \033[48;2;45;45;55m \033[48;2;70;70;80m \033[48;2;45;45;55m \033[0m\n" +printf " \033[48;2;45;45;55m \033[48;2;70;70;80m \033[48;2;45;45;55m \033[0m \033[48;2;45;45;55m \033[48;2;70;70;80m \033[48;2;45;45;55m \033[0m \033[48;2;45;45;55m \033[48;2;70;70;80m \033[48;2;45;45;55m \033[0m \033[48;2;45;45;55m \033[48;2;70;70;80m \033[48;2;45;45;55m \033[0m\n" +printf " \033[48;2;70;70;80m \033[48;2;95;95;105m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[48;2;95;95;105m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[48;2;95;95;105m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[48;2;95;95;105m \033[48;2;70;70;80m \033[0m\n" +printf " \033[48;2;70;70;80m \033[48;2;255;50;50m \033[48;2;70;70;80m \033[48;2;255;50;50m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[48;2;255;50;50m \033[48;2;70;70;80m \033[48;2;255;50;50m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[48;2;255;50;50m \033[48;2;70;70;80m \033[48;2;255;50;50m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[48;2;255;50;50m \033[48;2;70;70;80m \033[48;2;255;50;50m \033[48;2;70;70;80m \033[0m\n" +printf " \033[48;2;70;70;80m \033[48;2;180;30;30m \033[48;2;70;70;80m \033[48;2;180;30;30m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[48;2;180;30;30m \033[48;2;70;70;80m \033[48;2;180;30;30m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[48;2;180;30;30m \033[48;2;70;70;80m \033[48;2;180;30;30m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[48;2;180;30;30m \033[48;2;70;70;80m \033[48;2;180;30;30m \033[48;2;70;70;80m \033[0m\n" +printf " \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[0m\n" +printf " \033[48;2;45;45;55m \033[48;2;70;70;80m \033[48;2;45;45;55m \033[0m \033[48;2;45;45;55m \033[48;2;70;70;80m \033[48;2;45;45;55m \033[0m \033[48;2;45;45;55m \033[48;2;70;70;80m \033[48;2;45;45;55m \033[0m \033[48;2;45;45;55m \033[48;2;70;70;80m \033[48;2;45;45;55m \033[0m\n" +printf " \033[48;2;255;50;50m \033[48;2;70;70;80m \033[48;2;255;50;50m \033[0m \033[48;2;255;50;50m \033[48;2;70;70;80m \033[48;2;255;50;50m \033[0m \033[48;2;255;50;50m \033[48;2;70;70;80m \033[48;2;255;50;50m \033[0m \033[48;2;255;50;50m \033[48;2;70;70;80m \033[48;2;255;50;50m \033[0m\n" +printf " \033[48;2;70;70;80m \033[48;2;255;50;50m \033[48;2;70;70;80m \033[48;2;255;50;50m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[48;2;255;50;50m \033[48;2;70;70;80m \033[48;2;255;50;50m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[48;2;255;50;50m \033[48;2;70;70;80m \033[48;2;255;50;50m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[48;2;255;50;50m \033[48;2;70;70;80m \033[48;2;255;50;50m \033[48;2;70;70;80m \033[0m\n" +printf " \033[48;2;70;70;80m \033[48;2;45;45;55m \033[48;2;255;50;50m \033[48;2;45;45;55m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[48;2;45;45;55m \033[48;2;255;50;50m \033[48;2;45;45;55m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[48;2;45;45;55m \033[48;2;255;50;50m \033[48;2;45;45;55m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[48;2;45;45;55m \033[48;2;255;50;50m \033[48;2;45;45;55m \033[48;2;70;70;80m \033[0m\n" +printf " \033[48;2;70;70;80m \033[48;2;45;45;55m \033[48;2;255;50;50m \033[48;2;45;45;55m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[48;2;45;45;55m \033[48;2;255;50;50m \033[48;2;45;45;55m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[48;2;45;45;55m \033[48;2;255;50;50m \033[48;2;45;45;55m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[48;2;45;45;55m \033[48;2;255;50;50m \033[48;2;45;45;55m \033[48;2;70;70;80m \033[0m\n" +printf " \033[48;2;70;70;80m \033[48;2;255;50;50m \033[48;2;70;70;80m \033[48;2;255;50;50m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[48;2;255;50;50m \033[48;2;70;70;80m \033[48;2;255;50;50m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[48;2;255;50;50m \033[48;2;70;70;80m \033[48;2;255;50;50m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[48;2;255;50;50m \033[48;2;70;70;80m \033[48;2;255;50;50m \033[48;2;70;70;80m \033[0m\n" +printf " \033[48;2;45;45;55m \033[48;2;255;50;50m \033[48;2;45;45;55m \033[0m \033[48;2;45;45;55m \033[48;2;255;50;50m \033[48;2;45;45;55m \033[0m \033[48;2;45;45;55m \033[48;2;255;50;50m \033[48;2;45;45;55m \033[0m \033[48;2;45;45;55m \033[48;2;255;50;50m \033[48;2;45;45;55m \033[0m\n" +printf " \033[48;2;70;70;80m \033[48;2;45;45;55m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[48;2;45;45;55m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[48;2;45;45;55m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[48;2;45;45;55m \033[48;2;70;70;80m \033[0m\n" +printf " \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[48;2;70;70;80m \033[0m\n" +printf " \033[48;2;70;70;80m \033[48;2;255;50;50m \033[0m \033[48;2;255;50;50m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[48;2;255;50;50m \033[48;2;255;50;50m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[48;2;255;50;50m \033[0m \033[48;2;255;50;50m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[48;2;255;50;50m \033[48;2;255;50;50m \033[48;2;70;70;80m \033[0m\n" +printf " \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[0m\n" +printf " \033[48;2;45;45;55m \033[0m \033[48;2;45;45;55m \033[0m \033[48;2;45;45;55m \033[0m \033[48;2;45;45;55m \033[0m \033[48;2;45;45;55m \033[0m \033[48;2;45;45;55m \033[0m \033[48;2;45;45;55m \033[0m \033[48;2;45;45;55m \033[0m\n" + +echo "" +echo -e "\033[1m WALKING UP\033[0m" +echo "" +echo " Frame 1 Frame 2 Frame 3 Frame 4" +echo "" + +printf " \033[48;2;45;45;55m \033[48;2;70;70;80m \033[48;2;45;45;55m \033[0m \033[48;2;45;45;55m \033[48;2;70;70;80m \033[48;2;45;45;55m \033[0m \033[48;2;45;45;55m \033[48;2;70;70;80m \033[48;2;45;45;55m \033[0m \033[48;2;45;45;55m \033[48;2;70;70;80m \033[48;2;45;45;55m \033[0m\n" +printf " \033[48;2;45;45;55m \033[48;2;70;70;80m \033[48;2;45;45;55m \033[0m \033[48;2;45;45;55m \033[48;2;70;70;80m \033[48;2;45;45;55m \033[0m \033[48;2;45;45;55m \033[48;2;70;70;80m \033[48;2;45;45;55m \033[0m \033[48;2;45;45;55m \033[48;2;70;70;80m \033[48;2;45;45;55m \033[0m\n" +printf " \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[0m\n" +printf " \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[0m\n" +printf " \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[0m\n" +printf " \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[0m\n" +printf " \033[48;2;45;45;55m \033[48;2;70;70;80m \033[48;2;45;45;55m \033[0m \033[48;2;45;45;55m \033[48;2;70;70;80m \033[48;2;45;45;55m \033[0m \033[48;2;45;45;55m \033[48;2;70;70;80m \033[48;2;45;45;55m \033[0m \033[48;2;45;45;55m \033[48;2;70;70;80m \033[48;2;45;45;55m \033[0m\n" +printf " \033[48;2;255;50;50m \033[48;2;70;70;80m \033[48;2;255;50;50m \033[0m \033[48;2;255;50;50m \033[48;2;70;70;80m \033[48;2;255;50;50m \033[0m \033[48;2;255;50;50m \033[48;2;70;70;80m \033[48;2;255;50;50m \033[0m \033[48;2;255;50;50m \033[48;2;70;70;80m \033[48;2;255;50;50m \033[0m\n" +printf " \033[48;2;70;70;80m \033[48;2;255;50;50m \033[48;2;70;70;80m \033[48;2;255;50;50m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[48;2;255;50;50m \033[48;2;70;70;80m \033[48;2;255;50;50m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[48;2;255;50;50m \033[48;2;70;70;80m \033[48;2;255;50;50m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[48;2;255;50;50m \033[48;2;70;70;80m \033[48;2;255;50;50m \033[48;2;70;70;80m \033[0m\n" +printf " \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[0m\n" +printf " \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[0m\n" +printf " \033[48;2;70;70;80m \033[48;2;255;50;50m \033[48;2;70;70;80m \033[48;2;255;50;50m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[48;2;255;50;50m \033[48;2;70;70;80m \033[48;2;255;50;50m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[48;2;255;50;50m \033[48;2;70;70;80m \033[48;2;255;50;50m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[48;2;255;50;50m \033[48;2;70;70;80m \033[48;2;255;50;50m \033[48;2;70;70;80m \033[0m\n" +printf " \033[48;2;45;45;55m \033[48;2;255;50;50m \033[48;2;45;45;55m \033[0m \033[48;2;45;45;55m \033[48;2;255;50;50m \033[48;2;45;45;55m \033[0m \033[48;2;45;45;55m \033[48;2;255;50;50m \033[48;2;45;45;55m \033[0m \033[48;2;45;45;55m \033[48;2;255;50;50m \033[48;2;45;45;55m \033[0m\n" +printf " \033[48;2;70;70;80m \033[48;2;45;45;55m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[48;2;45;45;55m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[48;2;45;45;55m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[48;2;45;45;55m \033[48;2;70;70;80m \033[0m\n" +printf " \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[48;2;70;70;80m \033[0m\n" +printf " \033[48;2;70;70;80m \033[48;2;255;50;50m \033[0m \033[48;2;255;50;50m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[48;2;255;50;50m \033[48;2;255;50;50m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[48;2;255;50;50m \033[0m \033[48;2;255;50;50m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[48;2;255;50;50m \033[48;2;255;50;50m \033[48;2;70;70;80m \033[0m\n" +printf " \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[0m\n" +printf " \033[48;2;45;45;55m \033[0m \033[48;2;45;45;55m \033[0m \033[48;2;45;45;55m \033[0m \033[48;2;45;45;55m \033[0m \033[48;2;45;45;55m \033[0m \033[48;2;45;45;55m \033[0m \033[48;2;45;45;55m \033[0m \033[48;2;45;45;55m \033[0m\n" + +echo "" +echo -e "\033[1m WALKING LEFT\033[0m" +echo "" +echo " Frame 1 Frame 2 Frame 3 Frame 4" +echo "" + +printf " \033[48;2;45;45;55m \033[48;2;70;70;80m \033[48;2;45;45;55m \033[0m \033[48;2;45;45;55m \033[48;2;70;70;80m \033[48;2;45;45;55m \033[0m \033[48;2;45;45;55m \033[48;2;70;70;80m \033[48;2;45;45;55m \033[0m \033[48;2;45;45;55m \033[48;2;70;70;80m \033[48;2;45;45;55m \033[0m\n" +printf " \033[48;2;45;45;55m \033[48;2;70;70;80m \033[48;2;45;45;55m \033[0m \033[48;2;45;45;55m \033[48;2;70;70;80m \033[48;2;45;45;55m \033[0m \033[48;2;45;45;55m \033[48;2;70;70;80m \033[48;2;45;45;55m \033[0m \033[48;2;45;45;55m \033[48;2;70;70;80m \033[48;2;45;45;55m \033[0m\n" +printf " \033[48;2;70;70;80m \033[48;2;95;95;105m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[48;2;95;95;105m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[48;2;95;95;105m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[48;2;95;95;105m \033[48;2;70;70;80m \033[0m\n" +printf " \033[48;2;255;50;50m \033[48;2;70;70;80m \033[0m \033[48;2;255;50;50m \033[48;2;70;70;80m \033[0m \033[48;2;255;50;50m \033[48;2;70;70;80m \033[0m \033[48;2;255;50;50m \033[48;2;70;70;80m \033[0m\n" +printf " \033[48;2;180;30;30m \033[48;2;70;70;80m \033[0m \033[48;2;180;30;30m \033[48;2;70;70;80m \033[0m \033[48;2;180;30;30m \033[48;2;70;70;80m \033[0m \033[48;2;180;30;30m \033[48;2;70;70;80m \033[0m\n" +printf " \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[0m\n" +printf " \033[48;2;45;45;55m \033[48;2;70;70;80m \033[48;2;45;45;55m \033[0m \033[48;2;45;45;55m \033[48;2;70;70;80m \033[48;2;45;45;55m \033[0m \033[48;2;45;45;55m \033[48;2;70;70;80m \033[48;2;45;45;55m \033[0m \033[48;2;45;45;55m \033[48;2;70;70;80m \033[48;2;45;45;55m \033[0m\n" +printf " \033[48;2;255;50;50m \033[48;2;70;70;80m \033[48;2;255;50;50m \033[0m \033[48;2;255;50;50m \033[48;2;70;70;80m \033[48;2;255;50;50m \033[0m \033[48;2;255;50;50m \033[48;2;70;70;80m \033[48;2;255;50;50m \033[0m \033[48;2;255;50;50m \033[48;2;70;70;80m \033[48;2;255;50;50m \033[0m\n" +printf " \033[48;2;70;70;80m \033[48;2;255;50;50m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[48;2;255;50;50m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[48;2;255;50;50m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[48;2;255;50;50m \033[48;2;70;70;80m \033[0m\n" +printf " \033[48;2;70;70;80m \033[48;2;45;45;55m \033[48;2;255;50;50m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[48;2;45;45;55m \033[48;2;255;50;50m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[48;2;45;45;55m \033[48;2;255;50;50m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[48;2;45;45;55m \033[48;2;255;50;50m \033[48;2;70;70;80m \033[0m\n" +printf " \033[48;2;70;70;80m \033[48;2;45;45;55m \033[48;2;255;50;50m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[48;2;45;45;55m \033[48;2;255;50;50m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[48;2;45;45;55m \033[48;2;255;50;50m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[48;2;45;45;55m \033[48;2;255;50;50m \033[48;2;70;70;80m \033[0m\n" +printf " \033[48;2;45;45;55m \033[48;2;255;50;50m \033[48;2;45;45;55m \033[0m \033[48;2;45;45;55m \033[48;2;255;50;50m \033[48;2;45;45;55m \033[0m \033[48;2;45;45;55m \033[48;2;255;50;50m \033[48;2;45;45;55m \033[0m \033[48;2;45;45;55m \033[48;2;255;50;50m \033[48;2;45;45;55m \033[0m\n" +printf " \033[48;2;70;70;80m \033[48;2;45;45;55m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[48;2;45;45;55m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[48;2;45;45;55m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[48;2;45;45;55m \033[48;2;70;70;80m \033[0m\n" +printf " \033[48;2;70;70;80m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[0m\n" +printf " \033[48;2;70;70;80m \033[48;2;255;50;50m \033[48;2;255;50;50m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[48;2;255;50;50m \033[0m \033[48;2;255;50;50m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[48;2;255;50;50m \033[48;2;255;50;50m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[48;2;255;50;50m \033[0m \033[48;2;255;50;50m \033[48;2;70;70;80m \033[0m\n" +printf " \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[0m\n" +printf " \033[48;2;45;45;55m \033[0m \033[48;2;45;45;55m \033[0m \033[48;2;45;45;55m \033[0m \033[48;2;45;45;55m \033[0m \033[48;2;45;45;55m \033[0m \033[48;2;45;45;55m \033[0m \033[48;2;45;45;55m \033[0m \033[48;2;45;45;55m \033[0m\n" + +echo "" +echo -e "\033[1m WALKING RIGHT\033[0m" +echo "" +echo " Frame 1 Frame 2 Frame 3 Frame 4" +echo "" + +printf " \033[48;2;45;45;55m \033[48;2;70;70;80m \033[48;2;45;45;55m \033[0m \033[48;2;45;45;55m \033[48;2;70;70;80m \033[48;2;45;45;55m \033[0m \033[48;2;45;45;55m \033[48;2;70;70;80m \033[48;2;45;45;55m \033[0m \033[48;2;45;45;55m \033[48;2;70;70;80m \033[48;2;45;45;55m \033[0m\n" +printf " \033[48;2;45;45;55m \033[48;2;70;70;80m \033[48;2;45;45;55m \033[0m \033[48;2;45;45;55m \033[48;2;70;70;80m \033[48;2;45;45;55m \033[0m \033[48;2;45;45;55m \033[48;2;70;70;80m \033[48;2;45;45;55m \033[0m \033[48;2;45;45;55m \033[48;2;70;70;80m \033[48;2;45;45;55m \033[0m\n" +printf " \033[48;2;70;70;80m \033[48;2;95;95;105m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[48;2;95;95;105m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[48;2;95;95;105m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[48;2;95;95;105m \033[48;2;70;70;80m \033[0m\n" +printf " \033[48;2;70;70;80m \033[48;2;255;50;50m \033[0m \033[48;2;70;70;80m \033[48;2;255;50;50m \033[0m \033[48;2;70;70;80m \033[48;2;255;50;50m \033[0m \033[48;2;70;70;80m \033[48;2;255;50;50m \033[0m\n" +printf " \033[48;2;70;70;80m \033[48;2;180;30;30m \033[0m \033[48;2;70;70;80m \033[48;2;180;30;30m \033[0m \033[48;2;70;70;80m \033[48;2;180;30;30m \033[0m \033[48;2;70;70;80m \033[48;2;180;30;30m \033[0m\n" +printf " \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[0m\n" +printf " \033[48;2;45;45;55m \033[48;2;70;70;80m \033[48;2;45;45;55m \033[0m \033[48;2;45;45;55m \033[48;2;70;70;80m \033[48;2;45;45;55m \033[0m \033[48;2;45;45;55m \033[48;2;70;70;80m \033[48;2;45;45;55m \033[0m \033[48;2;45;45;55m \033[48;2;70;70;80m \033[48;2;45;45;55m \033[0m\n" +printf " \033[48;2;255;50;50m \033[48;2;70;70;80m \033[48;2;255;50;50m \033[0m \033[48;2;255;50;50m \033[48;2;70;70;80m \033[48;2;255;50;50m \033[0m \033[48;2;255;50;50m \033[48;2;70;70;80m \033[48;2;255;50;50m \033[0m \033[48;2;255;50;50m \033[48;2;70;70;80m \033[48;2;255;50;50m \033[0m\n" +printf " \033[48;2;70;70;80m \033[48;2;255;50;50m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[48;2;255;50;50m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[48;2;255;50;50m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[48;2;255;50;50m \033[48;2;70;70;80m \033[0m\n" +printf " \033[48;2;70;70;80m \033[48;2;255;50;50m \033[48;2;45;45;55m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[48;2;255;50;50m \033[48;2;45;45;55m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[48;2;255;50;50m \033[48;2;45;45;55m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[48;2;255;50;50m \033[48;2;45;45;55m \033[48;2;70;70;80m \033[0m\n" +printf " \033[48;2;70;70;80m \033[48;2;255;50;50m \033[48;2;45;45;55m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[48;2;255;50;50m \033[48;2;45;45;55m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[48;2;255;50;50m \033[48;2;45;45;55m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[48;2;255;50;50m \033[48;2;45;45;55m \033[48;2;70;70;80m \033[0m\n" +printf " \033[48;2;45;45;55m \033[48;2;255;50;50m \033[48;2;45;45;55m \033[0m \033[48;2;45;45;55m \033[48;2;255;50;50m \033[48;2;45;45;55m \033[0m \033[48;2;45;45;55m \033[48;2;255;50;50m \033[48;2;45;45;55m \033[0m \033[48;2;45;45;55m \033[48;2;255;50;50m \033[48;2;45;45;55m \033[0m\n" +printf " \033[48;2;70;70;80m \033[48;2;45;45;55m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[48;2;45;45;55m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[48;2;45;45;55m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[48;2;45;45;55m \033[48;2;70;70;80m \033[0m\n" +printf " \033[48;2;70;70;80m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[0m\n" +printf " \033[48;2;70;70;80m \033[48;2;255;50;50m \033[48;2;255;50;50m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[48;2;255;50;50m \033[0m \033[48;2;255;50;50m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[48;2;255;50;50m \033[48;2;255;50;50m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[48;2;255;50;50m \033[0m \033[48;2;255;50;50m \033[48;2;70;70;80m \033[0m\n" +printf " \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[0m \033[48;2;70;70;80m \033[0m\n" +printf " \033[48;2;45;45;55m \033[0m \033[48;2;45;45;55m \033[0m \033[48;2;45;45;55m \033[0m \033[48;2;45;45;55m \033[0m \033[48;2;45;45;55m \033[0m \033[48;2;45;45;55m \033[0m \033[48;2;45;45;55m \033[0m \033[48;2;45;45;55m \033[0m\n" + +echo "" diff --git a/robot3.sh b/robot3.sh new file mode 100755 index 0000000..725a78f --- /dev/null +++ b/robot3.sh @@ -0,0 +1,121 @@ +#!/bin/bash + +# Dark Android Sprite - Polished version with better proportions +# Colors (background mode for solid pixels) +B="\033[48;2;70;70;80m" # Body +D="\033[48;2;45;45;55m" # Dark/Shadow +H="\033[48;2;95;95;105m" # Highlight +R="\033[48;2;255;50;50m" # Red glow +r="\033[48;2;180;30;30m" # Dark red +X="\033[0m" # Reset +P=" " # Pixel (two spaces) + +clear +echo "" +echo -e "\033[1m WALKING DOWN\033[0m" +echo "" +echo " Frame 1 Frame 2 Frame 3 Frame 4" +echo "" + +# HEAD - all frames same +printf " ${D}${P}${B}${P}${P}${P}${D}${P}${X} ${D}${P}${B}${P}${P}${P}${D}${P}${X} ${D}${P}${B}${P}${P}${P}${D}${P}${X} ${D}${P}${B}${P}${P}${P}${D}${P}${X}\n" +printf " ${D}${P}${B}${P}${P}${P}${P}${P}${D}${P}${X} ${D}${P}${B}${P}${P}${P}${P}${P}${D}${P}${X} ${D}${P}${B}${P}${P}${P}${P}${P}${D}${P}${X} ${D}${P}${B}${P}${P}${P}${P}${P}${D}${P}${X}\n" +printf " ${B}${P}${H}${P}${B}${P}${P}${P}${H}${P}${B}${P}${X} ${B}${P}${H}${P}${B}${P}${P}${P}${H}${P}${B}${P}${X} ${B}${P}${H}${P}${B}${P}${P}${P}${H}${P}${B}${P}${X} ${B}${P}${H}${P}${B}${P}${P}${P}${H}${P}${B}${P}${X}\n" +printf " ${B}${P}${R}${P}${P}${B}${P}${P}${P}${R}${P}${P}${B}${P}${X} ${B}${P}${R}${P}${P}${B}${P}${P}${P}${R}${P}${P}${B}${P}${X} ${B}${P}${R}${P}${P}${B}${P}${P}${P}${R}${P}${P}${B}${P}${X} ${B}${P}${R}${P}${P}${B}${P}${P}${P}${R}${P}${P}${B}${P}${X}\n" +printf " ${B}${P}${r}${P}${P}${B}${P}${P}${P}${r}${P}${P}${B}${P}${X} ${B}${P}${r}${P}${P}${B}${P}${P}${P}${r}${P}${P}${B}${P}${X} ${B}${P}${r}${P}${P}${B}${P}${P}${P}${r}${P}${P}${B}${P}${X} ${B}${P}${r}${P}${P}${B}${P}${P}${P}${r}${P}${P}${B}${P}${X}\n" +printf " ${B}${P}${P}${P}${P}${P}${P}${P}${P}${P}${B}${P}${X} ${B}${P}${P}${P}${P}${P}${P}${P}${P}${P}${B}${P}${X} ${B}${P}${P}${P}${P}${P}${P}${P}${P}${P}${B}${P}${X} ${B}${P}${P}${P}${P}${P}${P}${P}${P}${P}${B}${P}${X}\n" +printf " ${D}${P}${B}${P}${P}${P}${P}${P}${D}${P}${X} ${D}${P}${B}${P}${P}${P}${P}${P}${D}${P}${X} ${D}${P}${B}${P}${P}${P}${P}${P}${D}${P}${X} ${D}${P}${B}${P}${P}${P}${P}${P}${D}${P}${X}\n" +# NECK with red accent +printf " ${R}${P}${D}${P}${P}${P}${R}${P}${X} ${R}${P}${D}${P}${P}${P}${R}${P}${X} ${R}${P}${D}${P}${P}${P}${R}${P}${X} ${R}${P}${D}${P}${P}${P}${R}${P}${X}\n" +# TORSO +printf " ${B}${P}${P}${R}${P}${B}${P}${P}${P}${P}${R}${P}${B}${P}${P}${X} ${B}${P}${P}${R}${P}${B}${P}${P}${P}${P}${R}${P}${B}${P}${P}${X} ${B}${P}${P}${R}${P}${B}${P}${P}${P}${P}${R}${P}${B}${P}${P}${X} ${B}${P}${P}${R}${P}${B}${P}${P}${P}${P}${R}${P}${B}${P}${P}${X}\n" +printf " ${B}${P}${D}${P}${R}${P}${B}${P}${P}${R}${P}${D}${P}${B}${P}${X} ${B}${P}${D}${P}${R}${P}${B}${P}${P}${R}${P}${D}${P}${B}${P}${X} ${B}${P}${D}${P}${R}${P}${B}${P}${P}${R}${P}${D}${P}${B}${P}${X} ${B}${P}${D}${P}${R}${P}${B}${P}${P}${R}${P}${D}${P}${B}${P}${X}\n" +printf " ${B}${P}${D}${P}${R}${P}${B}${P}${P}${R}${P}${D}${P}${B}${P}${X} ${B}${P}${D}${P}${R}${P}${B}${P}${P}${R}${P}${D}${P}${B}${P}${X} ${B}${P}${D}${P}${R}${P}${B}${P}${P}${R}${P}${D}${P}${B}${P}${X} ${B}${P}${D}${P}${R}${P}${B}${P}${P}${R}${P}${D}${P}${B}${P}${X}\n" +printf " ${B}${P}${R}${P}${B}${P}${P}${R}${P}${B}${P}${X} ${B}${P}${R}${P}${B}${P}${P}${R}${P}${B}${P}${X} ${B}${P}${R}${P}${B}${P}${P}${R}${P}${B}${P}${X} ${B}${P}${R}${P}${B}${P}${P}${R}${P}${B}${P}${X}\n" +printf " ${D}${P}${R}${P}${B}${P}${P}${R}${P}${D}${P}${X} ${D}${P}${R}${P}${B}${P}${P}${R}${P}${D}${P}${X} ${D}${P}${R}${P}${B}${P}${P}${R}${P}${D}${P}${X} ${D}${P}${R}${P}${B}${P}${P}${R}${P}${D}${P}${X}\n" +printf " ${B}${P}${D}${P}${P}${P}${B}${P}${X} ${B}${P}${D}${P}${P}${P}${B}${P}${X} ${B}${P}${D}${P}${P}${P}${B}${P}${X} ${B}${P}${D}${P}${P}${P}${B}${P}${X}\n" +# LEGS - Frame 1: standing, Frame 2: step left, Frame 3: standing, Frame 4: step right +printf " ${B}${P}${P}${X} ${B}${P}${P}${X} ${B}${P}${P}${X}${B}${P}${P}${X} ${B}${P}${P}${X} ${B}${P}${P}${X} ${B}${P}${P}${B}${P}${P}${X}\n" +printf " ${B}${P}${R}${P}${X} ${R}${P}${B}${P}${X} ${B}${P}${R}${P}${R}${P}${B}${P}${X} ${B}${P}${R}${P}${X} ${R}${P}${B}${P}${X} ${B}${P}${R}${P}${R}${P}${B}${P}${X}\n" +printf " ${B}${P}${P}${X} ${B}${P}${P}${X} ${B}${P}${X} ${B}${P}${X} ${B}${P}${P}${X} ${B}${P}${P}${X} ${B}${P}${X} ${B}${P}${X}\n" +printf " ${D}${P}${P}${P}${X} ${D}${P}${P}${P}${X} ${D}${P}${P}${X} ${D}${P}${P}${X} ${D}${P}${P}${P}${X} ${D}${P}${P}${P}${X} ${D}${P}${P}${X} ${D}${P}${P}${X}\n" + +echo "" +echo -e "\033[1m WALKING UP\033[0m" +echo "" +echo " Frame 1 Frame 2 Frame 3 Frame 4" +echo "" + +# Back view - no face details visible +printf " ${D}${P}${B}${P}${P}${P}${D}${P}${X} ${D}${P}${B}${P}${P}${P}${D}${P}${X} ${D}${P}${B}${P}${P}${P}${D}${P}${X} ${D}${P}${B}${P}${P}${P}${D}${P}${X}\n" +printf " ${D}${P}${B}${P}${P}${P}${P}${P}${D}${P}${X} ${D}${P}${B}${P}${P}${P}${P}${P}${D}${P}${X} ${D}${P}${B}${P}${P}${P}${P}${P}${D}${P}${X} ${D}${P}${B}${P}${P}${P}${P}${P}${D}${P}${X}\n" +printf " ${B}${P}${P}${P}${P}${P}${P}${P}${P}${P}${B}${P}${X} ${B}${P}${P}${P}${P}${P}${P}${P}${P}${P}${B}${P}${X} ${B}${P}${P}${P}${P}${P}${P}${P}${P}${P}${B}${P}${X} ${B}${P}${P}${P}${P}${P}${P}${P}${P}${P}${B}${P}${X}\n" +printf " ${B}${P}${P}${P}${P}${P}${P}${P}${P}${P}${B}${P}${X} ${B}${P}${P}${P}${P}${P}${P}${P}${P}${P}${B}${P}${X} ${B}${P}${P}${P}${P}${P}${P}${P}${P}${P}${B}${P}${X} ${B}${P}${P}${P}${P}${P}${P}${P}${P}${P}${B}${P}${X}\n" +printf " ${B}${P}${P}${P}${P}${P}${P}${P}${P}${P}${B}${P}${X} ${B}${P}${P}${P}${P}${P}${P}${P}${P}${P}${B}${P}${X} ${B}${P}${P}${P}${P}${P}${P}${P}${P}${P}${B}${P}${X} ${B}${P}${P}${P}${P}${P}${P}${P}${P}${P}${B}${P}${X}\n" +printf " ${B}${P}${P}${P}${P}${P}${P}${P}${P}${P}${B}${P}${X} ${B}${P}${P}${P}${P}${P}${P}${P}${P}${P}${B}${P}${X} ${B}${P}${P}${P}${P}${P}${P}${P}${P}${P}${B}${P}${X} ${B}${P}${P}${P}${P}${P}${P}${P}${P}${P}${B}${P}${X}\n" +printf " ${D}${P}${B}${P}${P}${P}${P}${P}${D}${P}${X} ${D}${P}${B}${P}${P}${P}${P}${P}${D}${P}${X} ${D}${P}${B}${P}${P}${P}${P}${P}${D}${P}${X} ${D}${P}${B}${P}${P}${P}${P}${P}${D}${P}${X}\n" +printf " ${R}${P}${D}${P}${P}${P}${R}${P}${X} ${R}${P}${D}${P}${P}${P}${R}${P}${X} ${R}${P}${D}${P}${P}${P}${R}${P}${X} ${R}${P}${D}${P}${P}${P}${R}${P}${X}\n" +printf " ${B}${P}${P}${R}${P}${B}${P}${P}${P}${P}${R}${P}${B}${P}${P}${X} ${B}${P}${P}${R}${P}${B}${P}${P}${P}${P}${R}${P}${B}${P}${P}${X} ${B}${P}${P}${R}${P}${B}${P}${P}${P}${P}${R}${P}${B}${P}${P}${X} ${B}${P}${P}${R}${P}${B}${P}${P}${P}${P}${R}${P}${B}${P}${P}${X}\n" +printf " ${B}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${B}${P}${X} ${B}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${B}${P}${X} ${B}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${B}${P}${X} ${B}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${B}${P}${X}\n" +printf " ${B}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${B}${P}${X} ${B}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${B}${P}${X} ${B}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${B}${P}${X} ${B}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${P}${B}${P}${X}\n" +printf " ${B}${P}${R}${P}${B}${P}${P}${R}${P}${B}${P}${X} ${B}${P}${R}${P}${B}${P}${P}${R}${P}${B}${P}${X} ${B}${P}${R}${P}${B}${P}${P}${R}${P}${B}${P}${X} ${B}${P}${R}${P}${B}${P}${P}${R}${P}${B}${P}${X}\n" +printf " ${D}${P}${R}${P}${B}${P}${P}${R}${P}${D}${P}${X} ${D}${P}${R}${P}${B}${P}${P}${R}${P}${D}${P}${X} ${D}${P}${R}${P}${B}${P}${P}${R}${P}${D}${P}${X} ${D}${P}${R}${P}${B}${P}${P}${R}${P}${D}${P}${X}\n" +printf " ${B}${P}${D}${P}${P}${P}${B}${P}${X} ${B}${P}${D}${P}${P}${P}${B}${P}${X} ${B}${P}${D}${P}${P}${P}${B}${P}${X} ${B}${P}${D}${P}${P}${P}${B}${P}${X}\n" +printf " ${B}${P}${P}${X} ${B}${P}${P}${X} ${B}${P}${P}${X}${B}${P}${P}${X} ${B}${P}${P}${X} ${B}${P}${P}${X} ${B}${P}${P}${B}${P}${P}${X}\n" +printf " ${B}${P}${R}${P}${X} ${R}${P}${B}${P}${X} ${B}${P}${R}${P}${R}${P}${B}${P}${X} ${B}${P}${R}${P}${X} ${R}${P}${B}${P}${X} ${B}${P}${R}${P}${R}${P}${B}${P}${X}\n" +printf " ${B}${P}${P}${X} ${B}${P}${P}${X} ${B}${P}${X} ${B}${P}${X} ${B}${P}${P}${X} ${B}${P}${P}${X} ${B}${P}${X} ${B}${P}${X}\n" +printf " ${D}${P}${P}${P}${X} ${D}${P}${P}${P}${X} ${D}${P}${P}${X} ${D}${P}${P}${X} ${D}${P}${P}${P}${X} ${D}${P}${P}${P}${X} ${D}${P}${P}${X} ${D}${P}${P}${X}\n" + +echo "" +echo -e "\033[1m WALKING LEFT\033[0m" +echo "" +echo " Frame 1 Frame 2 Frame 3 Frame 4" +echo "" + +# Side profile facing left - eye on left side +printf " ${D}${P}${B}${P}${P}${D}${P}${X} ${D}${P}${B}${P}${P}${D}${P}${X} ${D}${P}${B}${P}${P}${D}${P}${X} ${D}${P}${B}${P}${P}${D}${P}${X}\n" +printf " ${D}${P}${B}${P}${P}${P}${P}${D}${P}${X} ${D}${P}${B}${P}${P}${P}${P}${D}${P}${X} ${D}${P}${B}${P}${P}${P}${P}${D}${P}${X} ${D}${P}${B}${P}${P}${P}${P}${D}${P}${X}\n" +printf " ${B}${P}${H}${P}${B}${P}${P}${P}${P}${X} ${B}${P}${H}${P}${B}${P}${P}${P}${P}${X} ${B}${P}${H}${P}${B}${P}${P}${P}${P}${X} ${B}${P}${H}${P}${B}${P}${P}${P}${P}${X}\n" +printf " ${R}${P}${P}${B}${P}${P}${P}${P}${X} ${R}${P}${P}${B}${P}${P}${P}${P}${X} ${R}${P}${P}${B}${P}${P}${P}${P}${X} ${R}${P}${P}${B}${P}${P}${P}${P}${X}\n" +printf " ${r}${P}${P}${B}${P}${P}${P}${P}${X} ${r}${P}${P}${B}${P}${P}${P}${P}${X} ${r}${P}${P}${B}${P}${P}${P}${P}${X} ${r}${P}${P}${B}${P}${P}${P}${P}${X}\n" +printf " ${B}${P}${P}${P}${P}${P}${P}${P}${X} ${B}${P}${P}${P}${P}${P}${P}${P}${X} ${B}${P}${P}${P}${P}${P}${P}${P}${X} ${B}${P}${P}${P}${P}${P}${P}${P}${X}\n" +printf " ${D}${P}${B}${P}${P}${P}${D}${P}${X} ${D}${P}${B}${P}${P}${P}${D}${P}${X} ${D}${P}${B}${P}${P}${P}${D}${P}${X} ${D}${P}${B}${P}${P}${P}${D}${P}${X}\n" +printf " ${R}${P}${D}${P}${P}${R}${P}${X} ${R}${P}${D}${P}${P}${R}${P}${X} ${R}${P}${D}${P}${P}${R}${P}${X} ${R}${P}${D}${P}${P}${R}${P}${X}\n" +printf " ${B}${P}${P}${R}${P}${B}${P}${P}${P}${P}${X} ${B}${P}${P}${R}${P}${B}${P}${P}${P}${P}${X} ${B}${P}${P}${R}${P}${B}${P}${P}${P}${P}${X} ${B}${P}${P}${R}${P}${B}${P}${P}${P}${P}${X}\n" +printf " ${B}${P}${D}${P}${R}${P}${B}${P}${P}${P}${X} ${B}${P}${D}${P}${R}${P}${B}${P}${P}${P}${X} ${B}${P}${D}${P}${R}${P}${B}${P}${P}${P}${X} ${B}${P}${D}${P}${R}${P}${B}${P}${P}${P}${X}\n" +printf " ${B}${P}${R}${P}${B}${P}${P}${P}${X} ${B}${P}${R}${P}${B}${P}${P}${P}${X} ${B}${P}${R}${P}${B}${P}${P}${P}${X} ${B}${P}${R}${P}${B}${P}${P}${P}${X}\n" +printf " ${D}${P}${R}${P}${D}${P}${P}${P}${X} ${D}${P}${R}${P}${D}${P}${P}${P}${X} ${D}${P}${R}${P}${D}${P}${P}${P}${X} ${D}${P}${R}${P}${D}${P}${P}${P}${X}\n" +printf " ${B}${P}${D}${P}${P}${X} ${B}${P}${D}${P}${P}${X} ${B}${P}${D}${P}${P}${X} ${B}${P}${D}${P}${P}${X}\n" +# Legs animated - walking left +printf " ${B}${P}${P}${B}${P}${P}${X} ${B}${P}${P}${X} ${B}${P}${P}${X} ${B}${P}${P}${B}${P}${P}${X} ${B}${P}${P}${X} ${B}${P}${P}${X}\n" +printf " ${B}${P}${R}${P}${R}${P}${B}${P}${X} ${B}${P}${R}${P}${X} ${R}${P}${B}${P}${X} ${B}${P}${R}${P}${R}${P}${B}${P}${X} ${B}${P}${R}${P}${X} ${R}${P}${B}${P}${X}\n" +printf " ${B}${P}${X} ${B}${P}${X} ${B}${P}${P}${X} ${B}${P}${P}${X} ${B}${P}${X} ${B}${P}${X} ${B}${P}${P}${X} ${B}${P}${P}${X}\n" +printf " ${D}${P}${P}${X} ${D}${P}${P}${X} ${D}${P}${P}${P}${X} ${D}${P}${P}${P}${X} ${D}${P}${P}${X} ${D}${P}${P}${X} ${D}${P}${P}${P}${X} ${D}${P}${P}${P}${X}\n" + +echo "" +echo -e "\033[1m WALKING RIGHT\033[0m" +echo "" +echo " Frame 1 Frame 2 Frame 3 Frame 4" +echo "" + +# Side profile facing right - eye on right side +printf " ${D}${P}${P}${B}${P}${D}${P}${X} ${D}${P}${P}${B}${P}${D}${P}${X} ${D}${P}${P}${B}${P}${D}${P}${X} ${D}${P}${P}${B}${P}${D}${P}${X}\n" +printf " ${D}${P}${P}${P}${P}${B}${P}${D}${P}${X} ${D}${P}${P}${P}${P}${B}${P}${D}${P}${X} ${D}${P}${P}${P}${P}${B}${P}${D}${P}${X} ${D}${P}${P}${P}${P}${B}${P}${D}${P}${X}\n" +printf " ${B}${P}${P}${P}${P}${H}${P}${B}${P}${X} ${B}${P}${P}${P}${P}${H}${P}${B}${P}${X} ${B}${P}${P}${P}${P}${H}${P}${B}${P}${X} ${B}${P}${P}${P}${P}${H}${P}${B}${P}${X}\n" +printf " ${B}${P}${P}${P}${P}${P}${R}${P}${X} ${B}${P}${P}${P}${P}${P}${R}${P}${X} ${B}${P}${P}${P}${P}${P}${R}${P}${X} ${B}${P}${P}${P}${P}${P}${R}${P}${X}\n" +printf " ${B}${P}${P}${P}${P}${P}${r}${P}${X} ${B}${P}${P}${P}${P}${P}${r}${P}${X} ${B}${P}${P}${P}${P}${P}${r}${P}${X} ${B}${P}${P}${P}${P}${P}${r}${P}${X}\n" +printf " ${B}${P}${P}${P}${P}${P}${P}${P}${X} ${B}${P}${P}${P}${P}${P}${P}${P}${X} ${B}${P}${P}${P}${P}${P}${P}${P}${X} ${B}${P}${P}${P}${P}${P}${P}${P}${X}\n" +printf " ${D}${P}${P}${P}${B}${P}${D}${P}${X} ${D}${P}${P}${P}${B}${P}${D}${P}${X} ${D}${P}${P}${P}${B}${P}${D}${P}${X} ${D}${P}${P}${P}${B}${P}${D}${P}${X}\n" +printf " ${R}${P}${P}${D}${P}${R}${P}${X} ${R}${P}${P}${D}${P}${R}${P}${X} ${R}${P}${P}${D}${P}${R}${P}${X} ${R}${P}${P}${D}${P}${R}${P}${X}\n" +printf " ${B}${P}${P}${P}${P}${R}${P}${B}${P}${P}${X} ${B}${P}${P}${P}${P}${R}${P}${B}${P}${P}${X} ${B}${P}${P}${P}${P}${R}${P}${B}${P}${P}${X} ${B}${P}${P}${P}${P}${R}${P}${B}${P}${P}${X}\n" +printf " ${B}${P}${P}${P}${R}${P}${D}${P}${B}${P}${X} ${B}${P}${P}${P}${R}${P}${D}${P}${B}${P}${X} ${B}${P}${P}${P}${R}${P}${D}${P}${B}${P}${X} ${B}${P}${P}${P}${R}${P}${D}${P}${B}${P}${X}\n" +printf " ${B}${P}${P}${P}${R}${P}${B}${P}${X} ${B}${P}${P}${P}${R}${P}${B}${P}${X} ${B}${P}${P}${P}${R}${P}${B}${P}${X} ${B}${P}${P}${P}${R}${P}${B}${P}${X}\n" +printf " ${D}${P}${P}${P}${R}${P}${D}${P}${X} ${D}${P}${P}${P}${R}${P}${D}${P}${X} ${D}${P}${P}${P}${R}${P}${D}${P}${X} ${D}${P}${P}${P}${R}${P}${D}${P}${X}\n" +printf " ${B}${P}${D}${P}${B}${P}${X} ${B}${P}${D}${P}${B}${P}${X} ${B}${P}${D}${P}${B}${P}${X} ${B}${P}${D}${P}${B}${P}${X}\n" +# Legs animated - walking right +printf " ${B}${P}${P}${B}${P}${P}${X} ${B}${P}${P}${X} ${B}${P}${P}${X} ${B}${P}${P}${B}${P}${P}${X} ${B}${P}${P}${X} ${B}${P}${P}${X}\n" +printf " ${B}${P}${R}${P}${R}${P}${B}${P}${X} ${B}${P}${R}${P}${X} ${R}${P}${B}${P}${X} ${B}${P}${R}${P}${R}${P}${B}${P}${X} ${B}${P}${R}${P}${X} ${R}${P}${B}${P}${X}\n" +printf " ${B}${P}${X} ${B}${P}${X} ${B}${P}${P}${X} ${B}${P}${P}${X} ${B}${P}${X} ${B}${P}${X} ${B}${P}${P}${X} ${B}${P}${P}${X}\n" +printf " ${D}${P}${P}${X} ${D}${P}${P}${X} ${D}${P}${P}${P}${X} ${D}${P}${P}${P}${X} ${D}${P}${P}${X} ${D}${P}${P}${X} ${D}${P}${P}${P}${X} ${D}${P}${P}${P}${X}\n" + +echo "" diff --git a/sprite.sh b/sprite.sh new file mode 100755 index 0000000..6080622 --- /dev/null +++ b/sprite.sh @@ -0,0 +1,61 @@ +#!/bin/bash + +printf "\n\033[1m WALKING DOWN\033[0m\n\n" +printf " Frame 1 Frame 2 Frame 3 Frame 4\n\n" +printf " \033[38;2;255;105;180m▄███▄\033[0m \033[38;2;255;105;180m▄███▄\033[0m \033[38;2;255;105;180m▄███▄\033[0m \033[38;2;255;105;180m▄███▄\033[0m\n" +printf " \033[38;2;255;105;180m███████\033[0m \033[38;2;255;105;180m███████\033[0m \033[38;2;255;105;180m███████\033[0m \033[38;2;255;105;180m███████\033[0m\n" +printf " \033[38;2;255;105;180m█\033[38;2;255;206;180m█████\033[38;2;255;105;180m█\033[0m \033[38;2;255;105;180m█\033[38;2;255;206;180m█████\033[38;2;255;105;180m█\033[0m \033[38;2;255;105;180m█\033[38;2;255;206;180m█████\033[38;2;255;105;180m█\033[0m \033[38;2;255;105;180m█\033[38;2;255;206;180m█████\033[38;2;255;105;180m█\033[0m\n" +printf " \033[38;2;255;105;180m█\033[38;2;255;206;180m█\033[38;2;60;60;60m▀\033[38;2;255;206;180m█\033[38;2;60;60;60m▀\033[38;2;255;206;180m█\033[38;2;255;105;180m█\033[0m \033[38;2;255;105;180m█\033[38;2;255;206;180m█\033[38;2;60;60;60m▀\033[38;2;255;206;180m█\033[38;2;60;60;60m▀\033[38;2;255;206;180m█\033[38;2;255;105;180m█\033[0m \033[38;2;255;105;180m█\033[38;2;255;206;180m█\033[38;2;60;60;60m▀\033[38;2;255;206;180m█\033[38;2;60;60;60m▀\033[38;2;255;206;180m█\033[38;2;255;105;180m█\033[0m \033[38;2;255;105;180m█\033[38;2;255;206;180m█\033[38;2;60;60;60m▀\033[38;2;255;206;180m█\033[38;2;60;60;60m▀\033[38;2;255;206;180m█\033[38;2;255;105;180m█\033[0m\n" +printf " \033[38;2;255;206;180m█\033[38;2;200;80;80m▄\033[38;2;255;206;180m█\033[38;2;200;80;80m▄\033[38;2;255;206;180m█\033[0m \033[38;2;255;206;180m█\033[38;2;200;80;80m▄\033[38;2;255;206;180m█\033[38;2;200;80;80m▄\033[38;2;255;206;180m█\033[0m \033[38;2;255;206;180m█\033[38;2;200;80;80m▄\033[38;2;255;206;180m█\033[38;2;200;80;80m▄\033[38;2;255;206;180m█\033[0m \033[38;2;255;206;180m█\033[38;2;200;80;80m▄\033[38;2;255;206;180m█\033[38;2;200;80;80m▄\033[38;2;255;206;180m█\033[0m\n" +printf " \033[38;2;255;206;180m▀\033[38;2;0;206;209m███\033[38;2;255;206;180m▀\033[0m \033[38;2;255;206;180m▀\033[38;2;0;206;209m███\033[38;2;255;206;180m▀\033[0m \033[38;2;255;206;180m▀\033[38;2;0;206;209m███\033[38;2;255;206;180m▀\033[0m \033[38;2;255;206;180m▀\033[38;2;0;206;209m███\033[38;2;255;206;180m▀\033[0m\n" +printf " \033[38;2;0;206;209m███████\033[0m \033[38;2;0;206;209m███████\033[0m \033[38;2;0;206;209m███████\033[0m \033[38;2;0;206;209m███████\033[0m\n" +printf " \033[38;2;255;215;0m▀▀▀▀▀▀▀\033[0m \033[38;2;255;215;0m▀▀▀▀▀▀▀\033[0m \033[38;2;255;215;0m▀▀▀▀▀▀▀\033[0m \033[38;2;255;215;0m▀▀▀▀▀▀▀\033[0m\n" +printf " \033[38;2;199;21;133m▄█████▄\033[0m \033[38;2;199;21;133m▄█████▄\033[0m \033[38;2;199;21;133m▄█████▄\033[0m \033[38;2;199;21;133m▄█████▄\033[0m\n" +printf " \033[38;2;199;21;133m▀███▀\033[0m \033[38;2;199;21;133m▀███▀\033[0m \033[38;2;199;21;133m▀███▀\033[0m \033[38;2;199;21;133m▀███▀\033[0m\n" +printf " \033[38;2;255;206;180m█\033[0m \033[38;2;255;206;180m█\033[0m \033[38;2;255;206;180m█\033[0m \033[38;2;255;206;180m█\033[0m \033[38;2;255;206;180m█\033[0m \033[38;2;255;206;180m█\033[0m \033[38;2;255;206;180m█\033[0m \033[38;2;255;206;180m█\033[0m\n" +printf " \033[38;2;255;50;50m██\033[0m \033[38;2;255;50;50m██\033[0m \033[38;2;255;50;50m██\033[0m \033[38;2;255;50;50m█\033[0m \033[38;2;255;50;50m██\033[0m \033[38;2;255;50;50m██\033[0m \033[38;2;255;50;50m█\033[0m \033[38;2;255;50;50m██\033[0m\n" + +printf "\n\033[1m WALKING UP\033[0m\n\n" +printf " Frame 1 Frame 2 Frame 3 Frame 4\n\n" +printf " \033[38;2;255;105;180m▄███▄\033[0m \033[38;2;255;105;180m▄███▄\033[0m \033[38;2;255;105;180m▄███▄\033[0m \033[38;2;255;105;180m▄███▄\033[0m\n" +printf " \033[38;2;255;105;180m███████\033[0m \033[38;2;255;105;180m███████\033[0m \033[38;2;255;105;180m███████\033[0m \033[38;2;255;105;180m███████\033[0m\n" +printf " \033[38;2;255;105;180m███████\033[0m \033[38;2;255;105;180m███████\033[0m \033[38;2;255;105;180m███████\033[0m \033[38;2;255;105;180m███████\033[0m\n" +printf " \033[38;2;255;105;180m███████\033[0m \033[38;2;255;105;180m███████\033[0m \033[38;2;255;105;180m███████\033[0m \033[38;2;255;105;180m███████\033[0m\n" +printf " \033[38;2;255;105;180m█████\033[0m \033[38;2;255;105;180m█████\033[0m \033[38;2;255;105;180m█████\033[0m \033[38;2;255;105;180m█████\033[0m\n" +printf " \033[38;2;255;206;180m▀\033[38;2;0;206;209m███\033[38;2;255;206;180m▀\033[0m \033[38;2;255;206;180m▀\033[38;2;0;206;209m███\033[38;2;255;206;180m▀\033[0m \033[38;2;255;206;180m▀\033[38;2;0;206;209m███\033[38;2;255;206;180m▀\033[0m \033[38;2;255;206;180m▀\033[38;2;0;206;209m███\033[38;2;255;206;180m▀\033[0m\n" +printf " \033[38;2;0;206;209m███████\033[0m \033[38;2;0;206;209m███████\033[0m \033[38;2;0;206;209m███████\033[0m \033[38;2;0;206;209m███████\033[0m\n" +printf " \033[38;2;255;215;0m▀▀▀▀▀▀▀\033[0m \033[38;2;255;215;0m▀▀▀▀▀▀▀\033[0m \033[38;2;255;215;0m▀▀▀▀▀▀▀\033[0m \033[38;2;255;215;0m▀▀▀▀▀▀▀\033[0m\n" +printf " \033[38;2;199;21;133m▄█████▄\033[0m \033[38;2;199;21;133m▄█████▄\033[0m \033[38;2;199;21;133m▄█████▄\033[0m \033[38;2;199;21;133m▄█████▄\033[0m\n" +printf " \033[38;2;199;21;133m▀███▀\033[0m \033[38;2;199;21;133m▀███▀\033[0m \033[38;2;199;21;133m▀███▀\033[0m \033[38;2;199;21;133m▀███▀\033[0m\n" +printf " \033[38;2;255;206;180m█\033[0m \033[38;2;255;206;180m█\033[0m \033[38;2;255;206;180m█\033[0m \033[38;2;255;206;180m█\033[0m \033[38;2;255;206;180m█\033[0m \033[38;2;255;206;180m█\033[0m \033[38;2;255;206;180m█\033[0m \033[38;2;255;206;180m█\033[0m\n" +printf " \033[38;2;255;50;50m██\033[0m \033[38;2;255;50;50m██\033[0m \033[38;2;255;50;50m██\033[0m \033[38;2;255;50;50m█\033[0m \033[38;2;255;50;50m██\033[0m \033[38;2;255;50;50m██\033[0m \033[38;2;255;50;50m█\033[0m \033[38;2;255;50;50m██\033[0m\n" + +printf "\n\033[1m WALKING LEFT\033[0m\n\n" +printf " Frame 1 Frame 2 Frame 3 Frame 4\n\n" +printf " \033[38;2;255;105;180m████▄\033[0m \033[38;2;255;105;180m████▄\033[0m \033[38;2;255;105;180m████▄\033[0m \033[38;2;255;105;180m████▄\033[0m\n" +printf " \033[38;2;255;105;180m██████▄\033[0m \033[38;2;255;105;180m██████▄\033[0m \033[38;2;255;105;180m██████▄\033[0m \033[38;2;255;105;180m██████▄\033[0m\n" +printf " \033[38;2;255;206;180m████\033[38;2;255;105;180m██▀\033[0m \033[38;2;255;206;180m████\033[38;2;255;105;180m██▀\033[0m \033[38;2;255;206;180m████\033[38;2;255;105;180m██▀\033[0m \033[38;2;255;206;180m████\033[38;2;255;105;180m██▀\033[0m\n" +printf " \033[38;2;60;60;60m▀\033[38;2;255;206;180m██\033[38;2;200;80;80m▄\033[38;2;255;105;180m█\033[0m \033[38;2;60;60;60m▀\033[38;2;255;206;180m██\033[38;2;200;80;80m▄\033[38;2;255;105;180m█\033[0m \033[38;2;60;60;60m▀\033[38;2;255;206;180m██\033[38;2;200;80;80m▄\033[38;2;255;105;180m█\033[0m \033[38;2;60;60;60m▀\033[38;2;255;206;180m██\033[38;2;200;80;80m▄\033[38;2;255;105;180m█\033[0m\n" +printf " \033[38;2;0;206;209m████\033[0m \033[38;2;0;206;209m████\033[0m \033[38;2;0;206;209m████\033[0m \033[38;2;0;206;209m████\033[0m\n" +printf " \033[38;2;0;206;209m█████\033[0m \033[38;2;0;206;209m█████\033[0m \033[38;2;0;206;209m█████\033[0m \033[38;2;0;206;209m█████\033[0m\n" +printf " \033[38;2;255;215;0m▀▀▀▀▀\033[0m \033[38;2;255;215;0m▀▀▀▀▀\033[0m \033[38;2;255;215;0m▀▀▀▀▀\033[0m \033[38;2;255;215;0m▀▀▀▀▀\033[0m\n" +printf " \033[38;2;199;21;133m▄████\033[0m \033[38;2;199;21;133m▄████\033[0m \033[38;2;199;21;133m▄████\033[0m \033[38;2;199;21;133m▄████\033[0m\n" +printf " \033[38;2;199;21;133m▀██▀\033[0m \033[38;2;199;21;133m▀██▀\033[0m \033[38;2;199;21;133m▀██▀\033[0m \033[38;2;199;21;133m▀██▀\033[0m\n" +printf " \033[38;2;255;206;180m██\033[0m \033[38;2;255;206;180m█\033[0m \033[38;2;255;206;180m█\033[0m \033[38;2;255;206;180m██\033[0m \033[38;2;255;206;180m█\033[0m \033[38;2;255;206;180m█\033[0m\n" +printf " \033[38;2;255;50;50m██\033[0m \033[38;2;255;50;50m█\033[0m \033[38;2;255;50;50m█\033[0m \033[38;2;255;50;50m██\033[0m \033[38;2;255;50;50m██\033[0m \033[38;2;255;50;50m█\033[0m \033[38;2;255;50;50m█\033[0m \033[38;2;255;50;50m██\033[0m\n" + +printf "\n\033[1m WALKING RIGHT\033[0m\n\n" +printf " Frame 1 Frame 2 Frame 3 Frame 4\n\n" +printf " \033[38;2;255;105;180m▄████\033[0m \033[38;2;255;105;180m▄████\033[0m \033[38;2;255;105;180m▄████\033[0m \033[38;2;255;105;180m▄████\033[0m\n" +printf " \033[38;2;255;105;180m▄██████\033[0m \033[38;2;255;105;180m▄██████\033[0m \033[38;2;255;105;180m▄██████\033[0m \033[38;2;255;105;180m▄██████\033[0m\n" +printf " \033[38;2;255;105;180m▀██\033[38;2;255;206;180m████\033[0m \033[38;2;255;105;180m▀██\033[38;2;255;206;180m████\033[0m \033[38;2;255;105;180m▀██\033[38;2;255;206;180m████\033[0m \033[38;2;255;105;180m▀██\033[38;2;255;206;180m████\033[0m\n" +printf " \033[38;2;255;105;180m█\033[38;2;200;80;80m▄\033[38;2;255;206;180m██\033[38;2;60;60;60m▀\033[0m \033[38;2;255;105;180m█\033[38;2;200;80;80m▄\033[38;2;255;206;180m██\033[38;2;60;60;60m▀\033[0m \033[38;2;255;105;180m█\033[38;2;200;80;80m▄\033[38;2;255;206;180m██\033[38;2;60;60;60m▀\033[0m \033[38;2;255;105;180m█\033[38;2;200;80;80m▄\033[38;2;255;206;180m██\033[38;2;60;60;60m▀\033[0m\n" +printf " \033[38;2;0;206;209m████\033[0m \033[38;2;0;206;209m████\033[0m \033[38;2;0;206;209m████\033[0m \033[38;2;0;206;209m████\033[0m\n" +printf " \033[38;2;0;206;209m█████\033[0m \033[38;2;0;206;209m█████\033[0m \033[38;2;0;206;209m█████\033[0m \033[38;2;0;206;209m█████\033[0m\n" +printf " \033[38;2;255;215;0m▀▀▀▀▀\033[0m \033[38;2;255;215;0m▀▀▀▀▀\033[0m \033[38;2;255;215;0m▀▀▀▀▀\033[0m \033[38;2;255;215;0m▀▀▀▀▀\033[0m\n" +printf " \033[38;2;199;21;133m████▄\033[0m \033[38;2;199;21;133m████▄\033[0m \033[38;2;199;21;133m████▄\033[0m \033[38;2;199;21;133m████▄\033[0m\n" +printf " \033[38;2;199;21;133m▀██▀\033[0m \033[38;2;199;21;133m▀██▀\033[0m \033[38;2;199;21;133m▀██▀\033[0m \033[38;2;199;21;133m▀██▀\033[0m\n" +printf " \033[38;2;255;206;180m██\033[0m \033[38;2;255;206;180m█\033[0m \033[38;2;255;206;180m█\033[0m \033[38;2;255;206;180m██\033[0m \033[38;2;255;206;180m█\033[0m \033[38;2;255;206;180m█\033[0m\n" +printf " \033[38;2;255;50;50m█\033[0m \033[38;2;255;50;50m██\033[0m \033[38;2;255;50;50m██\033[0m \033[38;2;255;50;50m█\033[0m \033[38;2;255;50;50m█\033[0m \033[38;2;255;50;50m██\033[0m \033[38;2;255;50;50m██\033[0m \033[38;2;255;50;50m█\033[0m\n" + +printf "\n"