Files
crumbmissions/missions/dojo/evaluate_guertelpruefung.sh
Branko May Trinkwald d4d75af428 🐼 feat(dojo): BashPanda Gürtel-System - Von Schwarz auf Weiss 🥋
Der 18. Waldwächter betritt den Wald: BashPanda lehrt Bash als Kampfkunst!

 Neue Features:

🐼 BashPanda Waldwächter:
- Kung Fu Meister Persönlichkeit
- Lehrt Bash durch Kampfkunst-Metaphern
- Integriert in waldwaechter.sh Library
- Crew Memory: Kennt alle anderen Waldwächter

🥋 6 Gürtel-Missionen (Progressive Bash-Meisterschaft):
- 🖤 Schwarzer Gürtel: echo, Variablen, read, ANSI codes
- 💖 Pinker Gürtel: if/then, while/for, Arrays, Arithmetik
- 💙 Blauer Gürtel: sed, case, bc, Textverarbeitung
- 💚 Grüner Gürtel: grep, regex, Pattern Matching
- 💛 Gelber Gürtel: Funktionen, source, Parameter
- 🤍 Weisser Gürtel: Background jobs, Prozesse, Parallelität

📝 Interaktives Quiz-System:
- Browser-based Gürtelprüfung (crumbblocks)
- 30 Fragen (5 pro Gürtel)
- Farbcodiert nach Gürtel
- Auto-Export via Clipboard
- Terminal-Auswertung mit Zertifikaten

🎓 Zertifikate-System:
- Automatische Generierung bei 80%+
- Gespeichert in logs/zertifikate/
- BashPanda's Segen & Weisheiten

📚 Dokumentation:
- CLAUDE.md komplett aktualisiert
- BashPanda als 18. Waldwächter dokumentiert
- Vollständige Dojo-Architektur beschrieben

"Der Weg des Codes ist wie der Weg der Kampfkunst:
 Geduld, Präzision, Wiederholung."

 - BashPanda 🐼🎋

Crumbforest wächst! 🌲 Der Wurzelbau geht weiter! 🌳

