Noticias

Importante: ¡Si quieres publicar tu juego no olvides leer este tema!

Comunidad Game Maker

Bienvenid@ a la comunidad hispana de Game Maker. Nuestro objetivo es crear videojuegos y dar soporte en castellano de GM. Para mejorar nuestro servicio hemos implantado, como adicion al reglamento general, algunas normas especificas en los subforos más comunes. ¡No olvides informarte antes de participar!.

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Temas - dixon

Páginas: 1 2
1
Desarrollo de Scripts / get_version()
« en: Enero 27, 2020, 04:53:12 am »
Nombre de los creadores: Fabriyin, TheWood y mi persona. En colaboración se logró el objetivo. Ver más
Breve descripción de su función: Indicar la versión de Game maker que se esté usando.
Versión GM utilizada: Todas
Código del script:
Código: [Seleccionar]
{

BATCH="
goto inicio
"
repeat(score=0)
{
version=0
font_color=0.54

antiguas=0
//#antiguas=1

repeat(antiguas)
{
c1="Html"+string("5")
c2=(c1="Html"+"0")
c3=solid
c4=(solid=0)
c5="include"+string("<iostream>")
c6=(c5="include<iostream>")
repeat(c2*c3)version=1
repeat(c2*c4)version=2
repeat(c6)version=3
}

//#bloquear_codigo='
repeat(0){/*}
version=4
//*/}

repeat(version=0){
repeat(font_color=1){version=5}
}

repeat(font_color<1){
repeat(version=0)version=7
repeat(string_length(string(game_id))=9){version=8}
repeat(self=1000000){version="HTML5"}
repeat(instance_id=-4){version="Studio 1"}
repeat(string_length(string(game_id))=1){version="Studio 2"}
}

//fin_bloquear_codigo='


score+=1
}

repeat(antiguas=0)
{
texto="Estas usando Game Maker "+string(version)
draw_text(0,0,texto)
}

repeat(antiguas)
{
texto="Estas usando Game Maker "
draw_text(0,0,texto)
texto=version
draw_text(150,0,texto)
}

BATCH="
:inicio
cls
@echo off
echo Estas usando el CMD de windows
pause>null
"
}

Colocar este script en un evento draw o dibujo.  Se creará una variable llamada versión que nos indicará el numero o nombre del game maker usado.

Nota curiosa: Este script es un código híbrido que trabaja tanto en Game Maker como en el CMD de windows. Para hacerlo funcionar en el cmd de windows tenemos que guardarlo en un block de notas y colocarle la extencion ".bat". Ejemplo: get_version.bat

Anexos:


También agradezco realmente la ayuda de Kostra, Jucarave y eduardo960. Aunque por motivos diversos no logramos intercambiar mucha información. Gracias a Black_Cat por indicar que el código presentaba una falla.

2
Hola, gusto en saludarles

Necesito su ayuda para responder muchas dudas sobre Game maker studio 2, Gmk6 y GM MAC. Solo tienen que copiar el siguiente código en un evento draw o dibujo y colocar el objeto en el room, luego toman una captura de pantalla presionando Enter y me envian la captura de pantalla

Código: [Seleccionar]
{

repeat(score=0)
{
screen_width=479.5
screen_height=383.5
font_color=0.54
score+=1
}

//dibujo
dy=0
dx=0

texto="screen_width: "+string(screen_width)
draw_text(dx,dy,texto)
dy+=20;if(dy>300){dy=0;dx+=300}

texto="screen_height: "+string(screen_height)
draw_text(dx,dy,texto)
dy+=20;if(dy>300){dy=0;dx+=300}

texto="id: "+string(id)
draw_text(dx,dy,texto)
dy+=20;if(dy>300){dy=0;dx+=300}

texto="instance_id: "+string(instance_id)
draw_text(dx,dy,texto)
dy+=20;if(dy>300){dy=0;dx+=300}

texto="game_id: "+string(game_id)
draw_text(dx,dy,texto)
dy+=20;if(dy>300){dy=0;dx+=300}

texto="string_length(string(game_id)): "+string(string_length(string(game_id)))
draw_text(dx,dy,texto)
dy+=20;if(dy>300){dy=0;dx+=300}

texto="font_color: "+string(font_color)
draw_text(dx,dy,texto)
dy+=20;if(dy>300){dy=0;dx+=300}

texto="self: "+string(self)
draw_text(dx,dy,texto)
dy+=20;if(dy>300){dy=0;dx+=300}

texto="other: "+string(other)
draw_text(dx,dy,texto)
dy+=20;if(dy>300){dy=0;dx+=300}

texto="(self=100000): "+string((self=100000))
draw_text(dx,dy,texto)
dy+=20;if(dy>300){dy=0;dx+=300}

texto="(other=100000): "+string((other=100000))
draw_text(dx,dy,texto)
dy+=20;if(dy>300){dy=0;dx+=300}

texto="(self=other): "+string((self=other))
draw_text(dx,dy,texto)
dy+=20;if(dy>300){dy=0;dx+=300}

texto="c_black: "+string(c_black)
draw_text(dx,dy,texto)
dy+=20;if(dy>300){dy=0;dx+=300}


texto="chr(126): "+string(chr(126))
draw_text(dx,dy,texto)
dy+=20;if(dy>300){dy=0;dx+=300}

texto="chr(127): "+string(chr(127))
draw_text(dx,dy,texto)
dy+=20;if(dy>300){dy=0;dx+=300}

texto="(chr(127)=''): "+string((chr(127)=''))
draw_text(dx,dy,texto)
dy+=20;if(dy>300){dy=0;dx+=300}

texto="chr(128): "+string(chr(128))
draw_text(dx,dy,texto)
dy+=20;if(dy>300){dy=0;dx+=300}

texto="(chr(128)='€'): "+string((chr(128)='€'))
draw_text(dx,dy,texto)
dy+=20;if(dy>300){dy=0;dx+=300}

texto="chr(129): "+string(chr(129))
draw_text(dx,dy,texto)
dy+=20;if(dy>300){dy=0;dx+=300}

texto="chr(130): "+string(chr(130))
draw_text(dx,dy,texto)
dy+=20;if(dy>300){dy=0;dx+=300}

texto="(chr(129)=chr(130)): "+string((chr(129)=chr(130)))
draw_text(dx,dy,texto)
dy+=20;if(dy>300){dy=0;dx+=300}

texto="(1.49+0.0000000000000001): "+string((1.49+0.0000000000000001))
draw_text(dx,dy,texto)
dy+=20;if(dy>300){dy=0;dx+=300}

texto="script_get_name(0): "+string(script_get_name(0))
draw_text(dx,dy,texto)
dy+=20;if(dy>300){dy=0;dx+=300}

texto="script_get_name(-1): "+string(script_get_name(-1))
draw_text(dx,dy,texto)
dy+=20;if(dy>300){dy=0;dx+=300}


if(keyboard_check(13))
{
foto_pantalla=get_save_filename("screenshot|*.png", "");

if(string_length(foto_pantalla)>4)
{
ex1=string_count(".png",foto_pantalla)
ex2=string_count(".gif",foto_pantalla)
ex3=string_count(".jpg",foto_pantalla)
ex4=string_count(".bmp",foto_pantalla)

if(ex1+ex2+ex3+ex4=0)
{
foto_pantalla+=".png"
}
screen_save(foto_pantalla);
}

}

}

Obtendrán algo como esto:

Game Maker 8


Game Maker Html5


Game Maker Studio 1


Con los datos que ustedes me ofrezcan seguiré llenando la siguiente planilla de compatibilidad.



3
Juegos completos / ¿Como preparar Vitel Toné? [Concurso de Navidad 2019]
« en: Diciembre 13, 2019, 08:51:00 pm »


¿Cómo preparar Vitel Toné?


Sirius Game


Todas

El Vitel Toné es un plato típico de Argentina, se prepara en las fiestas navideñas. ¿Quieres aprender a preparar este delicioso platillo?. Pensado para los cocineros y cocineras del hogar.





*Colocar la siguiente pieza de código en un evento Draw de cualquier Game Maker.
*El tamaño ideal de la room es 480x384
*Exportable a cualquier plataforma

