Diferencias
Muestra las diferencias entre dos versiones de la página.
Próxima revisión | Revisión previa | ||
arcanoid.sh [2024/06/11 22:37] – creado peron | arcanoid.sh [2024/06/11 23:05] (actual) – peron | ||
---|---|---|---|
Línea 1: | Línea 1: | ||
<code bash> | <code bash> | ||
- | # | + | #!/usr/ |
# «Арканоид» на bash. Евгений Степанищев http:// | # «Арканоид» на bash. Евгений Степанищев http:// | ||
# Bash Arcanoid. Copyright by Evgeny Stepanischev http:// | # Bash Arcanoid. Copyright by Evgeny Stepanischev http:// | ||
Línea 6: | Línea 6: | ||
PID=$$ | PID=$$ | ||
- | # Цвета блоков на уровнях | + | # Bloquear colores de niveles |
MAPCOLORS=(" | MAPCOLORS=(" | ||
- | # Карта уровней | + | # Mapas de niveles |
declare -a MAPS | declare -a MAPS | ||
- | # X Y Тип | + | # X Y Tipo (color) Cantidad |
MAPS=(\ | MAPS=(\ | ||
"4 4 0 12 4 5 0 12 4 6 1 12 4 7 1 12 4 8 0 12 4 9 2 12 4 10 2 12" | "4 4 0 12 4 5 0 12 4 6 1 12 4 7 1 12 4 8 0 12 4 9 2 12 4 10 2 12" | ||
Línea 45: | Línea 45: | ||
) | ) | ||
- | # Счёт | + | # Control |
SCORE=0 | SCORE=0 | ||
- | # Количество жизней | + | # Numero de vidas |
LIVES=5 | LIVES=5 | ||
- | # Количество блоков на уровне | + | # nro. de bloques por nivel |
MAPQUANT= | MAPQUANT= | ||
- | # Номер уровня | + | # nro de mapa |
MAPNUMBER=1 | MAPNUMBER=1 | ||
- | # Прилипает ли мяч к ракетке | + | # ¿Se pega la pelota a la raqueta? |
STICKY= | STICKY= | ||
- | # Создание каретки заданной длины, заполняем глобальные | + | # Crea un carro de una longitud determinada, completa global |
- | # переменные | + | # variables |
function CreateСarriage { | function CreateСarriage { | ||
CW=$1 | CW=$1 | ||
Línea 71: | Línea 71: | ||
CreateСarriage 5 | CreateСarriage 5 | ||
- | # Координаты каретки | + | # Coordenadas de la raqueta |
CX=2 OCX= | CX=2 OCX= | ||
- | # Координаты падающего подарка и тип | + | # Coordenadas y tipo de regalo que caen |
GX= GY= GT= | GX= GY= GT= | ||
Línea 80: | Línea 80: | ||
BX=5 BY=2900 | BX=5 BY=2900 | ||
- | # Угол приращения мяча | + | # coordenadas pelota |
BAX=0 BAY=0 | BAX=0 BAY=0 | ||
- | # Версия | + | # version de bash |
BASH=(${BASH_VERSION/ | BASH=(${BASH_VERSION/ | ||
- | # Координатная сетка виртуального экрана | + | # cuadricula de pantalla virtual |
declare -a XY | declare -a XY | ||
- | # Заменяем | + | # Reemplazar |
which say &>/ | which say &>/ | ||
: | : | ||
} | } | ||
- | # Отрисовка уровня по номеру | + | # Grafica un nivel x nro |
function DrawMap { | function DrawMap { | ||
local i j x y t q map=(${MAPS[$1]}) c | local i j x y t q map=(${MAPS[$1]}) c | ||
Línea 117: | Línea 117: | ||
} | } | ||
- | # Обработка клавиатурных событий | + | # Maneja eventos de teclado |
function KeyEvent { | function KeyEvent { | ||
case $1 in | case $1 in | ||
Línea 140: | Línea 140: | ||
} | } | ||
- | # Отрисовываем коробку в виртуальный экран | + | # Dinujar cuadro en pantalla virtual |
function DrawBox { | function DrawBox { | ||
local x y b=" | local x y b=" | ||
Línea 156: | Línea 156: | ||
function PrintСarriage { | function PrintСarriage { | ||
- | # Если предыдущая и текущая позиция совпадают, то надо только | + | |
- | # нарисовать каретку | + | # dibujar un signo de intercalación |
if [ -z " | if [ -z " | ||
echo -ne " | echo -ne " | ||
else | else | ||
- | # Стираем каретку с того места, где она была, | + | # Borra el carro del lugar donde estaba, |
- | # дополнительные пробелы по краям стирают глюки | + | |
echo -ne " | echo -ne " | ||
echo -ne " | echo -ne " |