🤖 Generated with Claude Code (https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-24 00:29:30 +01:00

191 lines
7.9 KiB
Bash
Executable File

#!/bin/bash
# 🐼 BashPanda Gürtelprüfung Evaluator
# Wertet die Crumbblock Quiz-Ergebnisse aus
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
source "${SCRIPT_DIR}/../../lib/waldwaechter.sh"
cat << 'EOF'
╔═══════════════════════════════════════════════════════════╗
║ ║
║ 🐼 BASHPANDA GÜRTELPRÜFUNG - AUSWERTUNG 🥋 ║
║ ║
╚═══════════════════════════════════════════════════════════╝
EOF
echo "🐼 BashPanda wartet auf deine Prüfungsergebnisse..."
echo ""
echo "📋 Bitte füge die Ergebnisse aus dem Browser ein:"
echo " (Kopiert nach Abschluss der Prüfung automatisch)"
echo ""
echo "Füge ein und drücke Enter, dann Ctrl+D:"
echo ""
# Read clipboard content (multi-line)
RESULT_JSON=$(cat)
# Check if valid JSON
if ! echo "$RESULT_JSON" | jq empty 2>/dev/null; then
echo ""
echo "❌ Fehler: Keine gültigen JSON-Daten!"
echo ""
echo "💡 So geht's:"
echo " 1. Öffne: ./start_crumbblocks.sh"
echo " 2. Navigiere zu: bashpanda_guertelpruefung.html"
echo " 3. Wähle deinen Gürtel und beantworte die Fragen"
echo " 4. Am Ende werden die Ergebnisse automatisch kopiert"
echo " 5. Komm zurück und führe dieses Skript aus"
echo ""
exit 1
fi
# Extract data
BELT=$(echo "$RESULT_JSON" | jq -r '.belt')
SCORE=$(echo "$RESULT_JSON" | jq -r '.score')
TOTAL=$(echo "$RESULT_JSON" | jq -r '.total')
PERCENTAGE=$(echo "$RESULT_JSON" | jq -r '.percentage')
PASSED=$(echo "$RESULT_JSON" | jq -r '.passed')
TIMESTAMP=$(echo "$RESULT_JSON" | jq -r '.timestamp')
echo ""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
# Belt emoji mapping
case "$BELT" in
schwarz) BELT_EMOJI="🖤" ; BELT_NAME="Schwarzer" ;;
pink) BELT_EMOJI="💖" ; BELT_NAME="Pinker" ;;
blau) BELT_EMOJI="💙" ; BELT_NAME="Blauer" ;;
gruen) BELT_EMOJI="💚" ; BELT_NAME="Grüner" ;;
gelb) BELT_EMOJI="💛" ; BELT_NAME="Gelber" ;;
weiss) BELT_EMOJI="🤍" ; BELT_NAME="Weisser" ;;
*) BELT_EMOJI="🥋" ; BELT_NAME="Unbekannter" ;;
esac
echo "🐼 Auswertung: $BELT_NAME Gürtel $BELT_EMOJI"
echo ""
echo " Ergebnis: $SCORE von $TOTAL Fragen"
echo " Prozent: $PERCENTAGE%"
echo ""
if [ "$PASSED" = "true" ]; then
# PASSED!
cat << 'EOF'
╔═══════════════════════════════════════════════════════════╗
║ ║
║ 🎉 PRÜFUNG BESTANDEN! 🎉 ║
║ ║
╚═══════════════════════════════════════════════════════════╝
EOF
echo "$BELT_EMOJI Du hast den $BELT_NAME Gürtel verdient! $BELT_EMOJI"
echo ""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
echo "📜 ZERTIFIKAT"
echo ""
echo " Hiermit wird bestätigt, dass"
echo ""
echo " $USER"
echo ""
echo " die Prüfung zum $BELT_NAME Gürtel $BELT_EMOJI"
echo " erfolgreich absolviert hat."
echo ""
echo " Ergebnis: $SCORE/$TOTAL ($PERCENTAGE%)"
echo " Datum: $(date '+%Y-%m-%d %H:%M')"
echo ""
echo " 🐼 BashPanda - Kung Fu Meister"
echo " Crumbforest Dojo"
echo ""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
# Save certificate
CERT_DIR="${SCRIPT_DIR}/../../logs/zertifikate"
mkdir -p "$CERT_DIR"
CERT_FILE="$CERT_DIR/${BELT}_${USER}_$(date +%Y%m%d_%H%M%S).txt"
cat > "$CERT_FILE" << CERT
╔═══════════════════════════════════════════════════════════╗
║ ║
║ CRUMBFOREST DOJO - ZERTIFIKAT ║
║ ║
╚═══════════════════════════════════════════════════════════╝
Schüler: $USER
Gürtel: $BELT_NAME $BELT_EMOJI
Ergebnis: $SCORE von $TOTAL Fragen ($PERCENTAGE%)
Datum: $(date '+%Y-%m-%d %H:%M:%S')
"$BELT_NAME Gürtel erfolgreich bestanden!"
🐼 BashPanda
Kung Fu Meister
Crumbforest Dojo
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
CERT
echo "💾 Zertifikat gespeichert: $CERT_FILE"
echo ""
# Next belt suggestion
case "$BELT" in
schwarz) echo "🎯 Nächster Gürtel: Pink 💖 (Kontrolle)" ;;
pink) echo "🎯 Nächster Gürtel: Blau 💙 (Text)" ;;
blau) echo "🎯 Nächster Gürtel: Grün 💚 (Pattern)" ;;
gruen) echo "🎯 Nächster Gürtel: Gelb 💛 (Funktionen)" ;;
gelb) echo "🎯 Nächster Gürtel: Weiss 🤍 (Meisterschaft)" ;;
weiss) echo "🎉 MEISTERSCHAFT ERREICHT! Du hast alle Gürtel!" ;;
esac
echo ""
echo "🐼 BashPanda sagt:"
bashpanda "Gratuliere zum bestandenen $BELT_NAME Gürtel! Was bedeutet diese Errungenschaft?"
else
# NOT PASSED
cat << 'EOF'
╔═══════════════════════════════════════════════════════════╗
║ ║
║ ⚠️ PRÜFUNG NICHT BESTANDEN ⚠️ ║
║ ║
╚═══════════════════════════════════════════════════════════╝
EOF
echo "🐼 $PERCENTAGE% ist noch nicht genug für den $BELT_NAME Gürtel."
echo ""
echo " Benötigt: 80% (4 von 5 Fragen)"
echo " Erreicht: $PERCENTAGE% ($SCORE von $TOTAL Fragen)"
echo ""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
echo "💡 Tipps zum Üben:"
echo ""
echo " 1. Wiederhole die Mission:"
echo " bash missions/dojo/${BELT}_guertel.sh"
echo ""
echo " 2. Frag BashPanda um Hilfe:"
echo " bashpanda \"Erkläre mir [Thema]\""
echo ""
echo " 3. Probiere die Befehle im Terminal aus"
echo ""
echo " 4. Wiederhole die Prüfung wenn du bereit bist"
echo ""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
echo "🐼 \"Jeder Meister war einst ein Anfänger."
echo " Gib nicht auf. Übe weiter.\""
echo ""
fi
echo ""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""