Repo Browser

bashcards/bashcards-edu-biology
Card bundle: cards/914427098424--what-is-biology

Front / Back (click to flip)

front
back
Click card to view front/back

Raw Script

#!/usr/bin/env bash
set +e
tt="/dev/tty";[[ -r "$tt" && -w "$tt" ]]||tt=""
p(){ [[ -n "$tt" ]]&&printf "%b" "$1" >"$tt"||printf "%b" "$1"; }
r(){ local t=""; if [[ -n "$tt" ]]; then IFS= read -r t <"$tt" || t=""; else IFS= read -r t || t=""; fi; printf "%s" "$t"; }

W=60
deck="EDU";subject="EDU";
topic="Introduction to Biology";
subtitle="Basics of Living Organisms and Their Interactions";
note="Biology helps us understand all forms of life and their roles in nature. Whether you are a child or an adult, learning biology shows how living things grow, change, and depend on each other.";
cl(){ printf "\033[2J\033[H"; }
bar(){ printf "%s\n" "$(printf "%*s" "$W" "" | tr " " "=")"; }
row(){ printf "| %-*.*s |\n" "$((W-4))" "$((W-4))" "$1"; }
wrap(){
  local txt="$1" max=$((W-4)) chunk rest cut
  while [[ -n "$txt" ]]; do
    if [[ ${#txt} -le $max ]]; then row "$txt"; break; fi
    chunk=${txt:0:$max}
    rest=${txt:$max}
    if [[ "$chunk" =~ (.+)[[:space:]] ]]; then
      cut=${BASH_REMATCH[1]}
      row "$cut"
      txt="${txt:${#cut}}"; txt="${txt#" "}";
    else
      row "$chunk"
      txt="$rest"
    fi
  done
}
pause(){ p "Press Enter to continue: "; r >/dev/null; }

menu(){
  cl
  bar; row "$deck • $subject"; bar
  wrap "$topic"
  wrap "$subtitle"
  if [[ -n "$note" ]]; then wrap "Tip: $note"; fi
  bar
  row "1) OVERVIEW"
  row "2) STEPS"
  row "3) TERMINOLOGY"
  row "q) EXIT"
  bar
  p "> "
}

page_OVERVIEW(){
  cl
  bar; row "OVERVIEW"; bar
  local s
  p=(
"Biology studies all living things and how they interact."
"It looks at life from tiny microbes to big animals and plants."
"We learn about how organisms grow, function, and evolve."
"Biology explains genetics, ecology, and how bodies work."
"It helps us understand life and protect our environment."
"Biology supports medicine, farming, and conservation efforts."
)
  for s in "${p[@]}"; do wrap "$s"; done
  bar
  pause
}

page_STEPS(){
  cl
  bar; row "STEPS"; bar
  local s
  p=(
"Define what biology is and why it matters."
"Explore different types of living organisms."
"Discuss how organisms interact with each other and their environment."
"Introduce basic biological processes like growth and reproduction."
"Explain the importance of genetics and evolution."
"Connect biology to real-world applications like health and environment."
)
  for s in "${p[@]}"; do wrap "$s"; done
  bar
  pause
}

page_TERMINOLOGY(){
  cl
  bar; row "TERMINOLOGY"; bar
  local s
  p=(
"Organism — any living thing, from tiny bacteria to large animals."
"Genetics — study of how traits are passed from parents to offspring."
"Ecology — study of how organisms interact with each other and their surroundings."
"Physiology — study of how living things function internally."
"Evolution — process by which species change over time."
"Microorganism — tiny living things, often too small to see without a microscope."
"Environment — the natural world where organisms live."
"Conservation — protecting and preserving natural resources and life forms."
)
  for s in "${p[@]}"; do wrap "$s"; done
  bar
  pause
}

while true; do
  menu
  read -r choice < "${tt:-/dev/stdin}" || choice=""
  case "$choice" in
    1) page_OVERVIEW ;;
    2) page_STEPS ;;
    3) page_TERMINOLOGY ;;
    q|Q) cl; bar; row "CARD CLOSED"; bar; p "\n"; break ;;
    *) cl; bar; row "Select 1-3 or q"; bar; pause ;;
  esac
done

QR Payload

