Учим bash-скрипты, пишем Sokoban | ||
Разное > Консоль Мне кажется, что на свете еще есть люди, которые хорошо знают несколько языков программирования, но при этом не пишут скриптов для bash, потому что скриптовый язык bash выглядит для них слишком странным. Чтобы доказать, что bash — это несложно, я написал игру Сокобан (или Грузчик, кому как нравится), и хочу рассказать, как она работает. Коротко о главном
Переменные в bash
В bash нет типов данных, а еще при присваивании нельзя ставить лишних пробелов: y=11 #правильно
Чтобы прочитать значение переменной, перед ее именем нужно ставить знак доллара. Не возбраняется (а иногда и необходимо) заключать имя переменной в фигурые скобки, а затем перед открывающей скобкой все же ставить знак доллара. Арифметические операции (целочисленные) выполнять можно так:r=$(( $x + $y )) #и снова обратите внимание на скобки и пробелы r=$(( ${x} + ${y} )) #можно делать и так Массивы в bash бывают только одномерные, инициализировать их не нужно. Можно обращаться к данным по индексу, а так же задавать пачками: map[3]=4
Ввод и вывод Для вывода используется команда echo. Она поддерживает escape-последовательности, и это очень удобно. echo "Hello, world!" #привет, мир!
Для ввода используется команда read. read B #ожидать ввода, сохранить результат в переменную B
Управляющие конструкции Конструкция if-then-else: if [[ "$B" = "Q" ]] #сравнение строк, обратите внимание на пробелы и скобки
Конструкции while и case:while ( [ "$B" != "Q" ] ) do #в скобках - условие, обратите внимание на пробелы и скобки
Цикл for:for (( value=1 ; value<LIMIT; value++ )) do #где LIMIT - переменная
И нтерактивная компьютерная игра Sokoban #!/bin/bash Уфф! Вроде все. Можно скачать игру (не забудьте сделать sh-файл исполняемым командой chmod), а можно подробнее почитать про bash scripting. С нетерпением жду появления 3D-движка или хотя бы аркадного платформера на bash. На JavaScript ведь можно...
|
||
Комментарии | ||