Nauka basha poprzez zabawę

W: Bash| Linux| Programowanie

19 lis 2009

Nie zamierzam opisywać tutaj (przynajmniej nie w chwili obecnej) jak się pisze skrypty w bashu, gdyż sam mało umiem. Mogę za to powiedzieć, gdzie można się tego nauczyć. Moja nauka podstaw basha trwała jaieś 40 minut. Poczytałem sobie artykuły z dwóch stron [link] oraz [link]. Po dość krótkiej lekturze postanowiłem sprawdzić się w praktyce i tak w piętnaście minut udało mi się napisać bardzo prostą grę.

Gra polega na odgadnięciu wylosowanej przez komputer liczby z przedziału 1-100. Po każdym naszym strzale, komputer podpowie czy wpisana liczba jest większa czy mniejsza od wylosowanej. Gra kończy się, gdy odgadniemy wylosowaną liczbę, wyświetli się także wynik, za którym razem udało nam się tego dokonać (mój rekord to 3 strzały ;) ).

number1=$(($RANDOM%(99)+1))
number2=$((number1+1))
licznik=0
echo "Losowana jest liczba z przedziału 1-100."
echo "Twoim zadaniem jest odgadnięcie tej liczby."
while [ "$number1" -ne "$number2" ]
do
echo -e "Podaj liczbe = \c" 
read number2
licznik=$((licznik+1))
if [ "$number1" -gt "$number2" ]
    then 
    echo "Podana liczba jest za mała, zgaduj dalej!"
else
    if [ "$number1" -lt "$number2" ]
	then
	echo "Podana liczba jest za duża, zgaduj dalej!"
    fi
fi
done
echo "Brawo, zgadłeś liczbę!"
echo "Liczba prób: $licznik"

Lub ściągnij grę stąd.
Aby ją uruchomić pod systemem *UNIX, należy dodać prawo wykonywalności skryptu:

$ chmod +x gra.sh

A potem można ją otworzyć za pomocą komendy:

$ ./gra.sh

buzz_button

This website uses IntenseDebate comments, but they are not currently loaded because either your browser doesn't support JavaScript, or they didn't load fast enough.

Komentarze (3) do wpisu Nauka basha poprzez zabawę

Avatar

Michał Kuciński

Listopad 19th, 2009 at 16:43

$ ./gra.sh
Losowana jest liczba z przedziału 1-100.
Twoim zadaniem jest odgadnięcie tej liczby.
Podaj liczbe = 10
Podana liczba jest za duża, zgaduj dalej!
Podaj liczbe = 1
Podana liczba jest za duża, zgaduj dalej!
Podaj liczbe = 0
Podana liczba jest za duża, zgaduj dalej!
Podaj liczbe = 3
Podana liczba jest za duża, zgaduj dalej!
Podaj liczbe = 6
Podana liczba jest za duża, zgaduj dalej!
Podaj liczbe = 6
Podana liczba jest za duża, zgaduj dalej!
Podaj liczbe = 0
Podana liczba jest za duża, zgaduj dalej!
Podaj liczbe = -1
Podana liczba jest za duża, zgaduj dalej!

hmm. ;-)

Avatar

czepol

Listopad 19th, 2009 at 16:56

@Michał Kuciński
Ups. Wrzuciłem nie działającą wersję, ale już poprawione

Avatar

rad

Grudzień 4th, 2009 at 20:43

Najlepszy sposób.
Ten pierwszy kurs (by dief) jest świetny, ale radzę uważać z tego co pamiętam zawiera kilka błędów.

Skomentuj



O blogu

Postanowiłem wrócić na stary blog i pisać o programowaniu. Pisanie o nowinkach technologicznych nie sprawia mi tyle przyjemności co kiedyś, tym bardziej, że nie mam na to tyle czasu co dawniej.

  • Michał Olber: Dodaj jakiegoś screena chociaż, bo piszesz o czymś, o czym wielu ludzi może nie mieć pojęcia : [...]
  • czepol: O, dość dawno to pisałem, ale wydaje mi się, że jest dobrze, bo potem masz w zmiennej: R = (ra [...]
  • janek: a MIN_LEN = 1 nie powinno być 0 ? [...]
  • sirmacik: Zabrakło mi tu tylko info o tym do czego to elementary służy [...]
  • Chemikk: Może tak jak w wielu blogach jest, że trzeba odświeżyć po dodaniu komentarza? [...]

Ostatnio odwiedzili