Почему Баш? и почему угадыватель чисел?

Угадыватель чисел — это менее сложный проект для создания, и вы узнаете, как работать с операторами if, else if, else, функциями, пользовательским вводом и модулем random (конечно, эти концепции программирования будут реализованы в стиле Bash!) . Подождите, а что такое Bash? Bash — это оболочка входа по умолчанию для большинства Linux-систем. Это означает, что для того, чтобы хорошо разбираться в Linux, нужно хорошо разбираться в Bash. Bash можно запустить прямо из терминала Linux, а также добавить в текстовый файл и сделать исполняемым с помощью командной строки Linux прямо на месте! Также большинство (если не все) дистрибутивов Linux поддерживают bash, поэтому нет необходимости загружать что-либо новое. Просто запустите его на лету.

Хорошо, давайте создадим нашу игру! Вот план!

Сначала нам нужен способ сгенерировать случайное число (мы будем использовать встроенную функцию random) и присвоить его переменной, чтобы мы могли ссылаться на переменную и сравнивать ее с пользовательским вводом. Далее нам нужно получить пользовательский ввод. Затем, наконец, нам нужно сравнить пользовательский ввод со случайным числом. Если пользователь угадал правильно, завершите игру и сообщите пользователю, что он выиграл! В противном случае нам нужно продолжать игру, пока пользователь не выиграет.

Хорошо достаточно просто, давайте начнем писать код!

Сначала мы добавляем shebang (сокращение от «острый» и «удар») и следуем за ним по пути /bin/bash. Мы делаем это, чтобы убедиться, что наша операционная система Linux правильно выполняет файл bash. Это должно выглядеть так.

#!/bin/bash

Далее нам нужен способ чтения пользовательского ввода через командную строку. Для этого хорошо используйте встроенную команду чтения. Хорошо добавьте это с -p, чтобы присвоить его переменной (таким образом, мы можем ссылаться на него позже). Это должно выглядеть так.

read -p "What number would you like to pick?" user_guess

Итак, прочитайте -p (команда чтения), «какое число вы хотите выбрать» (печатная строка), затем user_guess (имя переменной с присвоенным значением).

Далее нам нужно сравнить пользовательский ввод со случайным числом, чтобы определить, прав ли игрок. Для этого хорошо используйте операторы if/else. Операторы if/else проверяют истинность условия и выполняют блок кода в зависимости от условия. В bash эти логические операторы выглядят так.

if [conditional] then (do something here) else (do something) fi

Мы также хотим выводить данные на терминал, чтобы пользователь знал, прав он или нет. Для этого хорошо используйте эхо. Echo (на самом деле эхо в нижнем регистре) — это еще одна встроенная команда, которая используется для вывода строк на терминал. Эхо выглядит так.

echo "this string will be printed to the terminal screen"

Таким образом, объединив эхо и наш оператор if, наш фактический код должен выглядеть так.

if [ ${random_number} == ${user_guess} ]
then
    echo "You guessed right!"
else 
    echo "You guessed wrong"
fi

Потрясающий! Давайте создадим конечный продукт!

Теперь, когда у нас есть основная логика, я немного подчищу код и сделаю его более читабельным. Я также добавлю некоторую логику в функцию и вызову эту функцию, потому что (на мой взгляд) это делает все более читабельным. Но что более важно, я буду использовать рекурсию для вызова функции, если текущий пользователь догадывается неправильно. Итак, вот готовый продукт!

echo "Random number guesser!"                                                                       
                                                                                                   
read -p "What is the random number you would like to guess? Please    
         pick a number between 0 and 9" user_guess
                                                                                                   
function number_guess() {                                                                            
   if [ ${random_number} == ${user_guess} ]                                                        
   then                                                                                            
       echo "You guessed right! Congratulations ${random_number} is 
             equal to ${user_guess}"        
   else                                                                                            
        echo "You guessed wrong! Try again."                                                        
        read -p "What is the random number you would like to guess? 
                please pick a number between 0 and 9" user_guess
        number_guess                                                                                
    fi                                                                                              
}                                                                                                   
                                                                                                    
number_guess

Как видите, создать простую игру на угадывание чисел не так уж сложно. Это займет всего несколько строк кода, и, поскольку мы использовали bash, этот скрипт очень легко запустить из командной строки.

Спасибо, что прочитали мою статью!

Интересно, чем я занимаюсь? Вы можете проверить меня здесь http://davidesquerra.com/ или здесь на https://github.com/Davidfree2

Если вам действительно понравилась эта статья, поставьте аплодисменты ниже или даже подпишитесь! Дайте мне знать, что вы думаете, и хотите ли вы видеть больше подобного контента. Также задавайте вопросы, если что-то непонятно. Спасибо за чтение.