Aprendiendo y debatiendo sobre bgt

623 сообщений, 21 страниц:  1; 13 1415 16 17; 21 ↖ Вернуться к списку тем

счёт: +4

421. Qhay,

hola chicos. tengo una duda. ¿no hay algún tutorial/manual escrito para aprendér? en plan, tengo uno escrito, lo malo es que está en portugués, y pues, no sé mucho de ese idioma. es que, me gustaría aprender. bueno, estube empesando con el manual de portugués, y llegué a los bucles, y de allí no pude más.

счёт: +0

422. r-althor,

no se mucho sobre bgt, pero me suena como que texto ahí está declarado como variable o cosa similar.

счёт: +0

423. Rayo.bgtr ,

Bueno esto ya se volvió más extraño porque ejecuto cualquiér otro código que ya tengo escrito con anterioridad e inclusive creé una simple alerta (alert) y me dió error...
No se si esto sea normal o que pasa.

счёт: +0

424. galoneir,

para rayo.

Declaras la string cadena pero luego en string_to_number le pasas la variable texto, la cual no está declarada. Fíjate en las líneas anteriores, la variable se llama cadena, no texto.
Prueba a cambiar string_to_number(texto) a string_to_number(cadena)

счёт: +0

425. Rayo.bgtr ,

Si, cambié eso del (texto) por el (cadena) pero nada tira lo mismo:
\ingresarnumero.bgt
On line: 1 (1)
Information: Compiling void main()

File: C:\Users\angel\Documents\ingresarnumero.bgt
On line: 5 (1)
Line: alert("el número que ingresaste es:"+numero);
Error: No matching signatures to 'alert(string)'

File: C:\Users\angel\Documents\ingresarnumero.bgt
On line: 5 (1)
Information: Candidates are:

File: C:\Users\angel\Documents\ingresarnumero.bgt
On line: 5 (1)
Information: bool alert(const string&in, const string&in)

счёт: +0

426. TemasVarios,

chicos, bengo con una duda.
aquí les dejo un pequeño cóidog uqe ice, y aber que opinan ustedes de que porqué me da error.
void main()
{
string name1="michael";
string name2="angel";
string name3="el mike";
string name4="frank";
string name5="Harry Potter";
string name6="JamesPotter";
string name7="albus dumbledore";
string name8="sirius black";
string name9="Remus Lupin";
string name10="peter petigrew";
string name11=tom riddle";
string name12="lord boldemort";
string name13="severus snape";
int a=random(1,13);
alert("hola!", "soy michael, y hoy te daré un nuebo nombre. si no te gusta el que tienes, puedes elejir otro reiniciando el programa. buena suerte!";
if(a==1){
alert("a lazar", "el nombre que te ha tocado es,"+name1);
}else{
if(a==2){
alert("a lazar", "el nombre que te ha tocado es,"+name2);
}else{
if(a==3){
alert("a lazar", "el nombre que te ha tocado es,"+name3);
}else{
if(a==4){
alert("a lazar", "el nombre que te ha tocado es,"+name4);
}else{
if(a==5){
alert("a lazar", "el nombre que te ha tocado es,"+name5);
}else{
if(a==6){
alert("a lazar", "el nombre que te ha tocado es,"+name6);
}else{
if(a==7){
alert("a lazar", "el nombre que te ha tocado es,"+name7);
}else{
if(a==8){
alert("a lazar", "el nombre que te ha tocado es,"+name8);
}else{
if(a==9){
alert("a lazar", "el nombre que te ha tocado es,"+name9);
}else{
if(a==10){
alert("a lazar", "el nombre que te ha tocado es,"+name10);
}else{
if(a==11){
alert("a lazar", "el nombre que te ha tocado es,"+name11);
}else{
if(a==12){
alert("a lazar", "el nombre que te ha tocado es,"+name12);
}else{
if(a==13){
alert("a lazar", "el nombre que te ha tocado es,"+name13);
}
}
}
}
}
}
}
}
}
}
}
}
}
}
si estan las 14 yabes que corresponden, porqué me tira error en la alert name 13? aber si me alludan. gracias! :)

счёт: +0

427. sol-dorado,

