elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Motor Físico Beta 2
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Motor Físico Beta 2  (Leído 2,069 veces)
BlacKGilgamesH

Desconectado Desconectado

Mensajes: 28


¿¿Por qué la gente aprecia más un post estupido??


Ver Perfil WWW
Motor Físico Beta 2
« en: 18 Agosto 2010, 00:14 am »

Hola, pues he seguido con mi proyecto del motor físico en bash, así que les dejo la siguiente actualización, (aunque no la ultima), en esta versión ya se corrigieron algunos bugs y se implementaron cosas.

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
  1. #!/bin/bash
  2. #################
  3. ##Proyecto MFG1##
  4. #################
  5. #By GilgamesH Co#
  6. #######2010######
  7. #################
  8. py=2
  9. px=2
  10. mov(){
  11. tput cup $1 $2
  12. }
  13. key(){
  14. read -t 0.2 -n 1 $1
  15. }
  16. ox=4
  17. oy=8
  18. 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")
  19. llen=19
  20. llen1="${#lim[@]}"
  21. salto=3
  22. while [ 1 = 1 ]
  23. do
  24. clear
  25. echo
  26. echo
  27. echo
  28. echo
  29. echo "  XXXXXX"
  30. echo
  31. echo        
  32. echo "           XXX"
  33. echo
  34. echo "XXXXXXXXXXXXXXX"
  35. echo
  36. echo "     XXXXXXXXXXXXX"
  37. echo
  38. echo "XXXX"
  39. echo
  40. echo "XXXX"
  41. echo
  42. echo
  43. echo "XXXXXXXXXXXXXXXXXX"
  44. mov $py $px
  45. echo -n "M"
  46. mov $oy $ox
  47. echo -n "N"
  48. mov 0 0
  49. key err
  50. py=$(($py+1))
  51. oy=$((oy+1))
  52. if [ $err = d ]
  53. then
  54. px=$(($px+1))
  55. fi
  56. if [ $err = w ]
  57. then
  58. if [ $salto = 0 ]
  59. then
  60. py=$(($py-3))
  61. salto=99999
  62. fi
  63. fi
  64. if [ $err = a ]
  65. then
  66. px=$(($px-1))
  67. fi
  68. while [ $px -lt 0 ]
  69. do
  70. px=$(($px+1))
  71. done
  72. while [ $px -ge $(($llen-1)) ]
  73. do
  74. px=$(($px-1))
  75. done
  76. for i in `seq 0 $llen1`
  77. do
  78. if [ "$py $px" = "${lim[$i]}" ]
  79. then
  80. py=$(($py-1))
  81. salto=0
  82. fi
  83. done
  84. for i in `seq 0 $llen1`
  85. do
  86. if [ "$oy $ox" = "${lim[$i]}" ]
  87. then
  88. oy=$(($oy-1))
  89. fi
  90. done
  91. if [ $salto != 0 ]
  92. then
  93. salto=$((salto-1))
  94. fi
  95. if [ $ox -lt 0 ]
  96. then
  97. ox=0
  98. fi
  99. if [ $ox = $llen ]
  100. then
  101. ox=$((ox-1))
  102. fi
  103. if [ "$px $py" = "$ox $oy" ]
  104. then
  105. if [ $lx -lt $ox ]
  106. then
  107. ox=$((ox+1))
  108. if [ $px = $ox ]
  109. then
  110. px=$((px+1))
  111. fi
  112. fi
  113. if [ $lx -gt $ox ]
  114. then
  115. ox=$((ox-1))
  116. if [ $px = $ox ]
  117. then
  118. px=$((px-1))
  119. fi
  120. fi
  121. if [ $ly -lt $oy ]
  122. then
  123. py=$((py-1))
  124. fi
  125. fi
  126. lx=$px
  127. ly=$py
  128. 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


En línea

leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: Motor Físico Beta 2
« Respuesta #1 en: 19 Agosto 2010, 00:14 am »

¿Podrías poner un script para ver la forma de utilizarlo?


En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
BlacKGilgamesH

Desconectado Desconectado

Mensajes: 28


¿¿Por qué la gente aprecia más un post estupido??


Ver Perfil WWW
Re: Motor Físico Beta 2
« Respuesta #2 en: 19 Agosto 2010, 01:58 am »

Pruebalo asi, alli ya hay un ejemplo, pero si quieres algo distinto dime y lo hago.

Saludos.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Sobre el interrogante físico de Casimir
Noticias
wolfbcn 0 1,206 Último mensaje 27 Julio 2012, 18:26 pm
por wolfbcn
Preparador fisico
Software
Zorronde 5 1,165 Último mensaje 29 Marzo 2015, 20:25 pm
por Zorronde
medios de transmicio fisico
Dudas Generales
antoniosan20 1 2,025 Último mensaje 24 Enero 2017, 07:19 am
por engel lex
Libros en físico
Desarrollo Web
RBombieri 0 1,813 Último mensaje 9 Noviembre 2022, 13:44 pm
por RBombieri
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines