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!.

Autor Tema: La carreta precisa  (Leído 975 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado dixon2010

en: Octubre 05, 2018, 11:47:12 pm


La carreta precisa


Plataformas


GM4

Hola, gusto en saludarles.

Les presento este reto informático de precisión donde se controla el ángulo de inclinación de la carreta para lograr que se adapte a las superficies. A algunos usuarios pueden llegar a sentir miedo cuando la carreta está apunto de precipitarse.







Lo puedes ejecutar desde pc, movil, table, etc..sin descargar en el siguiente enlace:
https://www.kongregate.com/games/reyesdavila1987/la-carreta-precisa

ANDROID:
https://mega.nz/#!aroHxIAA!TWtJpnlzkcKOqLKnhEyQ61kvpb5gEKLyP5rrTAkk-7U

WINDOWS:
https://mega.nz/#!X35HEQDD!TX4D32Er9KhN5qjF6cQHBFxZ271gll2DaNfeMoOp6VM


Presenta tres características:
1. Mono codigo: Se programó con un unico codigo para el evento draw de un objeto principal.
2. Compatibilidad El código interno del programa es el mismo en todas las versiones del Game Maker desde Game maker 4.3c (March4, 2003) hasta GM studio2. La versión del game maker 3.3 no fue calificada por que no usa la variable sprite_index y en ves de usar mouse_x usa mousex, las posteriores versiones 1 y 2 tampoco.
3. Multisistema: La versión html5 es ejecutable en android, windows, mac y otros sistemas. No requiere descarga. En moviles y tablets hay que activar en el navegador la vista de escritorio, modo pc o vista ordenador. Entrando en configuración-sitio de escritorio.

 :o sorprendentemente el código usado es el mismo para la versión android. y no requiere más modificación por lo tanto este juego pudo haber sido creado en el 2001 e inclusive poder jugarse en android oreo sin modificar su código fuente




Proceso de armado del juego

Aquí les dejo el proceso sencillo que debe seguirse para armar este juego mediante cualquier versión del game maker exceptuando las anteriores a Game maker 4.0 (2001).


0.Descargar las imagenes.https://mega.nz/#!LihAnCBI!7FBQpRuJtrDdv8lnCyS4ehcfvJnG5SRORE1b1oQaj0Y
1.Habre tu Gamemaker, en cualquier Gamemaker te funcionará.
2.Crear 6  sprites y modificarlos como se indica mas abajo (desde el cero al 5).
3.Crear 6 objetos (desde el cero al 5).
4.Al objeto0 crearle un evento DRAW e introducele el código fuente que está mas abajo.
5.Crear un room y colocarle los 6 objetos en cualquier sitio (desde el cero al 5).
 Listo ejecutar...



Características de los sprites:

sprite0: 00_man.gif
origin x=26; y=24
Precise: NO

sprite1: 01_map.gif
origin: x=0; y=0
Precise: SI

sprite2: 02_rueda.gif
origin: x=20; y=20
Precise: SI

sprite3: 03_carreta.gif
origin: x=52; y=52
Precise: SI

sprite4: 04_boton.gif
origin: x=0; y=0
Precise: SI

sprite5: 05_titulo.gif
origin: x=0; y=0
Precise: SI

Código fuente:

if(x=0)
{

global.sprite_man=0
global.sprite_map=1
global.sprite_rueda=2
global.sprite_carreta=3
global.sprite_boton=4
global.sprite_titulo=5

global.idmap=object1.id
global.idmap.x=0
global.idmap.y=0
global.idmap.sprite_index=global.sprite_map
global.idmap.image_speed=0
global.idmap.depth=2

global.idmap2=object2.id
global.idmap2.x=320
global.idmap2.y=0
global.idmap2.sprite_index=global.sprite_map
global.idmap2.image_speed=0
global.idmap2.image_index=1+floor(random(31))
global.idmap2.depth=2

global.idman=object3.id
global.idman.x=175
global.idman.y=167
global.idman.sprite_index=global.sprite_man
global.idman.image_speed=0

global.idcarreta=object4.id
global.idcarreta.x=100
global.idcarreta.y=171
global.idcarreta.sprite_index=global.sprite_carreta
global.idcarreta.image_speed=0
global.idcarreta.image_index=18

global.idrueda=object5.id
global.idrueda.x=100
global.idrueda.y=171
global.idrueda.sprite_index=global.sprite_rueda
global.idrueda.image_speed=0
global.idrueda.depth=-1

global.idcontrol=id
global.pause=1
global.choque=0
global.reloj=0
global.escena=1
global.v=0
global.puntos=0

depth=1
kbk=0
show_score=0
dp=0
x=1
}

//para objeto control
kbkp=(kbk=0)*keyboard_key
kbk=keyboard_key
if(kbkp=113){x=0;game_restart()}
if(kbkp=123){game_end()}

//boton
bajar_boton=0
mover_boton=0
subir_boton=0
if(global.choque && global.idrueda.y<120)bajar_boton=200
if(global.choque){mover_boton=185;subir_boton=100}
boton_x=185-mover_boton
boton_y=100-subir_boton+bajar_boton
toque=0
if(mouse_x>boton_x && mouse_y>boton_y && mouse_x<boton_x+128 && mouse_y<boton_y+39){global.reloj+=0.1;toque=1}else{global.reloj=0}
if(global.pause)
{
global.v=0
if(global.choque=0)
{
draw_sprite(global.sprite_titulo,0,90,40)
draw_text(105,70,"Puntaje más alto: "+string(highscore_value(1)))
}
if(floor(global.reloj)=1)
{
if(global.choque)
{
highscore_add("usuario",global.puntos)
game_restart();x=0
}
global.pause=0
global.v=1
}
draw_sprite(global.sprite_boton,global.choque*2+toque,boton_x,boton_y)
}

//mapa
with(object1)
{
if(global.pause=0)
{
x-=floor(global.v)
}
if((x+320)<0)
{
x+=640
image_index=1+floor(random(31))
}
}

//mapa2
with(object2)
{
if(global.pause=0)
{
x-=floor(global.v)
}
if((x+320)<0)
{
x+=640
image_index=1+floor(random(31))
}
}

//man
with(global.idman)
{
if(global.pause=0)
{
//movimientoy
vs=5
while(place_meeting(x,y+vs,object1))vs-=1
while(place_meeting(x,y+vs,object2))vs-=1
y+=vs
}
image_speed=global.v/5
if(place_meeting(x,y+5,all)=0)image_index=2
}

//rueda
with(global.idrueda)
{
if(global.pause=0)
{
//movimientoy
vs=10
while(place_meeting(x,y+vs,object1))vs-=1
while(place_meeting(x,y+vs,object2))vs-=1
y+=vs
}
image_speed=global.v/3
}


//carreta
with(global.idcarreta)
{
if(place_meeting(x,y,object1)){global.choque=1;global.pause=1}
if(place_meeting(x,y,object2)){global.choque=1;global.pause=1}
if(global.choque=0)
{
if(global.pause=0)
{
if(mouse_y>0 && mouse_y<240)image_index=floor(mouse_y/6.6)
}
//movimiento vertical
y=global.idrueda.y
}
}


//PAUSE Y CAMARA
if(global.pause=0)
{
//movimiento camara
global.v+=0.001
global.puntos+=1

//dibujando cueda al final
//cuerda
if(mouse_y>0 && mouse_y<240)direction=90-floor(mouse_y/6.6)*5

}

//cuerda
dcx=cos(direction*pi/180)
dcy=-sin(direction*pi/180)
draw_line(global.idman.x-3,global.idman.y-11,global.idcarreta.x+dcx*35,global.idcarreta.y+dcy*35)

//puntos
if(global.puntos)
{
draw_text(260,0,global.puntos)
}


« última modificación: Noviembre 16, 2018, 06:34:28 pm por dixon2010 »

Dios nos ayuda y nos da sabiduría para vivir. Cáda código es una obra maestra que hay que respetar aunque exista un código mas eficiente y sencillo.
 


No Tienes Permisos Para Dar Puntos
point 12 Puntos

Usuarios que puntuaron el tema » n0k (5 Pts) » MasterMaker (7 Pts) 


Desconectado n0k

Respuesta #1 en: Octubre 06, 2018, 02:54:58 pm
Está genial amigo, felicidades!

 
Los siguientes usuarios dieron las gracias a este tema: dixon2010


Desconectado Goganpis

Respuesta #2 en: Octubre 06, 2018, 03:09:44 pm
No entendi, Es una herramienta o un juego? al parecer no se en que consiste... Me podrian explicar  :-[

 
Los siguientes usuarios dieron las gracias a este tema: dixon2010


Desconectado Clamud

Respuesta #3 en: Octubre 09, 2018, 05:11:45 am
Es divertido, pero por poco tiempo.

 
Los siguientes usuarios dieron las gracias a este tema: dixon2010


Desconectado Jeshuamartix129

  • Visitante
  • *
  • Puntos: 3
  • Mensajes: 6
    • Ver Perfil
Respuesta #4 en: Mayo 03, 2019, 10:54:49 pm
Pues soy programador,grafista y musico y si quieres o quieren puedo contribuir en el juego por ahora tengo  :GM8: y bueno mi edad 12 algo joven no pero si necesitan ayuda me avisan.