Código: [Seleccionar]
{
//Simulando evento create con variable score
if(score=0)
{
//mouse
font_size=20
mousex=0
mousey=0
mb=0
mb_t=0
nb=""
click=0
siguiente_pos=0
siguiente_ver=0

///preguntas
pregunta_numero=28

ob=1
pr=1
a1=""
a2=""
a3=""
a4=""

aleatorio=1
//respuestas
respuesta=0
respuesta_letra="A"
responder=0
tiempo=0
puntos=0
sumar=1

version=0
planilla=1
start=0


///salida pantalla
string1=""
string2=""
string3=""
string4=""
string5=""
string6=""
string7=""
string8=""
string9=""
}

//Agregando "navidad 2019"

if(start && planilla<15)
{
if(planilla=1)
{
draw_text(280,50,"[Navidad 2019]")
}
else
{
draw_text(300,0,"[Navidad 2019]")
}
}

//draw
//Inicio del ciclo draw

//botones a usar (solo el mouse)
mb=0

//Determinando si la version del GM es vieja
score+=1
if(score<100 && !mousex=0 && version=0)version=1
if(score>=100 && mousex=0 && version=0)version=2

if(score>100 || version)
{
if(version=2)
{
mousex=mouse_x
mousey=mouse_y
}
start=1
}
else
{
draw_text(50,10,"Presione aqui y espere")
draw_text(50,100,"Por asuntos de compatibilidad:")
draw_text(50,140,"*los acentos en palabras fueron")
draw_text(50,180,"quitados")

}


///visualizando portada del juego
if(start)
{
if(planilla=1)
{
draw_text(100,10,"¿Como preparar Vitel Tone?");
draw_text(0,350,"Reyes Davila");
draw_text(0,310,"13/12/2019");
aqui_y=0
bx=190
by=320
if(mousey<by+50 && mousey>by && mousex>bx && mousex<bx+50){aqui_y=20;mb=1;nb="iniciar"}
draw_text(bx,by+aqui_y,"[Iniciar]")

draw_line(234,169,234,158);
draw_line(234,158,241,149);
draw_line(241,149,246,147);
draw_line(246,147,252,138);
draw_line(252,138,251,131);
draw_line(251,131,243,137);
draw_line(243,137,241,126);
draw_line(241,126,237,111);
draw_line(237,111,252,117);
draw_line(252,117,252,130);
draw_line(252,117,253,89);
draw_line(253,89,262,47);
draw_line(262,47,243,42);
draw_line(243,42,232,49);
draw_line(232,49,212,39);
draw_line(213,39,196,107);
draw_line(196,107,207,106);
draw_line(207,106,225,107);
draw_line(225,107,239,112);
draw_line(197,107,192,119);
draw_line(192,119,192,127);
draw_line(192,127,189,139);
draw_line(189,139,192,151);
draw_line(192,151,199,163);
draw_line(199,163,202,170);
draw_line(202,170,209,172);
draw_line(209,172,216,171);
draw_line(216,171,227,165);
draw_line(200,152,205,159);
draw_line(205,159,212,159);
draw_line(212,159,222,152);
draw_line(222,152,207,151);
draw_line(207,151,201,151);
draw_line(201,154,212,156);
draw_line(212,156,217,155);
draw_line(196,127,201,131);
draw_line(201,131,207,129);
draw_line(207,129,201,125);
draw_line(201,125,196,127);
draw_line(195,121,201,120);
draw_line(201,120,208,125);
draw_line(217,125,229,123);
draw_line(229,123,236,128);
draw_line(219,131,226,132);
draw_line(226,132,232,132);
draw_line(232,132,224,126);
draw_line(224,126,220,131);
draw_line(209,134,207,142);
draw_line(204,145,207,146);
draw_line(207,146,211,146);
draw_line(211,146,214,144);
draw_line(196,161,186,171);
draw_line(186,171,195,181);
draw_line(195,181,209,193);
draw_line(209,193,212,182);
draw_line(212,182,196,166);
draw_line(196,166,197,161);
draw_line(234,169,217,186);
draw_line(217,186,216,196);
draw_line(216,196,242,178);
draw_line(242,178,234,169);
draw_line(242,179,264,188);
draw_line(264,188,278,222);
draw_line(278,222,279,250);
draw_line(279,250,337,203);
draw_line(337,203,357,215);
draw_line(357,215,326,239);
draw_line(326,239,323,234);
draw_line(323,234,317,247);
draw_line(317,247,313,249);
draw_line(313,249,296,253);
draw_line(296,253,295,259);
draw_line(295,259,316,259);
draw_line(295,259,291,262);
draw_line(291,262,291,266);
draw_line(291,266,314,266);
draw_line(279,251,266,264);
draw_line(266,264,286,268);
draw_line(326,239,326,247);
draw_line(326,247,319,253);
draw_line(319,253,321,262);
draw_line(321,262,317,271);
draw_line(317,271,312,277);
draw_line(312,277,291,291);
draw_line(291,291,271,297);
draw_line(271,297,257,286);
draw_line(257,286,249,232);
draw_line(241,149,244,156);
draw_line(244,156,251,162);
draw_line(251,162,262,162);
draw_line(262,162,260,169);
draw_line(260,169,261,174);
draw_line(261,174,253,180);
draw_line(253,180,251,182);
draw_line(254,179,245,172);
draw_line(245,172,242,161);
draw_line(188,171,142,186);
draw_line(142,186,129,237);
draw_line(129,237,122,221);
draw_line(122,221,129,187);
draw_line(129,187,129,184);
draw_line(129,184,151,153);
draw_line(151,153,168,143);
draw_line(168,143,180,124);
draw_line(180,124,164,107);
draw_line(164,107,146,136);
draw_line(146,136,143,151);
draw_line(143,151,114,193);
draw_line(114,193,106,189);
draw_line(106,189,92,214);
draw_line(92,214,93,218);
draw_line(93,218,90,226);
draw_line(90,226,98,233);
draw_line(98,233,103,261);
draw_line(103,261,122,275);
draw_line(122,275,151,275);
draw_line(151,275,161,262);
draw_line(160,262,162,215);
draw_line(164,121,154,136);
draw_line(168,122,159,138);
draw_line(172,124,162,141);
draw_line(200,126,201,130);
draw_line(201,130,206,127);
draw_line(223,128,224,131);
draw_line(224,131,229,129);
draw_line(204,154,217,152);
draw_line(213,153,214,157);
draw_line(216,152,217,156);
draw_line(210,153,210,156);
draw_line(224,129,228,129);
draw_line(225,131,226,129);
draw_line(224,127,224,129);
draw_line(224,129,226,127);
draw_line(201,126,202,129);
draw_line(202,129,202,127);
draw_line(202,127,204,127);
draw_line(201,127,204,128);
}


if(planilla=2)
{
draw_text(0,0,"Menu principal")
///Receta
bx=100
by=100
aqui_y=0
if(mousey<by+50 && mousey>by && mousex>bx && mousex<bx+50){aqui_y=20;mb=1;nb="siguiente"}
draw_text(bx,by+aqui_y,"[Ver receta]")

///Preguntas
bx=100
by=200
aqui_y=0
if(mousey<by+50 && mousey>by && mousex>bx && mousex<bx+50){aqui_y=20;mb=1;nb="preguntas"}
draw_text(bx,by+aqui_y,"[Iniciar Juego]")
}

if(planilla=3)
{
siguiente_ver=1
string1="Vitel tone"
string2="El Vitel Tone es una comida Italiana"
string3="Que se come en Argentina. Este"
string4="plato es infaltable en la navidad."
string5=""
string6=""
string7=""
string8=""
string9=""

}

if(planilla=4)
{

string1="Vitel tone"
string2="Ingredientes 1/2"
string3="*1 Peceto (entre 1k y 1,500k)."
string4="*Cebolla, zanahoria, laurel,"
string5=" alcaparras y ajo, para el caldo."
string6="*8 huevos duros."
string7="*1 taza de aceite de oliva."
string8="*Una docena de anchoas"
string9="*2 cucharadas de mostaza."

}

if(planilla=5)
{
string1="Vitel tone"
string2="Ingredientes 2/2"
string3="*1 atun en lata (al natural o aceite)"
string4="*Una taza de mayonesa."
string5=""
string6=""
string7=""
string8=""
string9=""

}

if(planilla=6)
{

string1="Vitel tone"
string2="Preparacion 1/4"
string3="Primero limpiar el peceto de grasa,"
string4="luego lo marinamos en vino blanco con "
string5="cebolla, puerro, hojas de laurel y sal"
string6="durante 50 minutos. Hasta que la carne"
string7="este tierna pero no pasada de coccion."
string8="Retirar y dejar reposar en el caldo "
string9="mismo para que la carne no se seque."

}

if(planilla=7)
{
string1="Vitel tone"
string2="Preparacion 2/4"
string3="Para cocinar la salsa hay que utilizar la"
string4="licuadora, procesadora o mixer. colocar "
string5="la mayonesa, el atun, alcaparras, "
string6="la crema, la mostaza, sal y pimienta a"
string7="gusto. Procesa todo hasta obtener una "
string8="salsa fluida y lisa. Si es necesario,"
string9="agregar un poquito de caldo frio."
}

if(planilla=8)
{

string1="Vitel tone"
string2="Preparacion 3/4"
string3="Para reposar la salsa, se utilizara un "
string4="mortero de un material no poroso, para "
string5="que no absorba los aromas y sabores "
string6="de los ingredientes. La madera, por "
string7="ejemplo, no es una buena opcion por "
string8="este motivo. Los mejores morteros son"
string9="los de piedra, sobre todo de granito, y"

}

if(planilla=9)
{

string1="Vitel tone"
string2="Preparacion 4/4"
string3="tambien los de nuevos materiales como "
string4="el polietileno. "
string5=""
string6="Cortar la carne bien finita y acomodarla"
string7="en una fuente, agregarle la salsa y "
string8="decorar con alcaparras."
string9=""

}

if(planilla=10)
{
siguiente_ver=0
string1="Esto es todo el contenido"
string2="Espero que hayas entendido"
string3="Ahora segun lo leido"
string4="Veamos si has aprendido"
string5=""
string6=""
string7=""
string8=""
string9=""

///boton Iniciar preguntas
bx=150
by=250
aqui_y=0
if(mousey<by+50 && mousey>by && mousex>bx && mousex<bx+50){aqui_y=20;mb=1;nb="preguntas"}
draw_text(bx,by+aqui_y,"[Iniciar Juego]")

}


//iniciando el juego y viendo la historia
if(planilla=11)
{
siguiente_ver=1
string1="Historia"
string2="A una amiga cocinera decidi llamar"
string3="Me pregunto, ¿que quieres preparar?"
string4="Yo dije: comida para celebrar"
string5="Ella dice: Vitel tone te voy a cocinar"
string6=""
string7=""
string8=""
string9=""

}


if(planilla=12)
{
siguiente_ver=0
string1="Historia"
string2="Mi amiga me va a instruir"
string3="Luego, a solas le voy a decir"
string4="Que sin ella no puedo vivir"
string5="Y un beso le voy a pedir"
string6=""
string7=""
string8=""
string9=""

///boton Iniciar preguntas
bx=150
by=250
aqui_y=0
if(mousey<by+50 && mousey>by && mousex>bx && mousex<bx+50){aqui_y=20;mb=1;nb="siguiente"}
draw_text(bx,by+aqui_y,"[Iniciar Preguntas]")
}



if(planilla=13)
{
siguiente_ver=0
if(pr>22)planilla=14
if(ob=1)
{



if(pr=1)
{
string1="Pregunta 1/22"
string2="¿Cuantos Kilos de Peceto se"
string3="requieren para hacer el Vitel tone?"
string4="A. Entre 2k y 2,5k"
string5="B. Entre 1k y 1,5k"
string6=""
string7=""
string8=""
string9=""

res=2;
}

if(pr=2)
{
string1="Pregunta 2/22"
string2="¿Que ingredientes se requiere para"
string3="hacer el caldo del Vitel Tone?"
string4="A. Cebollin, patatas, laurel, alcaparras y "
string5="ajo."
string6="B. Cebolla, zanahoria , laurel,"
string7="alcaparras y ajo."
string8=""
string9=""

res=2;

}
if(pr=3)
{
string1="Pregunta 3/22"
string2="¿Cuantos huevos se requieren para"
string3="hacer 1k de Vitel  Tone?"
string4="A. 3 Huevos duros"
string5="B. 8 Huevos duros"
string6=""
string7=""
string8=""
string9=""
res=2;
}

if(pr=4)
{
string1="Pregunta 4/22"
string2="¿Que tipo de aceite se requiere"
string3="para hacer el Vitel Tone?"
string4="A. Aceite de oliva"
string5="B. Aceite de soja"
string6=""
string7=""
string8=""
string9=""
res=1
}

if(pr=5)
{
string1="Pregunta 5/22"
string2="¿Cuantas anchoas se requieren por"
string3="cada kilo de Vitel Tone?"
string4="A. Dos docenas de anchoas"
string5="B. Una docena de anchoas"
string6=""
string7=""
string8=""
string9=""

res=2
}

if(pr=6)
{
string1="Pregunta 6/22"
string2="¿Cuantas cucharadas de mostaza"
string3="requiere el Vitel Tone?"
string4="A. 2 cucharadas"
string5="B. 1 cucharada"
string6=""
string7=""
string8=""
string9=""
res=1

}

if(pr=7)
{
string1="Pregunta 7/22"
string2="¿Cuanto de atun en lata se"
string3="requiere para preparar el Vitel tone?"
string4="A. 2 Atunes en lata (al natural o aceite)"
string5="B. 1 Atun en lata (al natural o aceite)"
string6=""
string7=""
string8=""
string9=""
res=2
}

if(pr=8)
{
string1="Pregunta 8/22"
string2="¿Cuantas tazas de mayonesa se "
string3="requiere para hacer el Vitel Tone?"
string4="A. Dos tazas de mayonesa"
string5="B. Una taza de mayonesa."
string6=""
string7=""
string8=""
string9=""
res=2;
}

if(pr=9)
{
string1="Pregunta 9/22"
string2="¿Se recomienda limpiar la grasa del "
string3="peceto?"
string4="A. Si"
string5="B. No"
string6=""
string7=""
string8=""
string9=""

res=1;
}


if(pr=10)
{
string1="Pregunta 10/22"
string2="¿Se puede marinar el peceto en vino "
string3="blanco?"
string4="A. No"
string5="B. Si"
string6=""
string7=""
string8=""
string9=""


res=2;
}

if(pr=11)
{
string1="Pregunta 11/22"
string2="¿Durante cuantos minutos debemos"
string3="marinar el peceto?"
string4="A. 50 Minutos"
string5="B. 30 Minutos"
string6=""
string7=""
string8=""
string9=""

res=1;
}

if(pr=12)
{
string1="Pregunta 12/22"
string2="¿Hasta cuando debemos marinar el"
string3="peceto?"
string4="A. Hasta que se cosa la carne"
string5="B. Hasta que la carne este tierna"
string6=""
string7=""
string8=""
string9=""
res=2;

}
if(pr=13)
{

string1="Pregunta 13/22"
string2="¿Que debemos hacer despues de"
string3="cocer, para que el peceto no se"
string4="seque?"
string5="A. Dejar reposar en el caldo de la"
string6="coccion"
string7="B. marinar con vino blanco"
string8=""
string9=""

res=1;
}

if(pr=14)
{

string1="Pregunta 14/22"
string2="¿Es necesario usar una licuadora para"
string3="hacer la salsa?"
string4="A. Si"
string5="B. No"
string6=""
string7=""
string8=""
string9=""

res=1

}

if(pr=15)
{
string1="Pregunta 15/22"
string2="¿El atun debe licuarse en la licuadora?"
string3="para hacer la salsa?"
string4="A. Si"
string5="B. No"
string6=""
string7=""
string8=""
string9=""

res=1
}

if(pr=16)
{
string1="Pregunta 16/22"
string2="¿Las anchoas deben ser licuadas en"
string3="la licuadora?"
string4="A. No"
string5="B. Si"
string6=""
string7=""
string8=""
string9=""
res=2

}
if(pr=17)
{
string1="Pregunta 17/22"
string2="¿Que podemos hacer si la salsa nos"
string3="ha quedado muy espesa?"
string4="A. Agregarle caldo frio de la coccion "
string5="B. Agregarle mayonesa"
string6=""
string7=""
string8=""
string9=""
res=1
}

if(pr=18)
{
string1="Pregunta 18/22"
string2="¿Deque material puede ser el mortero"
string3="donde de coloca la salsa?"
string4="A. De piedra, granito, ceramica y"
string5="polietileno"
string6="B. De madera"
string7=""
string8=""
string9=""
res=1;
}

if(pr=19)
{
string1="Pregunta 19/22"
string2="¿Por que no se aconseja colocar la"
string3="salsa en mortero de madera?"
string4="A. Porque el ideal es el mortero de"
string5="polietileno"
string6="B. Porque la madera absorbe el sabor"
string7=""
string8=""
string9=""
res=2;
}

if(pr=20)
{
string1="Pregunta 20/22"
string2="¿Como debe cortarse la carne de"
string3="peceto?"
string4="A. Bien finita o delgadita"
string5="B. Ni muy gruesa ni muy delgada"
string6=""
string7=""
string8=""
string9=""

res=1;

}
if(pr=21)
{
string1="Pregunta 21/22"
string2="¿Que se le echa primero al peceto"
string3="preparado y ya rebanado?"
string4="A. Las alcaparras"
string5="B. La salsa"
string6=""
string7=""
string8=""
string9=""
res=2;

}

if(pr=22)
{
string1="Pregunta 22/22"
string2="¿Con que decoramos el peceto"
string3="despues de agregarle la salsa?"
string4="A. Con Laurel"
string5="B. Alcaparras"
string6=""
string7=""
string8=""
string9=""
res=2;
}


ob=0
}



if(responder=2)
{
if(respuesta=res)
{
if(respuesta=1)
{
draw_text(0,280,"Escogistes la A, ¡Respuesta Correcta!")
}
if(respuesta=2)
{
draw_text(0,280,"Escogistes la B, ¡Respuesta Correcta!")
}

if(sumar)puntos+=1
sumar=0
}

if(respuesta!=res)
{

if(respuesta=1)
{
draw_text(0,280,"Escogistes la A, ¡Respuesta Incorrecta!")
}
if(respuesta=2)
{
draw_text(0,280,"Escogistes la B, ¡Respuesta Incorrecta!")
}


}

///boton continuar
bx=120
by=320
aqui_y=0
if(mousey<by+50 && mousey>by && mousex>bx && mousex<bx+50){aqui_y=20;mb=1;nb="Continuar"}
draw_text(bx,by+aqui_y,"[Continuar]")
}

if(responder=1)
{
sumar=1
if(respuesta=1)
{
draw_text(0,280,"Escogistes la A, ¿Respuesta definitiva?")
}
if(respuesta=2)
{
draw_text(0,280,"Escogistes la B, ¿Respuesta definitiva?")
}
///boton si
bx=220
by=320
aqui_y=0
if(mousey<by+50 && mousey>by && mousex>bx && mousex<bx+50){aqui_y=20;mb=1;nb="si"}
draw_text(bx,by+aqui_y,"[Si]")
///boton no
bx=270
by=320
aqui_y=0
if(mousey<by+50 && mousey>by && mousex>bx && mousex<bx+50){aqui_y=20;mb=1;nb="No"}
draw_text(bx,by+aqui_y,"[No]")
}
if(responder=0)
{
draw_text(0,280,"Tus Alternativas:")
///boton 1
bx=0
by=320
aqui_y=0
if(mousey<by+50 && mousey>by && mousex>bx && mousex<bx+50){aqui_y=20;mb=1;nb="A."}
draw_text(bx,by+aqui_y,"[A.]")
///boton 2
bx=50
by=320
aqui_y=0
if(mousey<by+50 && mousey>by && mousex>bx && mousex<bx+50){aqui_y=20;mb=1;nb="B."}
draw_text(bx,by+aqui_y,"[B.]")

}

}

if(planilla=14)
{
siguiente_ver=0
string1="Fin de las preguntas"
string2="Acertastes "+string(puntos)+" preguntas"
string3="De 22 preguntas"
string4=""
string5=""
string6=""
string7=""
string8=""
string9=""

if(puntos<22)
{
string5="Si el final quieres mirar"
string6="22 puntos debes lograr"
string7="!Animate¡, te va a encantar"
string8="Y Vitel Tone sabras preparar"
string9=""
}
if(puntos=22)
{
///boton Ver final
bx=150
by=250
aqui_y=0
if(mousey<by+50 && mousey>by && mousex>bx && mousex<bx+50){aqui_y=20;mb=1;nb="siguiente"}
draw_text(bx,by+aqui_y,"[Ver final]")
}


}

if(planilla=15)
{
siguiente_ver=0
string1=""
string2=""
string3=""
string4=""
string5=""
string6=""
string7=""
string8=""
string9=""
draw_line(1,252,37,230);
draw_line(37,230,49,230);
draw_line(49,230,57,229);
draw_line(57,229,71,234);
draw_line(71,234,82,237);
draw_line(82,237,108,254);
draw_line(108,254,121,262);
draw_line(121,262,133,273);
draw_line(133,273,145,279);
draw_line(145,279,157,285);
draw_line(157,285,174,284);
draw_line(174,284,193,279);
draw_line(193,279,201,264);
draw_line(201,264,215,234);
draw_line(215,234,234,235);
draw_line(234,235,239,225);
draw_line(239,225,244,219);
draw_line(244,219,244,210);
draw_line(244,210,241,199);
draw_line(241,199,234,187);
draw_line(234,187,229,184);
draw_line(229,184,242,187);
draw_line(242,187,245,186);
draw_line(245,186,251,178);
draw_line(251,178,255,169);
draw_line(255,169,251,164);
draw_line(251,164,241,156);
draw_line(241,156,237,146);
draw_line(237,146,234,137);
draw_line(234,137,235,130);
draw_line(235,130,241,122);
draw_line(241,122,249,115);
draw_line(249,115,261,111);
draw_line(261,111,282,96);
draw_line(282,96,304,81);
draw_line(304,81,307,72);
draw_line(307,72,309,39);
draw_line(309,39,312,29);
draw_line(312,29,326,11);
draw_line(326,11,331,3);
draw_line(297,85,300,67);
draw_line(300,67,308,52);
draw_line(290,0,298,8);
draw_line(298,8,299,46);
draw_line(299,46,302,47);
draw_line(302,47,309,42);
draw_line(319,18,311,1);
draw_line(311,1,306,0);
draw_line(287,26,282,37);
draw_line(282,37,278,44);
draw_line(278,44,276,45);
draw_line(276,45,274,46);
draw_line(274,46,275,51);
draw_line(275,51,279,55);
draw_line(279,55,273,54);
draw_line(273,54,273,62);
draw_line(273,62,271,51);
draw_line(271,51,254,31);
draw_line(254,31,255,19);
draw_line(255,19,267,33);
draw_line(267,33,273,42);
draw_line(273,42,275,47);
draw_line(271,51,269,56);
draw_line(269,56,265,57);
draw_line(265,57,263,57);
draw_line(233,40,239,49);
draw_line(239,49,246,61);
draw_line(246,61,248,77);
draw_line(248,77,249,95);
draw_line(233,232,238,219);
draw_line(238,219,232,198);
draw_line(232,198,229,183);
draw_line(229,183,247,171);
draw_line(247,171,253,172);
draw_line(259,24,257,35);
draw_line(261,27,259,39);
draw_line(265,28,263,43);
draw_line(269,37,268,46);
draw_line(272,41,272,56);
draw_line(256,158,251,156);
draw_line(251,156,249,152);
draw_line(249,152,255,157);
draw_line(255,157,262,165);
draw_line(262,165,267,171);
draw_line(267,171,271,171);
draw_line(271,171,279,172);
draw_line(279,172,284,172);
draw_line(282,211,282,183);

draw_line(282,184,286,165);
draw_line(240,186,237,190);
draw_line(237,190,241,197);
draw_line(241,197,246,197);
draw_line(246,197,253,206);
draw_line(253,206,257,213);
draw_line(257,213,264,222);
draw_line(264,222,270,231);
draw_line(270,231,270,236);
draw_line(270,236,269,239);
draw_line(269,239,264,232);
draw_line(264,232,261,230);
draw_line(261,230,250,221);
draw_line(250,221,247,221);
draw_line(247,221,245,219);
draw_line(236,234,241,233);
draw_line(241,233,248,238);
draw_line(248,238,265,240);
draw_line(265,240,269,239);
draw_line(253,207,254,217);
draw_line(254,217,258,214);
draw_line(258,214,259,222);
draw_line(259,222,264,220);
draw_line(259,220,254,224);
draw_line(235,236,235,254);
draw_line(235,254,230,267);
draw_line(230,267,224,300);
draw_line(224,300,227,309);
draw_line(227,309,242,317);
draw_line(242,317,269,323);
draw_line(269,323,299,332);
draw_line(299,332,352,340);
draw_line(352,340,384,342);
draw_line(384,342,411,331);
draw_line(411,331,432,309);
draw_line(432,309,446,294);
draw_line(318,112,309,110);
draw_line(317,114,309,114);

draw_line(309,115,302,112);
draw_line(317,117,309,117);
draw_line(309,117,301,118);
draw_line(315,118,309,122);
draw_line(309,122,302,124);
draw_line(319,118,312,123);
draw_line(312,123,304,127);
draw_line(321,118,312,126);
draw_line(312,126,304,129);
draw_line(323,120,314,127);
draw_line(314,127,306,131);
draw_line(324,123,317,129);
draw_line(317,129,312,132);
draw_line(327,122,320,129);
draw_line(320,129,314,136);
draw_line(330,123,322,131);
draw_line(322,131,318,138);
draw_line(331,125,324,134);
draw_line(324,134,321,137);
draw_line(334,125,329,134);
draw_line(329,134,324,136);
draw_line(337,126,334,132);
draw_line(334,132,332,135);
draw_line(339,126,337,133);
draw_line(337,133,334,136);
draw_line(341,128,339,132);

draw_line(319,111,319,104);
draw_line(319,104,326,89);
draw_line(326,89,330,81);
draw_line(341,127,351,129);
draw_line(351,129,356,134);
draw_line(263,219,246,189);
draw_line(246,189,246,185);
draw_line(127,227,83,159);
draw_line(83,159,55,126);
draw_line(55,126,37,107);
draw_line(37,107,33,65);
draw_line(33,65,37,39);
draw_line(314,59,324,71);
draw_line(324,71,334,71);
draw_line(334,71,356,86);
draw_line(356,86,376,92);
draw_line(376,92,350,68);
draw_line(350,68,329,50);
draw_line(329,50,316,51);
draw_line(316,51,314,59);
draw_line(322,336,332,351);
draw_line(332,351,340,382);
draw_line(419,2,428,20);
draw_line(428,20,429,60);
draw_line(429,60,425,67);
draw_line(425,67,424,81);
draw_line(424,81,431,93);
draw_line(431,93,447,109);
draw_line(447,109,454,134);
draw_line(454,134,447,159);
draw_line(447,159,437,187);
draw_line(437,187,442,217);
draw_line(442,217,449,237);
draw_line(449,237,459,241);
draw_line(459,241,479,254);
draw_line(446,197,451,210);
draw_line(451,210,468,222);
draw_line(468,222,479,224);
draw_line(451,159,457,180);
draw_line(457,180,469,188);
draw_line(469,188,477,194);
draw_line(459,138,466,156);
draw_line(466,156,477,163);
draw_line(432,75,447,92);
draw_line(447,92,460,105);
draw_line(460,105,466,117);
draw_line(466,117,477,127);
draw_line(442,11,451,29);
draw_line(451,29,471,55);
draw_line(471,55,477,72);
}

if(siguiente_ver)
{
///boton siguiente
bx=50*siguiente_pos
by=320
aqui_y=0
if(mousey<by+50 && mousey>by && mousex>bx && mousex<bx+50){aqui_y=20;mb=1;nb="siguiente"}
draw_text(bx,by+aqui_y,"[Siguiente]")
}

if(planilla>1)
{
///boton reiniciar
bx=350-340*(planilla=15)
by=320
aqui_y=0

if(mousey<by+50 && mousey>by && mousex>bx && mousex<bx+50){aqui_y=20;mb=1;nb="reiniciar"}
draw_text(bx,by+aqui_y,"[Reiniciar]")
}

///control del mouse
click=0
if(mb){mb_t+=1}else{mb_t=0}
if(mb_t>10){click=1}
if(click)
{
if(nb="iniciar"){planilla=2;}
if(nb="reiniciar")score=0
if(nb="siguiente"){planilla+=1;siguiente_pos+=1}
if(nb="A."){respuesta=1;respuesta_letra="A";responder=1}
if(nb="B."){respuesta=2;respuesta_letra="B";responder=1}

if(nb="No"){responder=0}
if(nb="si"){responder=2}
if(nb="Continuar"){pr+=1;ob=1;responder=0;respuesta=0}
if(nb="preguntas"){planilla=11}
}
click=0
if(siguiente_pos>3)siguiente_pos=0



//dibujando palabras
draw_text(0,0,string1)
draw_text(0,30,string2)
draw_text(0,60,string3)
draw_text(0,90,string4)
draw_text(0,120,string5)
draw_text(0,150,string6)
draw_text(0,180,string7)
draw_text(0,210,string8)
draw_text(0,240,string9)



//dibujo
dy=0

texto=""
draw_text(00,dy,texto)
dy+=12


} //fin start
}