#!/usr/bin/env bash
set -euo pipefail;bash -c $'set +e\ntt="/dev/tty";[[ -r "$tt" && -w "$tt" ]]||tt=""\np(){ [[ -n "$tt" ]]&&printf "%b" "$1" >"$tt"||printf "%b" "$1"; }\nr(){ local t=""; if [[ -n "$tt" ]]; then IFS= read -r t <"$tt" || t=""; else IFS= read -r t || t=""; fi; printf "%s" "$t"; }\nW=60\ndeck="EDU";subject="EDU";\ntopic="Introduction to Biology";\nsubtitle="Basics of Living Organisms and Their Interactions";\nnote="Biology helps us understand all forms of life and their roles in nature. Whether you are a child or an adult, learning biology shows how living things grow, change, and depend on each other.";\ncl(){ printf "\\033[2J\\033[H"; }\nbar(){ printf "%s\\n" "$(printf "%*s" "$W" "" | tr " " "=")"; }\nrow(){ printf "| %-*.*s |\\n" "$((W-4))" "$((W-4))" "$1"; }\nwrap(){\n  local txt="$1" max=$((W-4)) chunk rest cut\n  while [[ -n "$txt" ]]; do\n    if [[ ${#txt} -le $max ]]; then row "$txt"; break; fi\n    chunk=${txt:0:$max}\n    rest=${txt:$max}\n    if [[ "$chunk" =~ (.+)[[:space:]] ]]; then\n      cut=${BASH_REMATCH[1]}\n      row "$cut"\n      txt="${txt:${#cut}}"; txt="${txt#" "}";\n    else\n      row "$chunk"\n      txt="$rest"\n    fi\n  done\n}\npause(){ p "Press Enter to continue: "; r >/dev/null; }\nmenu(){\n  cl\n  bar; row "$deck • $subject"; bar\n  wrap "$topic"\n  wrap "$subtitle"\n  if [[ -n "$note" ]]; then wrap "Tip: $note"; fi\n  bar\n  row "1) OVERVIEW"\n  row "2) STEPS"\n  row "3) TERMINOLOGY"\n  row "q) EXIT"\n  bar\n  p "> "\n}\npage_OVERVIEW(){\n  cl\n  bar; row "OVERVIEW"; bar\n  local s\n  p=(\n"Biology studies all living things and how they interact."\n"It looks at life from tiny microbes to big animals and plants."\n"We learn about how organisms grow, function, and evolve."\n"Biology explains genetics, ecology, and how bodies work."\n"It helps us understand life and protect our environment."\n"Biology supports medicine, farming, and conservation efforts."\n)\n  for s in "${p[@]}"; do wrap "$s"; done\n  bar\n  pause\n}\npage_STEPS(){\n  cl\n  bar; row "STEPS"; bar\n  local s\n  p=(\n"Define what biology is and why it matters."\n"Explore different types of living organisms."\n"Discuss how organisms interact with each other and their environment."\n"Introduce basic biological processes like growth and reproduction."\n"Explain the importance of genetics and evolution."\n"Connect biology to real-world applications like health and environment."\n)\n  for s in "${p[@]}"; do wrap "$s"; done\n  bar\n  pause\n}\npage_TERMINOLOGY(){\n  cl\n  bar; row "TERMINOLOGY"; bar\n  local s\n  p=(\n"Organism — any living thing, from tiny bacteria to large animals."\n"Genetics — study of how traits are passed from parents to offspring."\n"Ecology — study of how organisms interact with each other and their surroundings."\n"Physiology — study of how living things function internally."\n"Evolution — process by which species change over time."\n"Microorganism — tiny living things, often too small to see without a microscope."\n"Environment — the natural world where organisms live."\n"Conservation — protecting and preserving natural resources and life forms."\n)\n  for s in "${p[@]}"; do wrap "$s"; done\n  bar\n  pause\n}\nwhile true; do\n  menu\n  read -r choice < "${tt:-/dev/stdin}" || choice=""\n  case "$choice" in\n    1) page_OVERVIEW ;;\n    2) page_STEPS ;;\n    3) page_TERMINOLOGY ;;\n    q|Q) cl; bar; row "CARD CLOSED"; bar; p "\\n"; break ;;\n    *) cl; bar; row "Select 1-3 or q"; bar; pause ;;\n  esac\ndone\n'
cards/914427098424--what-is-biology/README.md
# Bash Card — 914427098424--what-is-biology

![Front](assets/front-thumb.png)  ![Back](assets/back-thumb.png)

Created: 2026-01-13 01:10:39 UTC
- Serial Number: 914427098424--what-is-biology
- Author: Delana
- Pipe mode: gzipb64
- Description:
  > Artifact — Educational Interface
  > 
  > • Real-World Effect — Presents an interactive text menu teaching basic biology concepts including overview, steps, and terminology.
  > 
  > • Card Ability — When Artifact enters the battlefield, choose a topic; reveal the chosen topic's knowledge to each player, then prompt them to continue or exit.
  > 
  > "Unlock the secrets of life, one lesson at a time."

Assets:
- assets/front.png / assets/back.png
- assets/front-thumb.png
- assets/back-thumb.png
- assets/auto-art.png (generated)
- assets/print-card.pdf (print-ready PDF)
- assets/front-data-url.txt / assets/back-data-url.txt
- assets/raw.sh (source script you authored)
- assets/qr-payload.txt (what the QR encodes)

Auto Art (250x250):
<img src="assets/auto-art.png" width="250" height="250" alt="Auto art preview" />
NameTypeSize
README.mdfile1,084
assetsdir