- Interactive mission selector with metadata-driven design - 5 educational missions (basics + advanced) - AI assistant roles (Deepbit, Bugsy, Schnippsi, Tobi) - SnakeCam gesture recognition system - Token tracking utilities - CLAUDE.md documentation - .gitignore for logs and secrets
59 lines
2.3 KiB
Bash
Executable File
59 lines
2.3 KiB
Bash
Executable File
#!/bin/bash
|
||
|
||
LOGFILE="/home/zero/.crumbair/crumbair_terminallog.jsonl"
|
||
|
||
#mkdir -p /usr/local/crumblogs
|
||
mkdir -p "$(dirname "$LOGFILE")"
|
||
touch "$LOGFILE"
|
||
chmod 664 "$LOGFILE"
|
||
|
||
# Logging-Funktion
|
||
log_entry() {
|
||
echo "[$(date +'%Y-%m-%d %H:%M:%S')] $1" | tee -a "$LOGFILE"
|
||
}
|
||
|
||
clear
|
||
echo "🌲 Willkommen zur CrumbAir Terminal-Mission!"
|
||
echo "🎮 Dies ist dein Flugcheck im Crumbforest – bereit zum Abheben?"
|
||
echo ""
|
||
|
||
# Schraubär: Multikopter-Wahl
|
||
echo "🔧🐻 Schraubär rückt seine Schutzbrille zurecht:"
|
||
echo "'Welchen Flugroboter willst du bauen, Krümel? Sag mir: BI, TRI, QUAD, HEXA, OCTO oder X8?'"
|
||
read -p "Antwort ➤ " multicopter
|
||
log_entry "Flugwahl: $multicopter"
|
||
echo "🔧🐻 Schraubär murmelt zustimmend: 'Ein $multicopter? Stabil. Dann bauen wir das mit Herz, Verstand und Drehmoment.'"
|
||
|
||
# Schnecki: Werkzeugprüfung
|
||
echo ""
|
||
echo "🐌 Schnecki rollt langsam vorbei und schaut neugierig:"
|
||
echo "'Bevor du schraubst, mein lieber Bitfreund… hast du das passende Werkzeug dabei?'"
|
||
read -p "Antwort ➤ " tool_answer
|
||
log_entry "Werkzeug: $tool_answer"
|
||
|
||
if [[ "$tool_answer" == *"Inbus"* || "$tool_answer" == *"Kreuz"* || "$tool_answer" == *"Schraubenzieher"* ]]; then
|
||
echo "🐌 Schnecki nickt bedächtig: 'Präzision ist das halbe Fliegen. Werkzeug bereit – los geht's!'"
|
||
else
|
||
echo "🐌 Schnecki mahnt freundlich: 'Kein Werkzeug, kein Flug! Denk an die winzigen Schrauben und ihre Gefühle!'"
|
||
fi
|
||
|
||
# CapaciTobi: LiPo-Verständnis
|
||
echo ""
|
||
echo "⚡🐿️ CapaciTobi hüpft aufgeregt auf dein Schultermodul:"
|
||
echo "'Sag mal, Krümelpilot: Was bedeutet denn 3S bei einem LiPo-Akku?'"
|
||
read -p "Antwort ➤ " lipo_answer
|
||
log_entry "LiPo: $lipo_answer"
|
||
|
||
if [[ "$lipo_answer" == *"11.1"* || "$lipo_answer" == *"3 Zellen seriell"* ]]; then
|
||
echo "⚡🐿️ CapaciTobi klatscht mit dem Schweif: 'Strom gespeichert! Drei Zellen in Serie – das gibt 11.1 Volt! Sauber geladen!'"
|
||
else
|
||
echo "⚡🐿️ CapaciTobi kratzt sich am Speicherfell: 'Fast! 3S bedeutet meist drei Zellen in Serie – macht ca. 11.1 Volt. Das reicht für richtig guten Schub!'"
|
||
fi
|
||
|
||
# Abschluss
|
||
log_entry "Mission abgeschlossen von Krümel mit Wahl: $multicopter"
|
||
echo ""
|
||
echo "🛸 Die Crew nickt dir zu – dein Terminalflug ist bereit zum Takeoff!"
|
||
echo "💾 Alle Antworten wurden unter $LOGFILE gespeichert."
|
||
echo "🌌 Viel Spaß beim Bauen, Basteln und Bit-Fliegen!"
|