Aprendiendo y debatiendo sobre bgt

623 messages, 21 pages:  1; 6 78 9 10; 21 ↖ Go back to topic list

Score: +4

211. sol-dorado,

Haber yao, olvídate de todo lo que sabes o crees que sabes de programación, y ponme atención. Los bloques, es la manera de dividir un trozo de programación en partes, que pueden ser funciones, condiciones tipo if, else, while, etc. Para indicar donde comienza un bloque y donde termina,
usamos los signos { (abrir llave) para indicar donde inicia, y } (cerrar llave) para indicar donde termina.
Porqué tiene que ser de este modo, porque así fueron construídos muchos lenguajes, para poder definir donde inicia o termina una función, o donde inicia y termina un condicional. Te vas a preguntar, o sea que los condicionales que usan llaves también son bloques? la respuesta es sí, ya que si bien un bloque comprende inicialmente una función de tu programa,
dentro de esas funciones hay otros bloques, también llamados sentencias que se ejecutan de acuerdo a si se cumplen o no ciertas condiciones. Si lees a consiencia el apartado de la documentación de bgt donde hablan de bloques, entenderás mucho mejor. El método que estoy utilizando es una forma con peras y manzanas de explicarlo, creo,
y espero hacerme entender, ya que el ejemplo con código no solo es muy bueno, si no que está comentado usando los caracteres de comentario // para que sea más fácil comprenderlo. Ahora, toma el código, y compara lo que hay ahí con mis indicaciones. No encontrarás ni if ni else, pero claramente se detallan los bloques.

Score: +0

212. gatita77 ,

Graaacias.

Score: +0

213. alextuprincipe ,

hola gente, alguien save como crear obgetos?

Score: +0

214. elPrincipeDeLaDulcePrincesita ,

hola! espero que todos estén bien. bueno, yo tengo un servidor y el código de un juego. pero. como ago para montarlo? porque miren esto. el código que yo tengo es de un juego recién empesado, y quiero montarlo a un server local que no tiene vpn. aora, yo le pongo los puertos, que por ejemplo es el puerto 4873, y la dirección addres del server, porqué no me deja? ojo, yo quiero aserlo en servidor local. perdonen si no me ago esplicar mucho, recién empieso en todo esto de código y server's. d. gracias al que me pueda alludar

Score: +0

215. sol-dorado,

Si puedes hablamos por medio del permanente, o incluso Aléxis puede añadirte al hilo que tenemos sobre eso para hablar por ahí, es mejor. Para crear objetos,
veamos. Bácicamente son dos formas: un objeto del tipo objeto=texto, o simlemente una clase.
El primero, tiene sus funciones asignadas dentro del programa, y el segundo, es una instancia de clase. Para verlo mejor tendría que poner un ejemplo, pero advierto es algo un poco avansado, porque las funciones ya están definidas dentro de la clase, solo es interactuar con ella.

Score: +0

216. alextuprincipe ,

da un ejemplo amigo, será mejor xd.

Score: +0

217. sol-dorado,

Hola; este es un ejemplo demaciado burdo, pero ilustra un poco el trabajo con clases, igual está comentado al inicio para dar ideas.

include"sound_pool.bgt";

sound_pool sonido_disparo;
sound arma_carga;
timer contador;
// clase para arma, no aplicable a un juego ya que la clase es meramente didáctica y no contempla muchas cosas tales como uso del item en inventario, incluso esto no debería estar en una clase, aunque nada está dicho
// por favor, intenta ponerle los sonidos en el directorio sounds, para que puedas oír lo que ocurre y que no les de errores de compilación.
// la ruta de los sonidos está presente en la línea. arma pmd(12, 0, 150, "sounds/pmd_sound.ogg", "sounds/pmd_load.ogg", "pmd");
// usa s para activar la clase, r para cargar el arma, d para descargarla, m para ver la munición en el arma, x para salir de la clase, y f4 para salir del programa.
// aunque originalmente la clase está escrita en inglés, he cambiado todos los nombres de variables y parámetros posibles para hacerlo mas fácil de entender

