A lição 2 fala sobre movimento, é um assunto muito legal, basicamente o que todos querem saber antes de iniciar a programação de um game.
Alem do movimento tem muita filosofia aqui. então vou tentar explicar todos os detalhes.
Nesse script você pode usar as letras (a,s,w,s) para movimentar a bolinha, e o (q) para sair.
#!/bin/bash
setterm -cursor off
clear
x=0
y=0
a=0
f=0
echo -n "o"
until [ $a = q ];do
read -n 1 a
clear
######## Leitura do Teclado ####
if [ $a = a ];then
let "x = x - 1"
fi
if [ $a = d ];then
let "x = x + 1"
fi
if [ $a = w ];then
let "y = y - 1"
fi
if [ $a = s ];then
let "y = y + 1"
fi
################################
##### Movimento da Bolinha #####
f=0
while [ $y -gt $f ];do
echo ""
let "f = f + 1"
done
f=0
while [ $x -gt $f ];do
echo -n " "
let "f = f + 1"
done
echo -n "o"
done
###############################
clear
setterm -cursor on
echo FIM
OK, agora que você brincou vamos falar sobre o script
setterm -cursor off
Aqui eu desligo o quadrado do cursor de digitação, para que apenas o que eu quero seja exibido.
clear
x=0
y=0
a=0
Apos isso limpo a tela e inicio todas as minhas variáveis com o valor que quero. é importante fazer isso para não haver erros na inicialização.
until [ $a = q ];do
read -n 1 a
clear
Incio o loop, e tem mais uma coisa importante aqui, o read -n1 a, pega apenas a tecla batida, ele não precisa do enter.
Apos isso sigo com o conceito de gráfico x,y que definem onde vou exibir o "o"
E de bônus, eu deveria usar um comando para fazer o sistema imprimir o "o" onde eu quero. mas me imaginei em um sistema ou linguagem onde não teria nem mesmo isso. e montei na marra.
imprimindo o numero de linhas [echo], e imprimindo colunas [echo -n " "] para chegar na posição x,y.
mano, tem com vc entrar em contato comigo: marcos.gnulinux@gmail.com
ResponderExcluirabraços!