Mit diesem Script kann man das Würfeln bei 10000 auch ohne echte Würfel erledigen lassen. Als nächstes wird dann wohl ein Webinterface kommen und vielleicht, nur vielleicht auch ein komplettes Spiel.
#!/bin/bash
# Funktion zum Würfeln von 6 Würfeln
wuerfeln() {
local n=6
local wurf=""
for i in $(seq 1 $n); do
wurf="$wurf $((RANDOM % 6 + 1))"
done
echo $wurf
}
# Punkteberechnung für die geworfenen Würfel
berechne_punkte() {
local wurf=$1
local punkte=0
declare -A wuerfel_count
for w in $wurf; do
((wuerfel_count[$w]++))
done
# Punkte für einzelne "1" und "5"
punkte=$((punkte + wuerfel_count[1] * 100))
punkte=$((punkte + wuerfel_count[5] * 50))
# Punkte für dreifache Kombinationen
for i in {2..6}; do
if [[ ${wuerfel_count[$i]} -ge 3 ]]; then
punkte=$((punkte + i * 100))
fi
done
echo $punkte
}
# Funktion für den Spielablauf
spiel() {
local punkte=0
local wurf=""
local spielen=true
while $spielen; do
wurf=$(wuerfeln) # Würfeln von 6 Würfeln
echo "Geworfene Würfel: $wurf"
# Berechne die Punkte für den Wurf
wurf_punkte=$(berechne_punkte "$wurf")
echo "Punkte für diesen Wurf: $wurf_punkte"
if [[ $wurf_punkte -eq 0 ]]; then
echo "Keine gültigen Punkte erzielt. Dein Zug endet hier!"
spielen=false
else
punkte=$((punkte + wurf_punkte))
echo "Aktuelle Punktzahl: $punkte"
# Überprüfen, ob der Spieler 10.000 Punkte erreicht hat
if [[ $punkte -ge 10000 ]]; then
echo "Herzlichen Glückwunsch! Du hast 10.000 Punkte erreicht!"
spielen=false
else
# Abfragen, ob der Spieler weitermachen möchte
echo "Möchtest du weitermachen (w) oder den Zug beenden (e)?"
read -r weiter
if [[ $weiter == "e" ]]; then
echo "Du hast deinen Zug beendet. Deine Endpunktzahl: $punkte"
spielen=false
fi
fi
fi
done
}
# Start des Spiels
spiel