Hola, un saludo. Para @michaelgta5. Primer error:
olvidaste abrir la comilla luego del igual al declarar el string en la variable name11.
Segundo error:
No puciste el signo de paréntecis de cierre en el primer alert.
Error gravísimo: luego del primer if, te lo pasaste abriendo else y más else, y no los cerraste hasta el final, y esa forma de anidamiento no funcionaría ya que lo toma como no válido el motor.
E corregido todo el código, y lo que hice fue poner en vez de else { }, else if, y luego cerrando la llave. Montón de llaves menos, y funciona. E aquí la modificación.

void main()
{
string name1="michael";
string name2="angel";
string name3="el mike";
string name4="frank";
string name5="Harry Potter";
string name6="JamesPotter";
string name7="albus dumbledore";
string name8="sirius black";
string name9="Remus Lupin";
string name10="peter petigrew";
string name11="tom riddle";
string name12="lord boldemort";
string name13="severus snape";
int a=random(1,13);
alert("hola!", "soy michael, y hoy te daré un nuebo nombre. si no te gusta el que tienes, puedes elejir otro reiniciando el programa. buena suerte!");
if(a==1)
{
alert("a lazar", "el nombre que te ha tocado es,"+name1);
}
else if(a==2)
{
alert("a lazar", "el nombre que te ha tocado es,"+name2);
}
else if(a==3)
{
alert("a lazar", "el nombre que te ha tocado es, "+name3);
}
else if(a==4)
{
alert("a lazar", "el nombre que te ha tocado es, "+name4);
}
else if(a==5)
{
alert("a lazar", "el nombre que te ha tocado es, "+name5);
}
else if(a==6)
{
alert("a lazar", "el nombre que te ha tocado es,"+name6);
}
else if(a==7){
alert("a lazar", "el nombre que te ha tocado es,"+name7);
}
else if(a==8)
{
alert("a lazar", "el nombre que te ha tocado es,"+name8);
}
else if(a==9)
{
alert("a lazar", "el nombre que te ha tocado es, "+name9);
}
else if(a==10)
{
alert("a lazar", "el nombre que te ha tocado es,"+name10);
}
else if(a==11)
{
alert("a lazar", "el nombre que te ha tocado es,"+name11);
}
else if(a==12)
{
alert("a lazar", "el nombre que te ha tocado es,"+name12);
}
else if(a==13)
{
alert("a lazar", "el nombre que te ha tocado es, "+name13);
}
}

Nota: para evitar escribir tantas variables para los nombres, sería más prudente declarar un array de tipo string y llamarlo:
string[] names;
luego, poner un nombre para cada índice tal cual que así:
names[0] ="michael";
names[1] ="angel";
names[2] ="el mike";

y así se forma de manera consecutiva hasta llegar al índice número 12. Recordemos que los índices en un array comienzan desde cero, siendo siempre la cantidad de elementos -1.
Entonces, en este caso el random iría desde 0 hasta 12, así:
int a =random(0, 12);
o en su defecto, si el array no está escrito a mano si no generado de forma automática mediante un ciclo for, entonces aríamos.
int a =random(0, names.length()-1);
Mareador, tal vez pero más efectivo, y menos agotador y dispendioso al escribir menos código.

счёт: +0

428. TemasVarios,

gracias, amigo sol! aber como me ba aora. gracias!

счёт: +0

429. Rayo.bgtr ,

Editado por error de código.

счёт: +0

Последнее изменение Rayo.bgtr , 04.12.2019 00:06:56

430. miguelo,

hola amigos, espero estén bien. YO vengo a compartir una experiencia similar con código de programación, que aunque no es bgt, es java y se parece en casi todo. Resulta que yo cometía muchos errores, y el profe me dijo que antes de copiar y pegar código, tenía que saber lo que cada parte del código hacía, porque de lo contrario hacer, pegar, copiar y modificar código no me sirve de nada. Bueno, es difícil, pero yo sé que lo lograrán chicos. Yo tengo un dicho, que es: yo quiero, yo puedo, yo soy capáz. Un saludo a todos amigos

счёт: +0

431. Rayo.bgtr ,

Bueno si... Copiar código es una muy mala práctica bueno aunque si lo haces para revisarlo creo que no está mal.
Pero no hay sadisfacción mas grande que ver tu propio código funcionando. Y bueno bgt si tiene unas cuantas similitudes con java pero tienen sus diferencias.

счёт: +0

432. miguelo,

Posteo para que rayito postee xd. Un saludo

счёт: +0

433. Rayo.bgtr ,

Gracias! bueno chicos, yo estoy empesando con bgt y me tira un error en este código. E estado toda la tarde chequeando y no encuentro el error aunque algo me dice que ees en las llaves alguien me puede ayudar porvfabor?

