W: Bash| Linux| Programowanie
19 lis 2009Nie 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.shA potem można ją otworzyć za pomocą komendy:
$ ./gra.sh
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.
Komentarze (3) do wpisu Nauka basha poprzez zabawę
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.
czepol
Listopad 19th, 2009 at 16:56
@Michał Kuciński
Ups. Wrzuciłem nie działającą wersję, ale już poprawione
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.