All pastes #278825 Raw Edit

Something

public text v1 · immutable
·published 2006-12-14 12:58 UTC
rendered paste body
#!/bin/bash
## BETTING-Här är funktionen "betting". Jag sätter variabel $bet. Skrivs ett värde mindre än 1 eller över 10 får man försöka igen.
function betting {
echo "Hur mycket vill du satsa? (1-10)?"
read bet
if [ $bet -lt 1 -o $bet -gt 10 ]; then
        echo "Du måste betta mellan 1 och 10 kronor. Försök igen:"
        betting
else
        spelmeny
fi
}
## KAST-Här genereras två tärningskast och modifieringar till $bank görs vid de olika resultaten. Vid oavgjort så startas funktionen om. Det går inte att satsa mer än vad som finns på banken.

function kast {
if [ $bet -gt $bank ]; then
        echo "Du har inte pengar nog att satsa så mycket. Var god ändra ditt bet."
	read -p "$tryck"
	spelmeny
else
        die1=$(( RANDOM % 6 + 1 ))
        die2=$(( RANDOM % 6 + 1 ))
                echo "Du kastar tärningen och får..."
        sleep 1
                echo "$die1"
                echo "Datorn kastar tärningen och får..."
        sleep 2
                echo "$die2"
        sleep 1
        if [ $die1 -lt $die2 ]; then
                bank=$(( bank - bet ))
                echo "Du förlorade $bet och har $bank kronor kvar."
		if [ $bank -eq 0 ]; then
			echo "Spelet är slut. Du har inga pengar kvar"
			read -p "$tryck"
			huvudmeny
		fi
	elif [ $die1 -eq $die2 ]; then
                echo "Oavgjort. Tärningarna rullar igen."
                kast
        else
                bank=$(( bank + bet ))
                echo "Grattis! Du vann $bet och har $bank kronor på banken."
        fi
fi
read -p "$tryck" -n1
spelmeny
}
## SPELMENY-Här är spelmenyn där man kan välja om man vill kasta, betta eller gå tillbaka till huvudmenyn. I menyerna använder jag $head1 och $head2 som "grafik" för att skapa en känsla av att allt hänger ihop.
function spelmeny {
clear
echo $head1
echo $head2
echo "Välj vad du vill göra. Du har $bank kronor på banken."
PS3="SPELMENY. Bet är inställt på $bet kronor per kast. (1-3):"
select spelmeny in Kasta Betting Tillbaka
do
break
done
if [ "$spelmeny" = "" ]; then
echo "Felaktigt val. Jag sa 1-3."
        spelmeny
else
        echo "Du valde $spelmeny."
        if [ "$spelmeny" = "Kasta" ]; then
                kast
        elif [ "$spelmeny" = "Betting" ]; then
                betting
        else
                huvudmeny
        fi
fi
}
## HUVUDMENY-Här sätter jag upp ännu en meny. Man får välja mellan att titta på regler, spela,titta på topplistan, ändra spelare eller avsluta. Jag använder egna filer till regler och topplista (.regler och .topplista). Här skrivs pengarna in till topplsitan. Jag använder head för att visa topplista-filen, och sorterar efter nummer så man kommer bara att få se topp-10-resultat även fast alla resultat kommer att lagras i filen.

function huvudmeny {
clear
echo $head1
echo $head2
PS3="HUVUDMENY. (1-5):"
echo "Hej $spelare. Du har för tillfället $bank kronor på banken."
echo "Välj ett alternativ från nedanstående lista:"
select huvudmeny in Spela Regler Topplista Spelare Avsluta
do
break
done
if [ "$huvudmeny" = "" ]; then
echo "Felaktigt val. Jag sa 1-5."
        exit 1
else echo "Du valde $huvudmeny."
        if [ $huvudmeny = "Spela" ]; then
                spelmeny
        elif [ "$huvudmeny" = "Regler" ]; then
                cat .regler
                read -p "$tryck"
                huvudmeny
        elif [ "$huvudmeny" = "Topplista" ]; then
                echo "$head2"
                head .topplista | sort -nr
                read -p "$tryck"
                huvudmeny
        elif [ "$huvudmeny" = "Spelare" ]; then
                echo "Nu får du skriva in ditt namn igen, och pengarna du hade återställs till 100."
                read -p "$tryck"
                start
        else
                echo "Hej då $spelare. Du kastade in handduken med $bank kronor
i fickan. Ta en titt på topplistan nästa gång för att se hur du står dig."
                        echo "$bank - $spelare" >> .topplista
                exit
        fi
fi
}
## START-Detta är startfunktionen där jag definierar många variablar som kommer
att användas i olika delar av skriptet, standardbet, $spelare $bank sätts här. $head1 och $head2 använder jag för att unvika för mycket "echo" i de andra funktionerna så att dom inte blir röriga. Den leder automatiskt till funktionen huvudmeny. Spelet "startas om" om man kallar den här funktionen.
function start {
clear
head1="Sebastians tärningsspel 2006."
head2="-----------------------------"
tryck="Tryck på enter för att komma vidare."
echo $head1
echo $head2
echo "Skriv in ditt namn:"
read spelare
bet=5
bank=5
huvudmeny
}
start ## Här kallar jag på första funktionen så det är här allt börjar. Anledningen till att de fem funktionerna som skriptet består av "ligger baklänges" är för att funktionerna måste läsas in före de kan anropas. Vad jag fått höra finns det inte något smartare sätt att "ladda" funktionerna på. Så som man kan göra i t.ex C.