void main(){
alert("hola!", " bienvenido a otro juego! este conciste en que jugaras a tirar los dados con la maquina. Pero esta bes sera con teclas. f3 juegas denuevo, f2 tiras los dados y f4 sales del juego");
desicion();
jugar();

}
void jugar(){
int dado1=random(1,6);
int dado2=random(1,6;
alert("bien", "pulsa f2 para tirar los dados");
if(key_pressed(KEY_F2)){
alert("tiraste dados", "te salio: "+dado1);
alert("tiro yo", "me salio: "+dado2);
}
if(dado1<dado2){
alert("bien!", "gane yo!");
}else{
if(dado1>dado2){
alert("bien!, "tu ganas");
}
}
}
void desicion(){
alert("que quieres hacer?", "pulsa f4 para salir o f3 para jugar");
if(key_pressed(KEY_F4)){
alert("bien", "hasta luego");
exit();
}else{
if(key_pressed(KEY_F3))}
alert("todo listo", "a jugar");
juguemos();

}
}
}

счёт: +0

434. Cristian ,

Tienes que abrir y cerrar llave después de cada if.
Si solo tiene una acción no es necesario, pero es recomendable para que tu script tenga más orden.
También faltan while loops.

счёт: +0

435. Rayo.bgtr ,

while loobs? entiendo lo de los wile pero no eso de los loovs.

счёт: +0

436. sol-dorado,