class arma
{
int max_municion;
int total_municion;
int velocidad;
string sonido_disparo_ruta;
string sonido_carga_ruta;
string arma_nombre;
arma(int max_municion, int total_municion, int velocidad, string sonido_disparo_ruta, string sonido_carga_ruta, string arma_nombre)
{
this.max_municion=max_municion;
this.total_municion=total_municion;
this.velocidad=velocidad;
this.sonido_disparo_ruta=sonido_disparo_ruta;
this.sonido_carga_ruta=sonido_carga_ruta;
this.arma_nombre=arma_nombre;
}

void cargar(int max_municion)
{
if(total_municion==0)
{
total_municion=max_municion;
arma_carga.load(sonido_carga_ruta);
arma_carga.play_wait();
arma_carga.close();
}
}

void descargar()
{
if(total_municion>0)
{
total_municion=0;
}
}

void tirar()
{
if(total_municion>0 && contador.elapsed>=velocidad)
{
sonido_disparo.play_stationary(sonido_disparo_ruta, false);
total_municion--;
contador.restart();
}
}
}

void main()
{
show_game_window("Clases en BGT");
while(true)
{
wait(5);
if(key_pressed(KEY_S))
{
game();
}
if(key_pressed(KEY_F4))
{
exit();
}
}
}

void game()
{
arma pmd(12, 0, 150, "sounds/pmd_sound.ogg", "sounds/pmd_load.ogg", "pmd");
while(true)
{
wait(5);
if(key_pressed(KEY_R))
{
pmd.cargar(pmd.max_municion);
}

if(key_pressed(KEY_D))
{
pmd.descargar();
}

if(key_pressed(KEY_M))
{
screen_reader_speak(4, pmd.total_municion);
}

if(key_down(KEY_LCONTROL))
{
pmd.tirar();
}

if(key_pressed(KEY_X))
{
main();
}
}
}

Score: +0

218. alextuprincipe ,

________

Score: +0

219. BOFH ,

sin ver el código no podemos ayudarte. Pero algo me dice que es el fb o similares, ¿verdad?

Score: +0

220. Rayo ,

hola, creo que mi comentario no ba a quí pero no quiero crear mas ilos así que lo diré.
para el bachillerato nesesito programar jaba y el programa que usarán mis compañeros no es nada accesible a jaws mucho menos A NVDA, y me recomendaron miembros de esta misma comunidad (con los cuales estoy muy agradecido) usar eclibce y cuando lo abro me salta esto:
Eclipsec diálogo Java was started but returned exit code=13
C:\Program Files (x86)\Common Files\Oracle\Java\javapath\java.exe
-Dosgi.requiredJavaVersion=1.7
-Xms256m
-Xmx1024m
-jar C:\Users\Yesi\Downloads\eclipse\plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar
-os win32
-ws win32
-arch x86_64
-showsplash C:\Users\Yesi\Downloads\eclipse\plugins\org.eclipse.platform_4.5.0.v20150603-2000\splash.bmp
-launcher C:\Users\Yesi\Downloads\eclipse\eclipsec.exe
-name Eclipsec
--launcher.library C:\Users\Yesi\Downloads\eclipse\plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.300.v20150602-1417\eclipse_1611.dll
-startup C:\Users\Yesi\Downloads\eclipse\plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar
--launcher.appendVmargs
-exitdata 23c0_c8
-product org.eclipse.epp.package.java.product
-vm C:\Program Files (x86)\Common Files\Oracle\Java\javapath\java.exe
-vmargs
-Dosgi.requiredJavaVersion=1.7
-Xms256m
-Xmx1024m
-jar C:\Users\Yesi\Downloads\eclipse\plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar
no se quien me podría ayudar, de antemano gracias y disculpen por desviar el ilo

Score: +0

221. gatita77 ,

Tengo un problema: cuando quiero cargar un script sale un error y dice error the copying process failed. Espero que me puedan ayudar pooooorfaaaa.

Score: +0

222. sol-dorado,

Si es un error de bgt, fíjate que la ruta esté correcta... en toco caso en cualquier lenguaje puede pasar lo mismo, entonces cuida esos detalles, y no solo rutas si no nombres de archivo.

Score: +0

223. gatita77 ,

todo eso lo revizé pero aún así sigue ese **** error.

Score: +0

224. Kekiusn ,

Eso es anti virus xd

Score: +0

225. Halliday,

Hola. ¿algún entendido de BGT sabría explicar qué son y como utilizar los objetos Network? Tengo claro que son para crear aplicaciones cliente/servidor, y que equivalen a los sockets de otros lenguajes de programación. Pero no termino de pillarles el punto.

Score: +0

226. alextuprincipe ,

hola gente, miren, e estado traduciendo, parte de uno de los manuales de bgt. me dicen si quedó bien, no está traducido completamente, pero algo es algo.
sin más, aquí tienen parte del manual.
https://www.dropbox.com/s/8rsloxuq8k9opd3/Programaci%C3%B3n%20de%20juegos%20en%20la%20pr%C3%A1ctica%20Parte%20I.txt?dl=1
si les gusta, me gustaría, que me lo digan, así lo continúo.. más que nada es para los que resién van aprendiendo o quieren aprender, como yo. un saludo y asta luego.

