chicos, viendo que el anterior hilo de bgt se cayó, quise abrir este, y además preguntar algunas cosas, bueno mas que nada que ando aprendiendo bgt y tengo una duda. sé que los bloques se abren y cierran con llaves. pero aunque he leído muchas cosas al respecto, no entiendo para qué sirven bien. ya estoy aprendiendo sobre los condicionales, pero en realidad no entiendo bien para qué sirven los bloques. en los scripts que yo he visto cierran y abre un script, es decir por ejemplo. void main() { alert("hola", "hola a todos"); } y termina el script. lo que yo me doy cuenta es que se ponen al comenzar una acción y terminar otra, pero aún así no los entiendo muy bien. alguien que me los explique? otro fin con el que abro el hilo es para que discutamos sobre la programación en bgt. así que, un saludo y ¡gracias desde ya!
~msgScore~: +0
2. Exink,
//Hola, yo de BGT sé lo mismo que de medicina, pero entiendo que los bloques
sirven para indicar un grupo de órdenes dadas para una función. Por ejemplo
(esto lo copio de memoria):
void main()
//La función indicada con un "void" (sin retorno, que no regresa algo tras
su ejecución) y main, que indica que es la principal. { //(Inicia el bloque de órdenes)
alert("Hola", "Esta es una función de prueba"); /*Las primeras palabras indican la función a llamar, en este caso alert, que
imprime texto en la pantalla junto con un título. ( Sirven para establecer los parámetros de la función. "Hola" Título de ventana en este caso, pero se puede cambiar dependiendo de los
parámetros de la función especificada. Se escriben entre comillas para no
confundir al intérprete y si hay más de un parámetro, se separan por ", ". "Esta es una función de prueba": texto que se imprimirá en la pantalla, o en
otras palabras es el segundo parámetro de la función. ;: fin de orden.
*/ } // Se cierra el bloque de órdenes.
~msgScore~: +0
3. leon_trotsky,
um, entendí parte y otra parte no, en realidad casi nada, pero bueno. está difícil xd...
~msgScore~: +0
4. Exink,
No te preocupes; si bien casi no domino estos temas, he tratado de explicártelo lo mejor posible. Sólo nos queda esperar que alguno de los que sepan nos ayuden a ampliar el tema, o simplemente intenta leer la documentación, que allí también lo explican con detalles.
~msgScore~: +0
5. raffles ,
si yosupiera te lo enseñaría, o al menos te trataría de explicar, pero no lo se, y me temo que ahorita aparesen los ciegos esos frustrados que cuando hablan de programación dicen que es imposible, que solo ellos puede, aparesen en 3-2-1-
~msgScore~: +0
6. El_principe_diamante22 ,
Esto se puso bueno, vamos chicos, yo tambien quiero aprender bgt!
~msgScore~: +0
7. ElPana,
otro capítulo de la novela, veremos cuanto dura...
~msgScore~: +0
8. SM-Casio-Chiptune ,
Tranquilos, el autor del post ha demostrado estar intentando entenderle, así que no voy al ataque. Yo digamos que entiendo de esto, pero Fer, te lo explicaría mejor cuando esté mayormente seguro ya que recordemos que yo tenía que tocar más C++ que BGT, en todo caso tienen un comportamiento bastante similar. De momento te voy contando que un string o cadena de caracteres, a nivel de programación es justamente un bloque de texto, es decir eso que vos al programar estarías escribiendo entre comillas y por tanto será mostrado al usuario, me seguís hasta acá? Vamos a detenernos un cacho en variables. Vos escuchaste hablar de qué son y sus diferentes tipos? Viste que tenés de diferentes tipos, o sea tipo de dato que reciben cada una? Viste que están las variables int (números enteros) char (caracteres, ojo, un solo caracter, por tanto una letra o un número) Float (números con decimales) me seguís hasta acá? Bueno, una cadena de caracteres podés entenderla como un arreglo de caracteres. Gracias a un String es que podés imprimir (o mandar a ingresar al usuario) un texto entero, de lo contrario podrías mostrar o mandar introducir una sola letra. En este caso acá el Samiel te hablaba de la Funsión Alert, que te muestra un título hola lo que haría que el lector te dijera, Hola diálogo: viste? Que hacen eso muchos programas? Es que te está saliendo un diálogo que tiee un título. Me seguís hasta acá? Y lo otro que pondrías entre comillas, "Estos es una prueba y bla bla bla", viste? Esa es la cadena de caracteres restante o el cuerpo del diálogo al que el usuario después de escucharlo le daría aceptar. No sé si te estpu enroscando xd pero eso es básicamente.
~msgScore~: +0
9. el-gatito-sigiloso,
¿Los bloques no sirven también para definir variables locales, es decir, variables que solo pueden utilizarse dentro de ese bloque de código? Yo de BGT casi no conozco, solo sé programar en C y LUA, pero al menos en el caso de LUA los bloques también sirven para eso, ya que se pueden definir variables tanto como globales y locales. No sé si en BGT será igual.
~msgScore~: +0
10. leon_trotsky,
sí fer, ya sabía lo que vos me decías. pero lo que yo no entiendo es. en qué casos se abre o se cierran los bloques? como nosotros nos damos cuenta que ahí se termina un bloque y debe abrirse otro? lo de las variables que me explicaste ya lo tenía bien visto, ya sé hacer variables y ahora estoy por condicionales, osea esa parte ya la pasé. pero el tema de los bloques me tiene en duda
~msgScore~: +0
11. Glein ,
Los bloques, para tener un código ordenado, se usan para todo. Te voy a dar un ejemplo más o menos humanizado de cómo BGT interpreta las cosas, poniendo entre paréntesis lo que en BGT va entre llaves:
Si escribo en el foro (tú respondes). Si te ofenden (lo pasas de largo).
En una condicional en BGT, la cosa iría:
if (yoescribo==true) { responde(); } if (ofensa==true) { ignorar(); }. En este caso, lo que va entre bloques, al igual que en el ejemplo humanizado, es lo que BGT tiene que hacer, y todas esas son funciones que antes se tienen que crear, o también puede ser después, pero se las tiene que hacer porque si le dices que haga una función que no conoce obviamente te va a saltar un error. Espero que con esto lo entiendas un poco mejor. Son cosas muy simples, se podrían meter loops y otras cosas también pero mientras entiendes eso no es muy necesario. Ten presente también que toda una función completa, una clase o un loop se tienen que escribir en bloques y que la mayoría de las veces vas a tener que cerrar 2 o más casi a la vez. También se te podría facilitar si pones a tu lector a que lea la puntuación en mayoría, por lo menos mientras intentas escribir o leer un trozo de código. Saludos.
~msgScore~: +0
Zuletzt geändert von Glein , Aug 7 2018 03:00:31
12. HarryPotter ,
Yo estoy tratando de aprender tres cosas: Hacer mapas, hacer un menús y lo del voice.speak, pero aún no lo domino. ¿Alguien que porfa me lo explique? Es que no logro entender muy bien el manual en inglés. Saludos y muchas gracias de antemano.
PD: Lo del mapa me da igual si es con ints o con arais, lo que quiero es aprender a hacerlos, sea de la manera que sea.
~msgScore~: +0
13. leon_trotsky,
glein, es decir, lo que va entre bloques es la respuesta, es decir. lo que bgt va a responder a una acción? porque tu pusiste, en el ejemplo humanizado, lo que tú hacer, osea, la respuesta que dan a cada situación. es decir que los bloques encierran la respuesta que va a dar bgt a ciertas acciones? si es así, ya lo he entendido
~msgScore~: +0
14. tonyMuniz,
pregunta. ¿Los mapas los hacen usando arreglos de dos o más dimenciones? es la única forma que se me ocurre, pero no se si estoy bien o es algo más complejo.
~msgScore~: +0
15. Glein ,
Claro, en una condicional todo lo que va entre bloques es lo que BGT tiene que hacer cuando dicha condicional se cumpla. Un ejemplo clásico: if(salud<=50) { voz.hablar("Cuidado, ¡es mejor que te cures ahora!"); }
Obviamente para que esto funcione el script donde lo quieras ejecutar debería tener una variable int llamada salud, y la función de voz.hablar que escriba el texto que le he dictado en un string, pero básicamente es eso: esa condicional que escribí quiere decir: si la salud es 50 o menor, que el lector de pantalla le diga al usuario: Cuidado, ¡es mejor que te cures ahora! Trata de leer todos los ejemplos desde la web o copiarlos en un bloc de notas, así los atrapas mejor.
~msgScore~: +0
Zuletzt geändert von Glein , Aug 7 2018 07:47:35
16. BOFH ,
Los mapas son una cosa superchunga. Pero sí, lo que llevanh o suelen llevar por debajo es un array de dos o tres dimensiones.
~msgScore~: +0
17. tonyMuniz,
imagino que lo de los mapas es un arreglo, y de ahí según el tamaño te basas para posisionar los objetos o sonidos que lleva. ¿es correcto?
~msgScore~: +0
18. BOFH ,
más o menos, sí.
~msgScore~: +0
19. leon_trotsky,
bien chicos, he llegado a aprenderme todo sobre condicionales, pero hay una duda en los condicionales info. ¿cómo se aplica info? digamos, no entiendo muy bien como es el tema de lo contrario, supongamos que te pregunte en qué mes estamos, y si escribes otro que no es, te sale un mensaje, que diga incorrecto, al contrario de si pones el mes correcto
~msgScore~: +0
20. jesuscota ,
con else amigo
~msgScore~: +0
21. Glein ,
¿Info? Nunca había oído de eso en las condicionales, a menos que esté en los apéndices.
~msgScore~: +0
22. BOFH ,
Info no existe. Else sí.
~msgScore~: +0
23. leon_trotsky,
am... veamos, consulté las clases aquí en español y dice info. es raro...
~msgScore~: +0
24. Glein ,
Pues léete el manual que viene con el programa, no tiene desperdicio y por momentos te explican las cosas mejor que aquí, además que cada objeto tiene sus ejemplos y no hay falacias como esa.
~msgScore~: +0
25. oscar93,
debe decir info porque está traducido, pero es else.
~msgScore~: +0
26. leon_trotsky,
OK... y cómo funciona else? oí que en vez de poner como if, por ejemplo if/clave=="hola1234") sería algo como... supongo no? corríjanme ustedes. else=("hola1234") corríjanme si ando bien xd. es que está algo difícil entenderlo. pero si entiendo condicionales normales, sosea con "if", supongo que else no va a costarme demasiado xd
~msgScore~: +0
27. HarryPotter ,
EL else es la respuesta negativa al if. O sea que si no se cumple la condición se ejecutará el bloque del else embesde el del if.
~msgScore~: +0
28. oscar93,
no sé bien los símbolos, no me acuerdo, pero sería algo así como else, símolos, y chau por ejemplo, en lugar de hola. cierra else. pero ojo, puedo estar equivocado porque hace tiempazo no estudio nada de programación.
~msgScore~: +0
29. Dj-facu ,
para corregir fin else no existe esto tiene que ir entre {} la condicion
~msgScore~: +0
30. BOFH ,
if(24==8) pasa algo else pasa otra cosa, aunque es improbable porque 24 siempre será 8.