Bugs reparados:
- Saltos en el aire
Implementaciones:
- Objetos (para empujar)
Por ahora eso es todo, todavía tiene muchos bugs, pero va mejorando poco a poco, sin más les dejo el codigo:
Código
#!/bin/bash ################# ##Proyecto MFG1## ################# #By GilgamesH Co# #######2010###### ################# py=2 px=2 mov(){ tput cup $1 $2 } key(){ read -t 0.2 -n 1 $1 } ox=4 oy=8 lim=( "4 2" "4 3" "4 4" "4 5" "4 6" "4 7" "7 11" "7 12" "7 13" "9 0" "9 1" "9 2" "9 3" "9 4" "9 5" "9 6" "9 7" "9 8" "9 9" "9 10" "9 11" "9 12" "9 13" "9 14" "11 5" "11 6" "11 7" "11 8" "11 9" "11 10" "11 11" "11 12" "11 13" "11 14" "11 15" "11 16" "11 17" "13 0" "13 1" "13 2" "13 3" "15 0" "15 1" "15 2" "15 3" "18 0" "18 1" "18 2" "18 3" "18 4" "18 5" "18 6" "18 7" "18 8" "18 9" "18 10" "18 11" "18 12" "18 13" "18 14" "18 15" "18 17" "18 18") llen=19 llen1="${#lim[@]}" salto=3 while [ 1 = 1 ] do clear echo echo echo echo echo " XXXXXX" echo echo echo " XXX" echo echo "XXXXXXXXXXXXXXX" echo echo " XXXXXXXXXXXXX" echo echo "XXXX" echo echo "XXXX" echo echo echo "XXXXXXXXXXXXXXXXXX" mov $py $px echo -n "M" mov $oy $ox echo -n "N" mov 0 0 key err py=$(($py+1)) oy=$((oy+1)) if [ $err = d ] then px=$(($px+1)) fi if [ $err = w ] then if [ $salto = 0 ] then py=$(($py-3)) salto=99999 fi fi if [ $err = a ] then px=$(($px-1)) fi while [ $px -lt 0 ] do px=$(($px+1)) done while [ $px -ge $(($llen-1)) ] do px=$(($px-1)) done for i in `seq 0 $llen1` do if [ "$py $px" = "${lim[$i]}" ] then py=$(($py-1)) salto=0 fi done for i in `seq 0 $llen1` do if [ "$oy $ox" = "${lim[$i]}" ] then oy=$(($oy-1)) fi done if [ $salto != 0 ] then salto=$((salto-1)) fi if [ $ox -lt 0 ] then ox=0 fi if [ $ox = $llen ] then ox=$((ox-1)) fi if [ "$px $py" = "$ox $oy" ] then if [ $lx -lt $ox ] then ox=$((ox+1)) if [ $px = $ox ] then px=$((px+1)) fi fi if [ $lx -gt $ox ] then ox=$((ox-1)) if [ $px = $ox ] then px=$((px-1)) fi fi if [ $ly -lt $oy ] then py=$((py-1)) fi fi lx=$px ly=$py done
El funcionamiento es el mismo que el anterior, solo se le agrego una comparación para ver si el personaje esta en el suelo o no, para evitar los saltos en el aire; y también se le aplico la misma física (si se le puede decir así) a la caja, (la "N"), asi que la pueden empujar por los bordes, pero no fuera de los limites (o si ¬¬|| XD).
Les pido que si ven que tiene algún bug, por favor me lo reporten para corregirlo.
Saludos