Score: +0

227. BOFH ,

No está mal. Eso sí, en ocasiones referencias al tutorial del idioma y es tutorial del lenguage.

Por otra parte, si tratas de compilar ese código por completo da error. Es un manual antiguo y desactualizado.

Score: +0

228. elPrincipeDeLaDulcePrincesita ,

hola a todos xdd. bueno amí por ejemplo si me gustó bro, yo que tú lo seguiría. aa y apropósito xdd. aber si me alludan con algo. bueno, yo estába creando el tren de la memoria, pero ice todo bien como me dijo el manual (comprovado por mí no feik un lín por mega wpload) pero me marcá un error. en lo siguiente, les dejo el código.

include "dynamic_menu.bgt"

void main()

{
show_game_window("Tren de la memoria");
dynamic_menu m;
menu.add_item_tts("start Game");
menu.add_item_tts("Keyboard practice!");
menu.add_item_tts("Exit game");
menu.allow_escape = trwe;
menu.wrap = true;
menu.run("main menu. Choose a menu item with the arrow keys, then press Enter to activate it.", true");
}
aora el error.
File: C:\Users\Usuario\Documents\memory_train.bgt
On line: 12 (101)
Line: menu.run("main menu. Choose a menu item with the arrow keys, then press Enter to activate it.", true");
Error: Non-terminated string literal.
por lo que sé el strin literal (de seguro lo escribí mal como es de mi costumbre) significa que en esa linea falta algún balor, pero así está echo en el manual. otra parte que me dá error es esta.
aquí el ótro código.
void main()
{
int answer;
answer = question("una pregunta", Una pregunta personal", "¿Crees en el monstruo del lagonés?");

if(answer

1)
alert("¡Ramen para ti, entonces!", "Gracias por ser tan honesto");


else if(answer

2)
alert("Pensé que sí!", "Ahora no me digas que el nahuelito te atrapó primero");
else
alert("¡Vaya!", "¡Algo está terriblemente mal aquí! Tal vez sea el monstruo que se está vengando");
}
y el error es este.
File: C:\Users\Usuario\Documents\x.bgt
On line: 10 (97)
Line: alert("¡Vaya!", "¡Algo está terriblemente mal aquí! Tal vez sea el monstruo que se está vengando");
Error: Non-terminated string literal.
que si no me equivoco es el mismo. y otra cosa. que es ramen? no entiendo eso xdd.
gracias al que pueda alludarme

Score: +0

229. BOFH ,

Las comillas de los strings. Te faltan comillas.

Score: +0

230. HarryPotter ,

Hola, buenos días.
Paso por acá, para solicitar ayuda con la librería "bass.dll" y su uso con BGT. Busqué documentación para poder utilizarla, pero no he allado nada de utilidad, solo cosas relacionadas con corección de errores, descargarla y poco más.
Si alguien sabe algo, se lo agradecería que lo digiera por que lo ando requiriendo. Así que de antemano gracias.

Saludos.

Score: +0

231. sol-dorado,

Nikola, en el bc te dejé a noche el enlace a la página oficial de bass, está en inglés.

Score: +0

232. Kitoshi_Yoshimatsu ,

hay un coso cosito, grande y pequeñito, que tiene código y codiguito, que te dice cuántas comillas y mierdas hay. Está en inglés. Ya traduciré y subiré la cosa esa.

Score: +0

233. El_Observador ,

Y ese coso y cosito, ¿es el scrip grande y chiquito de Oriol? XD.

Score: +0

234. Kitoshi_Yoshimatsu ,

no, es el de mason. Oriol se basó en ese y a saber qué hizo. Ya he terminado. Descargadlo si quereis. Si no... pues eso.
https://1drv.ms/u/s!As1WzVAO2w9OiwSbDZmRZgeIWvde

Score: +0

235. sol-dorado,

Esas herramientas ayudan mucho, así que como el siguiente consejo: sea en jaws o en NVDA, recomiendo un perfil de voz para el blog de notas, o el editor que estén usando, para no perderse detalles
ya que al programar es vital entrecomillar los string, ceparar los parámetros de clases y funciones con comas, cada cosa cuenta y por un error por mínimo que sea no anda.

Score: +0

236. alextuprincipe ,

hola gente, bueno dos o tres preguntas. o más, quien sabe. xd.

  1. como hago para poner una canción o melodía en el menú de un juego? es que se me olvidó.
  2. como hago para crear por ejemplo, unas monedas.
  3. como era para poner para que nvda o jaws te lea el menú del juego y no el intento de sapi 5 en inglés?

Score: +0

237. BOFH ,

Volvemos a lo mismo... Estúdiate la parte de sonidos.

Score: +0

238. sol-dorado,

Quisiera ir a tu casa a pegarte, pero como sos buen amigo, te daré un consejo; sonidos, eso debes manejarlo a full si quieres hacer juegos y aplicativos que utilicen sonidos, no es una opción, si o sí tienes que saberlo y la documentación es muy clara con ese tema. Para hacer una moneda, son chorroscientas opciones, desde una variable que se incrementa cada vez que ganas monedas y le pones un sonido en el bloque de código,
una clase para ese objeto; ah, solo eran dos bácicamente hablando pero así va con todas sus variantes; en mi caso yo aría una clase items, y a esa clase le daría los valores y funciones necesarias, que si recordamos la documentación
las funciones son los métodos de clase; si el objeto moneda es demaciado distinto de otros objetos es decir no es posible usar la clase items para las monedas porque tiene otros detalles que no lo permiten, entonces hacer una solo para eso. Para no darte mas cantaleta,
hay un apartado que tiene que ver con lectores de pantalla, no recuerdo muy bien el nombre, y con eso es posible por ejemplo crear un módulo pequeño que verifique si hay algún lector de pantalla en ejecución, y de haberlo
entonces guardamos su ID en una variable, y al invocar la función speak, o hablar, o como se les antoje llamarla en el módulo que ará ésto, usará el lector guardado en esa variable que por supuesto
es de tipo entero; Para usar el tts por defecto que tengas en el sistema, ya es cuestión de verificar si no hay un lector corriendo en el sistema, entonces hablar los mensajes usando una instancia del objeto tts_voice, por ejemplo tts speech;
Al llamarlo, por ejemplo: speech.speak("Texto");
o, si queremos que espere mientras habla, speech.speak_wait("Texto");
En fin, mi consejo final es que dejes de querer correr sin antes caminar; vas demaciado rápido y a ese ritmo no vas a aprender ni a entender nada. Yo comencé con un simple alert, luego me fuí llendo en el tipo de variables, funciones, ya conocía condiciones por el uso en su tiempo de javascript y php,
fuí haciendo y haciendo todo tipo de ejersicios, error tras error, vuelve a hacer el código, leer, intentar que pasaba, y varios meses después me metí con el tema de clases y objetos, y me ha costado, incluso es un tema el cual no manejo a perfección;
además, lo mío es tocar instrumentos, producir, la informática es solo un hovie.

Score: +0

239. BOFH ,

el problema es que aquí la gente cree que si va recopilando fragmentos de código luego podrá juntarlos. Por ejemplo, pensais que si así se pone una música, lo podré usar para todos mis juegos, si así se pone un menú, sirve para todos los juegos. Y eso es un error. Teneis que aprender por qué funcionan las cosas y qué estais haciendo exactamente.

Score: +0

240. sol-dorado,

De hecho, es un error frecuente, andar copiando scripts y mas scripts y coleccionándolos para usarlos como liberías para trabajar. De hecho, creo que hay casos especiales en los que viene bien, y claro si el módulo está liberado pueden hacerse cambios para adaptarlo a tu caso personal, y eso está bien.
Por ejemplo yo me agarré el speak.bgt de Zombi war, y el dlg.bgt de City Mass, y al dlg le hice un cambio, eliminé 2 líneas que para nada me servían. Incluso, al speak le añadí un condicional que faltaba. Me van de perlas, funciona, y está genial mientras eso sea así; Se comete el error de copiar y pegar, no aprendemos como se debe aprender, luego no funciona y dicen:
pero que pasa, si yo puce el nombre del archivo bien! pues claro muchacho, no te funciona porque copias, pegas, no lees el código para entender como funciona, luego para hacerlo andar es un dolor de cabeza y ni modo de decir, tiene estas y estas funciones, ah entonces ya se como debo usarlo, y bueno
al final es lo que pasa con mucha gente. Otro asunto, mucho código sin documentar, y toca leer varias veces línea a línea para ver como es qe va la cosa,
aunque de ahí se aprende pierdes mas tiempo entendiendo el código que implementando.

Score: +0

623 messages, 21 pages:  1; 6 78 9 10; 21 ↖ Go back to topic list

Answer to topic

You must be connected in order to be allowed to post.

Lost password ? Create account