Files
crumbmissions/missions/dojo/pinker_guertel.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

353 lines
10 KiB
Bash
Executable File

#!/bin/bash
# 🐼 BashPanda Dojo - Pinker Gürtel 💖
# Lehrt: if/then/else, while/for loops, Arrays, Arithmetik
# Schwierigkeit: Fortgeschritten
# Source waldwaechter library for BashPanda
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
source "${SCRIPT_DIR}/../../lib/waldwaechter.sh"
cat << 'EOF'
╔═══════════════════════════════════════════════════════════╗
║ ║
║ 🐼 BASHPANDA DOJO - PINKER GÜRTEL 💖 ║
║ ║
║ "Kontrolle kommt von innen, nicht von außen" ║
║ ║
╚═══════════════════════════════════════════════════════════╝
EOF
echo "🐼 BashPanda verneigt sich tiefer als beim letzten Mal..."
echo "🥋 Du bist zurückgekehrt. Das zeigt Entschlossenheit."
echo ""
cat << 'EOF'
Der Pinke Gürtel lehrt dich KONTROLLE.
Du wirst lernen:
🎯 if/then/else - Entscheidungen treffen
🎯 while & for - Wiederholung mit Disziplin
🎯 Arrays - Viele Werte, ein Container
🎯 Arithmetik - $(( )) und Zahlen
"Der Fluss des Codes folgt deinen Bedingungen.
Du bist der Meister über den Pfad."
EOF
read -p "➡️ Bereit für fortgeschrittenes Training? (j/n): " start
echo ""
if [[ ! "$start" =~ ^[jJyY]$ ]]; then
echo "🐼 Die Tür des Dojos steht immer offen."
exit 0
fi
# === PHASE 1: if/then/else - Entscheidungen ===
cat << 'EOF'
═══════════════════════════════════════════════════════════
📚 PHASE 1: if/then/else - Der Pfad des Kriegers
═══════════════════════════════════════════════════════════
Im Kampf musst du schnell entscheiden: Angriff oder Verteidigung?
In Bash entscheidest du mit if/then/else.
EOF
echo "🐼 BashPanda zeigt dir:"
echo ""
cat << 'CODE'
alter=25
if [ $alter -ge 18 ]
then
echo "Du bist volljährig"
else
echo "Du bist minderjährig"
fi
CODE
echo ""
echo "Lass es uns live testen:"
echo ""
echo "Wie alt bist du?"
read alter
if [ $alter -ge 18 ]
then
echo "✅ Du bist volljährig - bereit für das Dojo!"
else
echo "🌱 Jung wie ein Bambussprössling - lerne mit Geduld."
fi
echo ""
cat << 'EOF'
💡 Vergleichsoperatoren:
-eq Gleich (equal)
-ne Nicht gleich (not equal)
-gt Größer (greater than)
-ge Größer oder gleich
-lt Kleiner (less than)
-le Kleiner oder gleich
Für Strings:
[ "$a" = "$b" ] Strings sind gleich
[ "$a" != "$b" ] Strings sind verschieden
[ -z "$a" ] String ist leer
[ -n "$a" ] String ist nicht leer
EOF
echo "🥋 Deine erste Kata:"
echo ""
echo "Erstelle 'datei_check.sh' das:"
echo " - Fragt nach einem Dateinamen"
echo " - Prüft ob die Datei existiert: [ -f \"\$datei\" ]"
echo " - Gibt entsprechende Nachricht aus"
echo ""
read -p "Bereit für Phase 2? (j/n): " phase1
echo ""
# === PHASE 2: while Loop - Die Meditation ===
cat << 'EOF'
═══════════════════════════════════════════════════════════
📚 PHASE 2: while - Die Meditation der Wiederholung
═══════════════════════════════════════════════════════════
Wie ein Mantra, das du wiederholst, läuft eine while-Schleife,
bis die Bedingung nicht mehr wahr ist.
EOF
echo "🐼 BashPanda demonstriert:"
echo ""
cat << 'CODE'
zaehler=1
while [ $zaehler -le 5 ]
do
echo "Durchlauf: $zaehler"
zaehler=$((zaehler + 1))
done
CODE
echo ""
echo "Live-Demo:"
echo ""
zaehler=1
while [ $zaehler -le 5 ]
do
echo "🥋 Kata Durchlauf: $zaehler"
sleep 0.5
zaehler=$((zaehler + 1))
done
echo ""
cat << 'EOF'
💡 Wichtiges:
- while [ bedingung ]; do
- zaehler=$((zaehler + 1)) für Arithmetik
- done am Ende
- Achtung: Endlosschleifen vermeiden!
EOF
# === PHASE 3: for Loop - Der geordnete Kampf ===
cat << 'EOF'
═══════════════════════════════════════════════════════════
📚 PHASE 3: for - Der geordnete Durchlauf
═══════════════════════════════════════════════════════════
Eine for-Schleife ist wie eine Kata-Sequenz:
Du weißt genau welche Bewegungen kommen.
EOF
echo "🐼 BashPanda zeigt dir:"
echo ""
cat << 'CODE'
for name in Maya Tobi FunkFox BashPanda
do
echo "Hallo, $name!"
done
CODE
echo ""
echo "Live-Demo:"
echo ""
for name in Maya Tobi FunkFox BashPanda
do
echo "🐼 Begrüßung: Hallo, $name!"
done
echo ""
cat << 'EOF'
💡 for Varianten:
for i in 1 2 3 4 5
for datei in *.txt
for zeile in $(cat datei.txt)
for i in {1..10}
EOF
echo "🥋 Deine zweite Kata:"
echo ""
echo "Erstelle 'fibonacci.sh' das:"
echo " - Fragt nach einer Zahl N"
echo " - Gibt die ersten N Fibonacci-Zahlen aus"
echo " - Nutze while und Arithmetik: a=$((a + b))"
echo ""
read -p "Bereit für Phase 4? (j/n): " phase3
echo ""
# === PHASE 4: Arrays - Viele Krieger, eine Armee ===
cat << 'EOF'
═══════════════════════════════════════════════════════════
📚 PHASE 4: Arrays - Die Armee der Werte
═══════════════════════════════════════════════════════════
Ein Array ist wie eine Gruppe von Kriegern:
Jeder hat seine Position, aber sie kämpfen zusammen.
EOF
echo "🐼 BashPanda demonstriert:"
echo ""
cat << 'CODE'
guertel=("Schwarz" "Pink" "Blau" "Gruen" "Gelb" "Weiss")
echo "Erster Gürtel: ${guertel[0]}"
echo "Zweiter Gürtel: ${guertel[1]}"
echo "Alle Gürtel: ${guertel[@]}"
echo "Anzahl: ${#guertel[@]}"
CODE
echo ""
echo "Live-Demo:"
echo ""
guertel=("Schwarz" "Pink" "Blau" "Gruen" "Gelb" "Weiss")
echo "🥋 Erster Gürtel: ${guertel[0]}"
echo "🥋 Zweiter Gürtel: ${guertel[1]}"
echo "🥋 Alle Gürtel: ${guertel[@]}"
echo "🥋 Anzahl: ${#guertel[@]}"
echo ""
cat << 'EOF'
💡 Array Operationen:
arr=(1 2 3) Array erstellen
${arr[0]} Erstes Element
${arr[@]} Alle Elemente
${#arr[@]} Anzahl Elemente
arr+=(4) Element hinzufügen
Durchlauf:
for element in "${arr[@]}"
do
echo "$element"
done
EOF
# === PHASE 5: Die Gürtelprüfung ===
cat << 'EOF'
═══════════════════════════════════════════════════════════
🥋 GÜRTELPRÜFUNG - PINKER GÜRTEL 💖
═══════════════════════════════════════════════════════════
Deine Aufgabe: Erstelle ein Skript 'summenspiel.sh' das:
1. Ein Array mit 5 Zahlen erstellt: zahlen=(10 20 30 40 50)
2. Durch das Array iteriert (for-Schleife)
3. Die Summe aller Zahlen berechnet
4. Am Ende die Summe ausgibt
Bonus:
5. Nutze if um zu prüfen ob die Summe > 100 ist
6. Gib entsprechende Nachricht aus
Beispiel-Ausgabe:
Zahlen: 10 20 30 40 50
Summe: 150
✅ Summe ist größer als 100!
EOF
echo "💡 Hilfe:"
echo " - summe=0 zum Initialisieren"
echo " - summe=\$((summe + zahl)) zum Addieren"
echo " - for zahl in \"\${zahlen[@]}\""
echo ""
read -p "Hast du die Prüfung absolviert? (j/n): " pruefung
echo ""
if [[ "$pruefung" =~ ^[jJyY]$ ]]; then
cat << 'EOF'
╔═══════════════════════════════════════════════════════════╗
║ ║
║ 🎉 AUSGEZEICHNET! 🎉 ║
║ ║
║ Du hast den PINKEN GÜRTEL 💖 verdient! ║
║ ║
║ "Kontrolle über den Code heißt Kontrolle ║
║ über deine Gedanken." ║
║ ║
║ - BashPanda 🐼 ║
║ ║
╚═══════════════════════════════════════════════════════════╝
EOF
echo "🥋 Was du gemeistert hast:"
echo " ✅ if/then/else Entscheidungen"
echo " ✅ while Schleifen mit Bedingungen"
echo " ✅ for Schleifen für Iteration"
echo " ✅ Arrays erstellen und nutzen"
echo " ✅ Arithmetik mit \$(( ))"
echo ""
echo "🎯 Nächster Gürtel: BLAU 💙 (Textverarbeitung: sed, case)"
echo ""
# Small easter egg
echo "🎋 BashPanda sagt:"
bashpanda "Was ist die Weisheit hinter Schleifen und Wiederholung im Code?"
else
cat << 'EOF'
🐼 "Kontrolle braucht Übung, wie ein Baum Zeit zum Wachsen braucht.
Nimm dir die Zeit. Kehre zurück wenn du bereit bist."
EOF
fi
echo ""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo "💬 Fragen? Rufe den Meister:"
echo " bashpanda \"Wie funktioniert eine while-Schleife?\""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""