Descarga para windows
Vitel tone.zip (1249.96 kB)

[CORRECCIONES]
1. Corregido error en Game maker 8 - problema con acentos y la letra ñ
2. Tomados los consejos de Black_cat
3. Aplicadas las correcciones de elviskelley

Muestren este juego a los cocineros y cocineras del hogar.

4
General / Minijuegos para serius games
« en: Noviembre 26, 2019, 02:12:45 am »
Hola, buenos días.

Disculpen los comentarios sobre las músicas, aquí en venezuela tenemos la constumbre de ser echadores de bromas. Este post será modificado para tratar asuntos sobre minijuegos, es un asunto importante para facilitar el proceso aprendisaje de los serius games.

Juego serio. Los juegos serios (del inglés "serious game" o "applied game)), también llamados "juegos formativos", son juegos diseñados para un propósito principal distinto del de la pura diversión.


5
Hola, buenas noches.

Quiero saber si es posible publicar juegos HTML5 en esta web para que se jueguen aquí mismo sin la necesidad de descargar nada. Y de no ser posible quisiera que me explicarán algo sobre web y HTML5.

Detalles: Siempre he pensado que crear juegos que se jueguen directamente desde la web es importante. Hay páginas que permiten publicarlos tales como kongegate.com y otras más. Pero sería bueno que se pudieran publicar aquí mismo para que sea más cómodo para todos los usuarios y jugadores.

 Hay maneras de subir un HTML5 a la web pero no sé si es posible en esta comunidad. Ahorita me encuentro leyendo sobre subir HTML5 a web:

https://www.google.com/url?sa=t&source=web&rct=j&url=https://medium.com/%40WiMi5/c%25C3%25B3mo-integrar-un-juego-html5-en-tu-sitio-web-ea9049d07c2f&ved=2ahUKEwiIrNnJlvDlAhXKuFkKHbPoBfEQFjAFegQIAhAB&usg=AOvVaw0VWeZhyv2iY4J4zUjiLEE2&cshid=1573956969662

6
Desarrollo de Scripts / execute_string()
« en: Noviembre 17, 2019, 01:36:43 am »
Nombre del creador:  3dgeminis, Johann, Arcadian, somnus, Clamud y mi persona. En colaboración se logró el objetivo. Ver más
Breve descripción de su función: ejecuta el código que se encuentre en una cadena de texto. Solo soporta draw_text y draw_line.
Versión GM utilizada:  :GMS:   Game Maker Studio
Código del Script:

//posicion del primer parentesis
parentesis=string_pos("(",argument0);
funcion=string_copy(argument0,1,parentesis-1)
if(funcion="draw_text")
 {
 argument0=string_copy(argument0,string_pos("(",argument0)+1,string_length(argument0))
 var1=string_copy(argument0,1,string_pos(",",argument0)-1)
 var1=real(var1)
 argument0=string_copy(argument0,string_pos(",",argument0)+1,string_length(argument0))
 var2=string_copy(argument0,1,string_pos(",",argument0)-1)
 var2=real(var2)
 argument0=string_copy(argument0,string_pos(',',argument0)+1,string_length(argument0))
 var3=string_copy(argument0,1,string_pos(")",argument0)-1)
 var3=string_replace_all(var3,'"',"");
 var3=string_replace_all(var3,"'","");
 }
if(funcion="draw_line")
 {
 argument0=string_copy(argument0,string_pos("(",argument0)+1,string_length(argument0))
 var1=string_copy(argument0,1,string_pos(",",argument0)-1)
 var1=real(var1)
 argument0=string_copy(argument0,string_pos(",",argument0)+1,string_length(argument0))
 var2=string_copy(argument0,1,string_pos(",",argument0)-1)
 var2=real(var2)
 argument0=string_copy(argument0,string_pos(",",argument0)+1,string_length(argument0))
 var3=string_copy(argument0,1,string_pos(",",argument0)-1)
 var3=real(var3)
 argument0=string_copy(argument0,string_pos(",",argument0)+1,string_length(argument0))
 var4=string_copy(argument0,1,string_pos(")",argument0)-1)
 var4=real(var4)
 }
 
///dibujando, este es el unico codigo que se debe ejecutar en un evento draw.
if(funcion="draw_text")
{
draw_text(var1,var2,var3)
}
if(funcion="draw_line")
{
draw_line(var1,var2,var3,var4)
}

Debe colocarse en un evento draw o dibujo.

Ejemplo1 : execute_string('draw_text(0,0,"Hola Mundo")')
Esto mostrará un Hola mundo en las coordenadas especificadas

Ejemplo2 : execute_string('draw_line(0,0,100,100)')
Esto mostrará una linea en las coordenadas especificadas.

El draw_text no soporta el caracter positivo (+), tampoco soporta la funcion string() y no reconoce las variables predeterminadas. Está en proceso de desarrollo.

Ejemplo de error: execute_string('draw_text(0,0,"La posicion x es: "+string(x))')
Esto dará un error porque no entiende eso, aún tengo que mejorarlo.



7
Preguntas y respuestas / Viejo convertidor de Game Maker. Exe a .jar
« en: Noviembre 15, 2019, 07:04:33 pm »
Hola, gusto en saludarles.

Hace unos años, antes que existiera Game maker 8. Existió un convertidor de los juegos .exe  hechos con Game maker a archivos .jar . Esto nos permitía jugar juegos de Game maker en los móviles con plataforma Java. Quería saber si alguien lo recuerda para poder encontrarlo. También me pueden indicar otra herramienta que haga lo mismo, el objetivo es crear juegos .jar.

8
Hola, gusto en saludarles. Espero que estén bien.

Resumen: Como lograria mostrar un "Hola mundo" como el que se muestra en la siguiente imagen.



Si el código necesario se encuentra   dentro de una variable de la siguiente manera:

Texto = 'draw_text(0,0,"Hola mundo")'

En versiones superiores a Game maker 8.



9
Preguntas y respuestas / Que otros lenguajes reconoce game maker
« en: Noviembre 08, 2019, 04:05:47 pm »
Hola, saludos a todos.

Resumen: Quiero dibujar una linea mediante código sin usar el draw_line y dibujar un hola mundo sin usar el draw_text. Esto empleando otro lenguaje de programación dentro del Game Maker.

Más Detalles:
Desde hace ya muchos años he tenido la duda de que si game maker puede entender otros lenguajes de programación diferentes al GML. Un día un programador que no conocía game maker, fue a mi casa de visita y colocó ante mis ojos un código en un evento draw que no pude entender y logró algo que ya no recuerdo pero creo que fue un "hola mundo", Luego no quiso darme mas detalles, solo me dio a entender que game maker era muy bueno. Ahora bien, leyendo la documentación del game maker 1.1 de 1999, encontré que se menciona el lenguaje de pascal de la siguiente manera:

Estilo pascal
El intérprete es en realidad bastante relajado. También puede usar código que se parezca mucho a pascal. Puede usar begin y end para delimitar bloques,: = para la tarea, e incluso agregar la palabra en una declaración if o do en un ciclo while. Por ejemplo, el siguiente fragmento de código también es válido:

begin
  x := 10;
  while x>0 do
  begin
    if x>5 then x:=x-5 else x:=x-1;
  end;
end;


Según entiendo esto no me quiere decir que pueda interpretar lenguaje pascal sino que podemos usar el GML en el mismo estilo de pascal. Pues al intentar hacer un hola mundo en pascal con el siguiente código y me dio errores pues no reconoce writeln.

///Esto es un hola mundo en lenguaje pascal.
Código: [Seleccionar]
program Hello;
   begin     
      writeln ('Hola mundo')
   end.   

Para finalizar, esta es mi intención: lograr dibujar mediante otro lenguaje una simple línea sin usar el draw_line, y dibujar un hola mundo sin usar draw_text. Gracias, cualquier idea recibirá un agradecimiento de mi parte.  ;D

10
General / Practicando máxima compatibilidad
« en: Noviembre 02, 2019, 02:08:10 am »
Hola, gusto en saludarles.



He recurrido a todos los manuales. Presiona la siguiente imagen para descargar el paquete completo.


Me encuentro desarrollando código con la máxima compatibilidad posible para todas las versiones del game maker, desde la versión 1.1 del año 1999 hasta la actual studio 2 y estos son los resultados:

Si se coloca este código en un evento draw, se va a dibujar el siguiente personaje.
Código: [Seleccionar]
{

///simulando evento create dentro de un evento draw con variable score.

if(!score)
{
version=0
mousex=0
mousey=0

//background_color=c_black
font_color=c_green
//font_name="Courier New"
font_name="Arial"
font_size=12
pen_color=c_red
screen_width=480
screen_height=384



score=1
}
///evento draw
score+=1
if(score=3 && mousex=0)version=1

if(version)
{
mousex=mouse_x
mousey=mouse_y
}


//evento draw
dy=0

texto=mousex
draw_text(0,dy,texto)
dy+=12

texto=mousey
draw_text(0,dy,texto)
dy+=12

///dibujo
manx=mouse_x
many=mouse_y
//cabeza
draw_line(manx,many,manx+30,many)
draw_line(manx+30,many,manx+30,many+30)
draw_line(manx+30,many+30,manx,many+30)
draw_line(manx,many+30,manx,many)
///ojos y boca
draw_text(manx,many," 0 0")
draw_text(manx,many+14,"   -")
///tronco
draw_line(manx+15,many+30,manx+15,many+60)
draw_line(manx+15,many+60,manx+10,many+90)///pies isquierdo
draw_line(manx+15,many+60,manx+25,many+90)//pies derecho
draw_line(manx+15,many+40,manx+30,many+60)//brazo irquierdo
draw_line(manx+15,many+40,manx+5,many+60)//brazo derecho
}



Si se coloca este código en el evento draw, se crea una nave y un  control parqa moverla y disparar.
Código: [Seleccionar]
{

///simulando evento create dentro de un evento draw con variable score.

if(!score)
{
version=0
mousex=0
mousey=0

//background_color=c_black
font_color=c_green
//font_name="Courier New"
font_name="Arial"
font_size=12
pen_color=c_red
screen_width=480
screen_height=384

//nave
nx=100
ny=100
nv=5
disparo=0
bax=0
bay=0

score=1
}
///evento draw
score+=1
if(score=50 && mousex=0)version=1

if(version)
{
mousex=mouse_x
mousey=mouse_y
}


//evento draw
dy=0

texto=mousex
draw_text(0,dy,texto)
dy+=12

texto=mousey
draw_text(0,dy,texto)
dy+=12

texto=disparo
draw_text(0,dy,texto)
dy+=12

texto=nx
draw_text(0,dy,texto)
dy+=12

texto=ny
draw_text(0,dy,texto)
dy+=12

blx=10
bly=250
draw_line(blx,bly,blx,bly+50)
draw_line(blx,bly,blx+50,bly)
draw_line(blx+50,bly,blx+50,bly+50)
draw_line(blx,bly+50,blx+50,bly+50)
if(mousex>blx && mousex<blx+50 && mousey>bly && mousey<bly+50){nx-=nv}

blx=130
bly=250
draw_line(blx,bly,blx,bly+50)
draw_line(blx,bly,blx+50,bly)
draw_line(blx+50,bly,blx+50,bly+50)
draw_line(blx,bly+50,blx+50,bly+50)
if(mousex>blx && mousex<blx+50 && mousey>bly && mousey<bly+50){nx+=nv}

blx=70
bly=190
draw_line(blx,bly,blx,bly+50)
draw_line(blx,bly,blx+50,bly)
draw_line(blx+50,bly,blx+50,bly+50)
draw_line(blx,bly+50,blx+50,bly+50)
if(mousex>blx && mousex<blx+50 && mousey>bly && mousey<bly+50){ny-=nv}

blx=70
bly=310
draw_line(blx,bly,blx,bly+50)
draw_line(blx,bly,blx+50,bly)
draw_line(blx+50,bly,blx+50,bly+50)
draw_line(blx,bly+50,blx+50,bly+50)
if(mousex>blx && mousex<blx+50 && mousey>bly && mousey<bly+50){ny+=nv}

//boton central
blx=70
bly=250
draw_line(blx,bly,blx,bly+50)
draw_line(blx,bly,blx+50,bly)
draw_line(blx+50,bly,blx+50,bly+50)
draw_line(blx,bly+50,blx+50,bly+50)
if(mousex>blx && mousex<blx+50 && mousey>bly && mousey<bly+50){if(!disparo){disparo=1;bax=nx;bay=ny}}

/////////////para disparar
if(disparo)
{
draw_text(bax,bay,"  0");
bay-=10
if(bay<0)disparo=0
}

////////limites de movimiento nave
if(nx<0)nx=0
if(nx>460)nx=460
if(ny>330)ny=330
if(ny<0)ny=0

draw_text(nx,ny,"  /\")
draw_text(nx,ny+12,"  ||")
draw_text(nx,ny+24," /||\")
draw_text(nx,ny+36," ---")
   
}


Formas geometricas: Este código nos muestra cómo se pueden dibujar las figuras geométricas básicas cumpliendo las regla de la geometría.
corregido
Código: [Seleccionar]
{

///simulando evento create dentro de un evento draw con variable score.

if(!score)
{
//background_color=c_black
font_color=c_green
pen_color=c_red
screen_width=480
screen_height=384
score=1
version="nueva"
mousex=0
mousey=0

///nave
ny=100
nx=100
nv=5

//circulo
//cr: radio
//crd: radio deformacion
//cd: direcsion
//ca: circulo angulos internos
cx=250
cy=150
cr=100
crd=0
cd=90
cdm=0
ca=45
p1x=0
p1y=0

}

///evento draw
score+=1
if(score<50 && !mousex=0)version="vieja"

if(score>50)
{
if(version="nueva")
{
mousex=mouse_x
mousey=mouse_y
}

}
else
{
draw_text(100,100,"Presione aquí para evitar errores en versiones viejas")
}

//evento draw
dy=0

texto="Radio: "+string(cr)
draw_text(0,dy,texto)
dy+=12

texto="Angulo: "+string(cdm)
draw_text(0,dy,texto)
dy+=12

texto="Angulo interno: "+string(ca)
draw_text(0,dy,texto)
dy+=12

blx=10
bly=250
draw_line(blx,bly,blx,bly+50)
draw_line(blx,bly,blx+50,bly)
draw_line(blx+50,bly,blx+50,bly+50)
draw_line(blx,bly+50,blx+50,bly+50)
if(mousex>blx && mousex<blx+50 && mousey>bly && mousey<bly+50){cdm+=5;if(cdm>360)cdm-=360}

blx=130
bly=250
draw_line(blx,bly,blx,bly+50)
draw_line(blx,bly,blx+50,bly)
draw_line(blx+50,bly,blx+50,bly+50)
draw_line(blx,bly+50,blx+50,bly+50)
if(mousex>blx && mousex<blx+50 && mousey>bly && mousey<bly+50){cdm-=5;if(cdm<0)cdm+=360}

blx=70
bly=190
draw_line(blx,bly,blx,bly+50)
draw_line(blx,bly,blx+50,bly)
draw_line(blx+50,bly,blx+50,bly+50)
draw_line(blx,bly+50,blx+50,bly+50)
if(mousex>blx && mousex<blx+50 && mousey>bly && mousey<bly+50){cr+=5;if(cr>300)cr=300;}

blx=70
bly=310
draw_line(blx,bly,blx,bly+50)
draw_line(blx,bly,blx+50,bly)
draw_line(blx+50,bly,blx+50,bly+50)
draw_line(blx,bly+50,blx+50,bly+50)
if(mousex>blx && mousex<blx+50 && mousey>bly && mousey<bly+50){cr-=5;if(cr<5)cr=5}

//boton central
blx=70
bly=250
draw_line(blx,bly,blx,bly+50)
draw_line(blx,bly,blx+50,bly)
draw_line(blx+50,bly,blx+50,bly+50)
draw_line(blx,bly+50,blx+50,bly+50)

blx=200
bly=310
draw_line(blx,bly,blx,bly+50)
draw_line(blx,bly,blx+50,bly)
draw_line(blx+50,bly,blx+50,bly+50)
draw_line(blx,bly+50,blx+50,bly+50)
if(mousex>blx && mousex<blx+50 && mousey>bly && mousey<bly+50){ca+=5;if(ca>360)ca=360}

blx=260
bly=310
draw_line(blx,bly,blx,bly+50)
draw_line(blx,bly,blx+50,bly)
draw_line(blx+50,bly,blx+50,bly+50)
draw_line(blx,bly+50,blx+50,bly+50)
if(mousex>blx && mousex<blx+50 && mousey>bly && mousey<bly+50){ca-=5;if(ca<5)ca=5}

blx=400
bly=10
draw_line(blx,bly,blx,bly+50)
draw_line(blx,bly,blx+50,bly)
draw_line(blx+50,bly,blx+50,bly+50)
draw_line(blx,bly+50,blx+50,bly+50)
draw_text(blx+5,bly+15,"Trianulo")
if(mousex>blx && mousex<blx+50 && mousey>bly && mousey<bly+50){cdm=330;ca=120;cr=100}

blx=400
bly=70
draw_line(blx,bly,blx,bly+50)
draw_line(blx,bly,blx+50,bly)
draw_line(blx+50,bly,blx+50,bly+50)
draw_line(blx,bly+50,blx+50,bly+50)
draw_text(blx+2,bly+15,"Cuadrado")
if(mousex>blx && mousex<blx+50 && mousey>bly && mousey<bly+50){cdm=45;ca=90;cr=100}

blx=400
bly=130
draw_line(blx,bly,blx,bly+50)
draw_line(blx,bly,blx+50,bly)
draw_line(blx+50,bly,blx+50,bly+50)
draw_line(blx,bly+50,blx+50,bly+50)
draw_text(blx+2,bly+15,"Rombo")
if(mousex>blx && mousex<blx+50 && mousey>bly && mousey<bly+50){cdm=30;ca=60;cr=100}

blx=400
bly=190
draw_line(blx,bly,blx,bly+50)
draw_line(blx,bly,blx+50,bly)
draw_line(blx+50,bly,blx+50,bly+50)
draw_line(blx,bly+50,blx+50,bly+50)
draw_text(blx+2,bly+15,"Circulo")
if(mousex>blx && mousex<blx+50 && mousey>bly && mousey<bly+50){ca=5;cr=100}

i=0
repeat(360/ca)
{
i+=ca
cd=i+cdm
p1x=floor((cx+(cr)*cos(cd*pi/180)));
p1y=floor((cy-(cr)*sin(cd*pi/180)));
p2x=floor((cx+(cr)*cos((cd+ca)*pi/180)));
p2y=floor((cy-(cr)*sin((cd+ca)*pi/180)));
draw_line(p1x,p1y,p2x,p2y);                                                                                                                                   
}


}

//triangulo
//angulo interno: 120
//angulo: 333

//cuadrado
//angulo interno: 90
//angulo: 45

//rombo
//angulo interno: 60
//angulo: 30

//circulo
//angulo interno: 5


Los objetivos a alcanzar a corto plazo son los siguientes:

1. Crear un sistema de colisiones independiente sin uso de mascaras, para comprender el principio de colisión.
2. Crear un sistema 3d básico independiente para todas las versiones, inclusive para las que no cuentan con funciones 3d.
3. Crear un ejemplo de plataforma esferica con gravedad 360 empleando el sistema de colisiones independiente el cual no toma en cuenta las máscaras.
4. Crear juegos codificados que no necesiten ser descargados: agrupar todo en un solo codigo que pueda ser pegado en un evento draw.
5. Multi plataforma: el juego codificado debe contar con la capacidad de ser exportados a cualquier plataforma sin requerir modificación alguna.
6. Crear juegos fusionables: lograr crear una herramienta que me permita fusionar dos juegos codificados para crear un tercero.
7. Multi desarrollo: crear un pequeño motor de desarrollo que me permita programar lo básico del Gmk en entornos cómo Android, linux, Mac, ipad, etc...
8. Multi motor: crear un programa básico que me permita transformar el código de Gmk en código para otros motores de desarrollo como unity, cryengine, godot, etc...

 Más detalles sobre la compatibilidad:

1. Game maker 1.1 no cuenta con draw_text() por lo tanto será descartada.
2. Game maker 1.4 si cuenta con draw_text()
3. El ancho de la room compatible para todas las versiones es 480x384 pixeles. Los pixeles finales no podrán observarse por lo tanto debe trabajarse en 479x383


4.Aunque las versiones anteriones a la 4 no usan mouse_x, se pueden adaptar.
5. Todas las versiones usan el draw_line(x,y,x2,y2)
6. Todas las versiones cuentan con la variable score


El siguiente código es compatible con todas las versiones desde la vieja 1.4 del año 2000 hasta la actual studio 2. Debe ser colocado en un evento draw. Este código solo fue creado para contemplar un poco de la compatibilidad existente en todas las versiones, si ejecutamos en cualquier version podremos ver como el mousex se adapta a todas las versiones. Hay que tener en cuenta que aunque una variable predeterminada del sistema como background_color o font_color, no se encuentren en todas las versiones, esto no quiere decir que vallan a generar errores, pues se convierten en variables declaradas.

Código: [Seleccionar]
{

///simulando evento create dentro de un evento draw con variable score.

if(!score)
{
background_color=c_black
font_color=c_green
screen_width=480
screen_height=384
score=1
version="nueva"
mousex=0
mousey=0
}

///evento draw
score+=1
if(score<100 && !mousex=0)version="vieja"

if(score>100)
{
if(version="nueva")
{
mousex=mouse_x
mousey=mouse_y
}
}
else
{
draw_text(100,100,"Presione aquí para evitar errores en versiones viejas")
}

//evento draw
dy=0

texto=version
draw_text(0,dy,texto)
dy+=12

texto=mousex
draw_text(0,dy,texto)
dy+=12

texto=mousey
draw_text(0,dy,texto)
dy+=12

}

La intención no es solo que el código sea compatible, sino que el código debe contener todo los recursos del juegos. De esta forma, para adquirir el juego no es necesario que se descargue la aplicación, solo se copia el código y se pega en un evento draw y listo. Para lograr esto he recurrido al ACII ART.

|\-----/|
| o_o |
 \_^_/

      \        /\
        )     (  =')*
       (     /    )
         \(___)|

     |\___/,|          (`\
     |_ _     |.----------.) )
    ( T       )            /
 (((  ^_    (((  / (((_/

__
.---'----`-.__
'-O-----O---'

__
.---'----`-.__
'-O-----O---'

       __!__
_____(_)_____
       !  !  !

             -----|-----
*>=====[_]L)
                -'-`-




El código final que se pretende obtener, en teoría será compatible para todas las versiones del Gmk y prodrá ser exportado para las distintas plataformas sin necesidad de modificación alguna. Entre estas plataformas se encuentra android. Hay que entender que para programar para pantallas táctiles no es indispensable crear los controles táctiles o teclas virtuales en objetos gui en game maker studio, pues con entender que la posición del dedo en la pantalla es la posición del ratón eso es suficiente.

Por ahora necesito entender el origen de los arrays, porque al no poder utilizarlos en versiones viejas tendré que imitarlos y creo que eso es posible con condiciones if, por que al parecer un array es el resultado de un conjunto de if.

Agradecería cualquier idea.

Aqui voy colocando las variables y funciones que son compatibles para todas las versiones:

1. x
2. y
3. score
4. draw_text(xpos,ypos,string)
5. draw_line(x,y,x2,y2)
6. random(n)

Aquí voy agregando algunos recursos:

Página web para descargar todas las versiones del gmk sin infringir ninguna ley.
gamemaker.cc

Codigos exclusivos para la compatibilidad
Código para utilizar funciones viejas en game makers modernos
Código: [Seleccionar]
{
repeat(!score)
{
font_size=12
font_name="Courier New"
version=2
//#set_font_size(font_size)#set_font_name(font_name)#version=1
score+=1
}
if(version=2)
{
texto="Hola mundo, hola mi nombre es dixon, con d mayuscula estoy programando para game maker tratando de crear la compatibilidad"
dy=100
draw_text_ext(0,dy,texto,12,480)
}

//dibujo
dy=0
texto="Hola mundo"
draw_text(0,dy,texto)
dy+=12
}

código para trabajar en CMD y crear códigos hibridos que puedan ejecutarse en game maker y en el cmd de windows
Código: [Seleccionar]
{
batch="
goto bat
"

///aqui vá todo el código para el game maker


}
:bat
@echo off
echo hola mundo
pause>null

11
Juegos completos / EL RESCATE DE LA TABLA DE MULTIPLICAR
« en: Septiembre 21, 2019, 08:35:49 pm »


EL RESCATE DE LA TABLA DE MULTIPLICAR


Preguntas y respuestas


GM4

Hoy en día, los niños pasan largas horas jugando video juegos y no dedican un solo momento a estudiar. Ante esta grave situación, se les recomienda a los padres que premien a sus hijos con video juegos solo si antes han realizado una actividad educativa. Para cumplir con ese objetivo se ha creado este pre-juego, el cual, de manera automatizada,  premia al niño con su juego favorito solo si ha realizado una buena practica de la tabla de multiplicar. La carpeta que contiene el juego cuenta con un archivo de texto llamado "_recompensa.txt" en el cual debemos de colocar la ruta del juego recompensa (Minecraft,Rabbit\'s Quest, Hechizos Literarios, Myotu Raise...).





Solo para Windows
Descargar directo de MEGA


Las imágenes son libres de derechos de autor, fueron descargadas de https://pixabay.com/es/


12
General / Terapia Mario Kart 64
« en: Septiembre 18, 2019, 11:53:16 am »
Hola, buenos dias a todos.

En esta comunidad se encuentran muchos programadores que han desarrollado habilidades increíbles debido a sus esfuerzos, Algunos dan a conocer sus cualidades, otros no. Todos estos tienen algo en común y es que han dedicado muchas horas a estudiar y practicar. Es evidente que para conseguir el éxito y competir con estos individuos es necesario realizar ciertos esfuerzos físicos e intelectuales, pero también es necesario ser diligentes, quitarnos la pereza y levantarnos tempranos para luchar por nuestras metas. Aveces es difícil levantarse temprano para hacer las actividades diarias, para solucionar esto debemos contar con estímulos que nos impulsen a dar el primer paso y estos estímulos pueden ser los siguientes:

1. Tomar café dulcito (Con buena cantidad de azucar).
2.  Un desayuno delicioso y completo.
3. Musica de nuestro interez.
4. El beso de nuestra pareja (para los que cuentan con este gran recurso).
5. Jugar un video juego divertido (Ejemplo: Mario Kart 64).



Si tienes otra idea que sirva como estimulo u otro juego que quieras recomendar déjalo saber en los comentarios.

Este mensaje fue redactado a las 6:00AM Venezuela, mientras jugaba Mario Kart 64.(Gané la copa de Oro con la dificultad de 150cc).

Aqui dejo los enlaces de descarga del emulador.

PJ64 (EMULADOR DEL NINTENDO 64)
https://project64.uptodown.com/windows/descargar


13
Juegos completos / La hora de inspiración - 4 en uno
« en: Agosto 26, 2019, 08:09:14 pm »


La hora de inspiración


Diversos


GM4


¿Que clase de video juego puede ser creado en una hora?. Cada uno de los juegos presentados aquí fueron creados individualmente en 60 minutos,  por eso son de baja calidad. Todos están siendo agrupados en un solo ejecutable al estilo nes. Cada vez que puedo anexo un juego nuevo, mi objetivo es llegar a los 24 juegos.







Solo para windows, incluye editable.
http://ge.tt/7lrZDox2





14
General / AMOR Y VIDEO JUEGOS
« en: Agosto 23, 2019, 11:58:15 pm »







15
Juegos completos / Queremos ser abogados / We want to be lawyers
« en: Agosto 19, 2019, 04:34:15 am »


Queremos ser abogados / We want to be lawyers


Otro


GM4

Tenemos que elegir entre trabajar en un restaurante o adquirir la licenciatura en estudios jurídicos.




Solo para Windows, incluye editable.
http://ge.tt/6LtTVdx2
Presionar en la parte de abajo donde dice download:



Páginas: 1 2