Bien, para @rayo. Primer error: en la función jugar, olvidaste cerrar el paréntecis en la línea
int dado2=random(1,6;
lo correcto es:
int dado2=random(1,6);
Segundo error:
en la línea
alert("bien!, "tu ganas");
faltó cerrar la comilla en el primer parámetro, lo correcto es:
alert("bien!", "tu ganas");
Tercer error:
en la función desicion cerraste una llave en vez de abrirla en la línea:
if(key_pressed(KEY_F3))}
y lo correcto sería:
if(key_pressed(KEY_F3)){
cuarto error:
en la misma función llamas a la función juguemos();
cuando en realidad la función se llama jugar.
Otro error que veo de muchos aquí es que no ceparan los parámetros de llamados a función con espacio, y leer y depurar así es un puto lío ya que se usan las flechas izquierda y derecha con control para recorrer la línea de tal manera que vas leyendo palabra a palabra, pero de esa manera, complicado.

счёт: +0

Последнее изменение sol-dorado, 05.12.2019 04:16:33

437. Rayo.bgtr ,

Gracias @sol-dorado correjí los errores que marcaste y haora si funciona correctamente.
Pero bueno no funciona como pensava, supongo que ya son errores de lójica. Muchas gracias por correjirme. saludos.

счёт: +0

438. Cristian ,

Agrégale los while loops.
Digo while loops, porque el while es un loop, y porque aparte también está el for, que también es un loop.
Después de la alerta sería algo como:
while (true)
{
wait (5);
jugar();
}
}
El wait (5) es para que revise si la acción ya se concretó cada 5 milisegundos. En los loops se le pone ese tiempo de espera para que no esté revisándolo inmediatamente y no se vea perjudicado el procesador.

счёт: +0

439. Harry_Dresden,

hola hola hola! chicos, estoy estudiando un semestre de programación en la u, y quería a prender b g t, para la u, y ppara hacer jueguitos y conquistar la internet! digo digo......... bueno, mi pregunta es. si alguien me podría ayudar a aprender b g t? porfa xd!

счёт: +0

440. TemasVarios,

creo que muchos estarán de acuerdo con lo que boi a decir y @jops123 (perdona si escribo mal tu nombre) compadre mira. el asunto es así.
desgraciadamente nadie te puede enceñar bgt por enceñar.
1: yeba mucho tiempo y a la distancia se complica.
2: alguien no te puede enseñar bgt sin pedirte algo a cambio, por el tiempo que se imbierte. y on pedir algo a cambio, me refiero a dinero.
3: pero como si quiero alludarte, contactame al privado que tengo un manual bastante completo de el lenguaje, te lo comparto con gusto.
un saludo

счёт: +0

441. halo-reatch ,

perdonen por lo que voy a decir, pero no entiendo para qué aprender un lenguage de programación que ya está más muerto que un dinosaurio.
No soy, ni pretendo ser programador, pero creo que ahora ya no tiene sentido programar en BGT, ya que es por todos bien sabido que el creador ya lo fusiló del todo.

счёт: +0

442. r-althor,

yo no diría que sea por que el lenguaje esté muerto, que hay otros que ya no tienen mucho soporte y aún así son potentes. Yo no lo aprendería por la cuestión que si quieres enfocarte en algo para la carrera, bgt no te sirve. Primero por que no es conocido. Lo más provable que pase cuando les digas a tus profesores que sabes bgt es que lo asocien con cualquier otra cosa. Y lo segundo, relacionado con lo primero, es que como es un lenguaje específicamente dirigido a la comunidad, su uso no pasa de audiojuegos y programas con interfáz sencilla para windows.

счёт: +0

443. Rayo.bgtr ,

Si, la verdad es que bgt ya dejó de ser un lenguaje apto para aprender... Pero bueno creo que como pasatiempo y si se tiene algún proyecto o se planea contrivuír con alguno no está mal.
Porque la verdad que a diferencia de otros lenguajes mas rovustos como java, c o c++ es bastante flexsible en cuanto a sintaxis se refiere, además creo que puede servir como complemento para aprender conseptos o mínimamente motivar a la persona a aprender otros lenguajes más completos, porque claro... Supongo que cualquier persona se animaría viendo un programa corriendo con un hola mundo y que además sea fácil de comvertir en un .exe.
Pero esto vá mas relacionado con el aspecto anímico y como lo quiera tomar cada persona. Pero enn mí opinión funciona muy bien como pasatiempo y para dejár claras bases de programación, aunque para desarrollar están lenguajes con mallor soporte y con mucha mas documentación disponible como java o python.
Otro contra que le veo como mencioné arriva la falta de documentación, y otra mas evidente la falta de documentación en español. Porqué menciono esto quizá para algunos sea algo obvio pero igual diré. Con java o python hay múltiples foros, videos o cursos en español que pueden ayudar notoriamente en el aprendisaje del lenguaje, cosa que en bgt no es así. Aunque claro siempre para la programación se nesesitará de igual manera una buena base de inglés.

счёт: +0

444. disquetebantu ,

Estaba haciendo un experimento con un juego bgt ya existente, pero me da errores en las líneas 93 y 880. ¿Qué error he cometido? Os dejaré un enlace de mediafire con el juego. El archivo hack.bgt es el original y el hack 2.0 beta.bgt es la versión experimental que le intenté hacer. Lo he dejado en inglés y lo traduciré si puedo más adelante.
https://www.mediafire.com/file/ta20zmqxf3hhb79/hack+mi_versi%F3n.zip/file

счёт: +0

445. alex_el_pato ,

perdona, pero de que va ese juego? no lo entiendo xd

счёт: +0

446. disquetebantu ,

Eres un hacker y debes hackear equipos. Como verás, originalmente había cinco niveles y yo agregué uno (ya mencioné el nombre del archivo. Tienes que superar todos los niveles para convertirte en un hacker profesional. En cada batalla, el ganador es el que consuma toda la ram del oponente. Conseguí ejecutar el código original, pero me da error al compilar la versión a la que le agregué el nivel y no entiendo cual es el error.

счёт: +0

447. Harry_Potter,

BGT está bueno si quieres practicar algunos conceptos básicos y relativamente universales en el mundo de la programación, como lo pueden ser las variables y bucles. Así mismo, si estás aburrido y quieres hacer algo simplemente para matar el tiempo, BGT ayuda bastante a esto por la sintaxis y forma "simple" que tiene para ejecutarse, sumado a que no tienes que pensar en gráficos o demás. Si quieres hacer algo de verdadera calidad y que salga un mínimo de ésta comunidad, descarta BGT desde la línea cero de tu código.

счёт: +0

448. disquetebantu ,

¡A mí me gusta bgt por su simpleza. No busco hacer juegos muy complejos porque los juegos simples son los que más triunfan!

счёт: +0

449. alex_el_pato ,

perdona, ese juego tiene sonidos?

счёт: +0

450. disquetebantu ,

no, es solo de texto. Quise empezar con bgt editando un juego de este tipo.

счёт: +0

623 сообщений, 21 страниц:  1; 13 1415 16 17; 21 ↖ Вернуться к списку тем

Ответить на тему

Чтобы писать на форуме, вам нужно сначала войти.

Забыли пароль? Создать учётную запись