programar con gml

Upload: lian-grandon-ercilurrutigastanazagogeascoa

Post on 24-Feb-2018

233 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/24/2019 Programar Con GML

    1/17

    www.monografias.com

    Unidad didctica Tecnologa de la informacin (programacin) y neumtica

    1. Contenidos2. Teora de la programacin. !rogramando con "ame #a$er %engua&e

    ContenidosCONTENIDOS TERICOS

    Bloque 1:

    - Teora de la programacin- Control neumtico e hidrulico: el compresor, vlvulas y el cilindro. Circuitos.

    Bloque 2:

    - Lenguajes de programacin. eali!ar programas en lenguaje "#$% $#&%

    CONTENIDOS PRCTICOS

    - eali!ar y presentar programas interactivos mediante lenguaje "#$% $#&%

    CONTENIDOS MNIMOS

    - 'a(er utili!ar el lenguaje de programacin "#$% $#&% para reali!ar programas sencillos.- Conocer los sm(olos de los principales componentes de un circuito neumtico o hidrulico.

    C)T%)*' +% C#L))C#C)-- Control escrito so(re los contenidos tericos del primer (lo/ue. Tendr un valor de un 012 m3imo

    so(re la nota glo(al. Teora de la programacin 4 puntos. Control eumtico 4 puntos.- %l resto de los o(jetivos se valorarn mediante la presentacin de varios programas informticos

    reali!ado con el lenguaje "#$% $#&%. %stos programas tendrn un valor m3imo de un 512 6' puntos7de la nota total de la evaluacin.

    # la suma de estas notas se podr su(ir o (ajar un 812 69 8 puntos7 por la actitud, elcomportamiento en el aula, el enteres, la motivacin y la actitud en el aula clase y de informtica, pudiendollegar a un 412 694ptos.7 en casos e3cepcionales.ota mima de la e*aluacin+ 1, puntos

    Teora de la programacin-ntroduccin%l ordenador solo entiende el llamado cdigo m/uina 68 y 1, hay o no hay corriente7. Los lenguajes de

    programacin de alto ni*el permiten dar rdenes al ordenador con un lenguaje parecido al nuestro 6;isualay otros programas como el "$L o el ?ava /ueson programas interpretados, es decir, se anali!an y ejecutan las instrucciones por el propio programa.Los lenguajes ms cercanos al idioma del ordenador, llamados de a&o ni*el, son muy complicados 6casicomo el cdigo m/uina7 y poco usados.

    Los lenguajes, como todo, hay /ue aprend@rselos, pero tienen una ventaja, y es /ue hay varios puntosen comAn.

    1. Comentarios=oner comentarios de lo /ue vamos haciendo es muy Atil, so(re todo cuando llega la hora de revisar el

    programa, si no, ms de una ve! nos encontraremos diciendo B/u@ haca esto a/u o cuesta nadadocumentar el programa y nos ahorrar dolores de ca(e!a. La norma /ue seguiremos ser poner DD delantede los comentarios, para identificarlos:

    // 0sto ser un comentario y no ar nada en el programa

    2. %as *arialesEna varia(le es como una caja donde metemos cosas 6datos7. %stos datos los podemos ir cam(iando,

    ahora meto un F ahora lo /uito y meto un G. Ena varia(le tiene un nomre, /ue puede ser una letra, unapala(ra, varias pala(ras unidas por el guin (ajo o varias pala(ras sin separar pero la primera letra de cada

    =ara ver tra(ajos similares o reci(ir informacin semanal so(re nuevas pu(licaciones, visite www.monografias.com

    1

  • 7/24/2019 Programar Con GML

    2/17

    www.monografias.com

    pala(ra en mayAsculas ejem.: ;idas=erdidas. Las varia(les tam(i@n tienen un *alor/ue sera lo /ueha(ra dentro de ella 6en la caja7 en ese momento y ue puede ir *ariandosegAn se vaya desarrollando elprograma, por eso se llama varia(le.

    Ena varia(le dependiendo de su valor puede ser num@rica, si solo puede tener un valor num@rico, dete3to, si solo puede contener te3to 6letra, pala(ra o frase 6string77. %n las varia(les de te3to, su valor 6elteto7, dee ir entre comillas, para diferenciar /ue el te3to es te3to y no es el nom(re de otra varia(le. >ay

    otras varia(les /ue se llaman (ooleanas /ue solo pueden tener dos valores true o false 6algunas veces truese puede sustituir por el 8 y false por el 17. %jemplos:

    %dadHF DDvaria(le num@ricavaria(le+eTe3toH I%dadJvaria(leumericaH%dad94 DDsu valor es el valor de la varia(le %dad 6num@rica7 94K en este caso

    seraHGvaria(leay *ariales ya definidaspor el propio lenguaje de programacin /ue usemos, y cuyo nom(re no se lopodremos dar a ninguna de las /ue nosotros definamos. Las podemos usar pero tal y como el lenguaje las defini.=or ejemplo en "$L mouse8 es la varia(le /ue tiene el valor de la posicin 3 del ratn en cada momento, speedes la velocidad hori!ontal, etc.

    'i /ueremos /ue la varia(le se use en todo el programa de(eremos nom(rarla como una *ariale gloal, encaso contrario *ariale local, la varia(le al salir del lugar donde le hemos asignado un valor, perder ese valor y yano e3istir 6al salir de un algoritmo, tro!o de programa, del o&eto, de una estructura ), etc7. %n "$L se pone lapala(ra glo(al. N detrs el nom(re de la varia(le, de esta forma servir para el programa entero. %jemplogloal.pepe, /ue ser distinta de la varia(le pepe.

    . !rogramas y 9lgoritmosLos lenguajes de programacin, cuentan todos en su ha(er con un juego de instrucciones. Enainstruccin no es ms /ue una orden /ue nosotros le damos a la m/uina.

    N es /ue, al fin y al ca(o, un !:4":9#9no es ms /ue una secuencia de instrucciones6escritas enalgAn lenguaje de programacin7 pensado para :0;4%%0#9. 'i no sa(emosresolver este pro(lema, no podremos escri(ir el programa.

    # ti se te puede ocurrir una manera de resolverlo, a tu compaOero, otra. %ste #0T4?4con el /ueresolv@is el pro(lema, es lo /ue se llama 9%"4:-T#4, y es lo /ue vamos a ver a continuacin.

    En algoritmoes una secuencia de !9;4;a seguir para resolver un pro(lema.=or ejemplo, cuando /uiero ver una pelcula de vdeo, podra hacer:%lijo una pelcula de las de mi coleccin.Comprue(o ') T; y vdeo estn conectados a la red 6y procedo7.') la T; est apagada, la enciendo, ') *, pues no. N lo mismo con el vdeo.)ntrodu!co la pelcula en el vdeo. +ejo el estuche so(re el vdeo.') la T; no est en el canal adecuado, la cam(io, ') *, pues no.

    =ara ver tra(ajos similares o reci(ir informacin semanal so(re nuevas pu(licaciones, visite www.monografias.com

    2

  • 7/24/2019 Programar Con GML

    3/17

    www.monografias.com

    Cojo los mandos a distancia 6el del T; y el del vdeo7.$e pongo cmodo.=ulso =L#N en el mando del vdeo.

    ijaos (ien en unos detalles /ue son fundamentales y /ue aparecen en este algoritmo:

    La descripcin de cada paso no me lleva a am(igPedades: los pasos son a(solutamente e3plcitos y no inducen aerror. %l nAmero de pasos es finito. Tienen un principio y un fin. 'egAn lo visto una mejor definicin dealgoritmosera:

    IEn algoritmo es una sucesin finitadepasos6no instruccionescomo en los programas7 noamiguos/ue se pueden llevar a ca(o en un tiempo finito.

    >ay distintas formas de escri(ir un algoritmo, (ien usando un lenguaje especfico de descripcin dealgoritmos, (ien mediante representaciones grficas: diagramas de flu&o. osotros vamos a usar unlenguaje llamado pseudocdigo, y a la ve! pondremos tam(i@n las instrucciones /ue se de(eran poner enel lenguaje de programacin "#%. 'egAn avancemos haremos solo programas en "$L 6/ue es lo /uefinalmente nos interesa7.

    =ara ver tra(ajos similares o reci(ir informacin semanal so(re nuevas pu(licaciones, visite www.monografias.com

    3

  • 7/24/2019 Programar Con GML

    4/17

    www.monografias.com

    )ndependiente del lenguaje de programacin /ue vaya a usarseK un algoritmo /ue est@ escrito enpseudocdigo o con un diagrama de flujo es fcilmente traduci(le a muchos lenguajes de programacin.

    0&ercicio: Crea el diagrama de flujo para ver la pelcula del algoritmo anterior 6inteligencia artificial7.

    @. 0structuras de controlLas estructuras de control tienen una finalidad (astante definida: su o(jetivo es ir seOalando el orden en

    /ue tienen /ue sucederse los pasos de un algoritmo o de un programa.Las estructuras de control son de tres tipos: @.1. ;ecuenciales @.2. ;electi*as @.. :epetiti*as

    @.1.0structuras secuencialesEna estructura de control secuencial, en realidad, no es ms /ue escri(ir un paso del algoritmo detrs

    de otro, el /ue primero /ue se haya escrito ser el /ue primero se ejecute. ;eamos un ejemplo: /ueremosleer el radio de un crculo, calcular su rea y mostrar por pantalla al usuario el resultado.

    +eclaracin de varia(les%#L: radio, area DD o se suele poner acentos, y menos en rdenes de programas.

    fin declaracin de varia(lesinicio mostrarpor pantalla Idame el radio del circuloJ leerdel teclado la varia(le radio DDasignacin del valor de la *ariale radio area HF.808GQRradio DDasignacin del valor de la varia(le rea mostrar por pantalla Iel rea del circulo es:J DD%n los te3to ') '% =*% #C%T*' mostrar por pantalla el contenido de la varia(le areafin

    @.2.0structuras selecti*as

    %stas estructuras se utili!an para T*$# +%C)')*%' 6por eso tam(i@n se llaman estructuras dedecisin o alternativas7. Lo /ue se hace es %;#LE# una condicin, y, a continuacin, en funcin delresultado, se lleva a ca(o una opcin u otra.

    @.2.1 9lternati*as simples (condicional -A)'on los conocidos si... entonces. 'e usan de la siguiente manera: yo /uiero evaluar una condicin, y si

    se cumple 6es decir, si es cierta7, entonces reali!ar@ una serie de pasos.0n pseudocdigosera:+eclaracion de varia(les %#L: numero, rai!fin declaracion de varia(les

    inicio mostrar por pantalla Iintroduce un numeroJ leer del teclado la varia(le numero ;-numeroSH1 0T4C0;: raiBHrai!cuadrada6numero7 mostrar por pantalla Ila ra! cuadrada es:J mostrar por pantalla raiB fin del ')fin

    0n "#% sera ( recuerda no ace falta declarar las *ariales al principio):

    numero H getinteger6)ntroduce un nAmero,17 K

    if 6numeroSH17 rai!Hs/rt6numero7DK

    =ara ver tra(ajos similares o reci(ir informacin semanal so(re nuevas pu(licaciones, visite www.monografias.com

    4

  • 7/24/2019 Programar Con GML

    5/17

    www.monografias.com

    drawte3t6G1,G1,La ra! cuadrada es 9 string6rai!77K

    gameend67K

    ota+ en "$L tendramos /ue poner las rdenes para un o&etoy dentro de uno o varios e*entos6eventos create y draw7

    @.2.2 9lternati*as doles (-AEE.0%;0E.)BUu@ pasa si no cumple la condicin puesta. 'i no decimos nada el programa seguir a la siguiente

    orden de forma secuencial. =ero tam(i@n podemos especificar /ue pasara si no cumple la condicin. %sel famoso tro si ... entonces ... sino esto otro. %n "$L sera:

    if (condicion) se ace estoD else si no cumple la condicin se ace esto otroD

    %n el ejemplo anterior sera mucho mejor hacerlo con este tipo:%n pseudocdigo:

    +eclaracion de varia(les FCmo sera el programa en "#%G %#L: numero, rai!

    fin declaracion de varia(lesiniciomostrar por pantalla Vintroduce un numeroV

    leer del teclado la varia(le numero ') numero SH 1 %T*C%': rai! H rai!cuadrada6numero7 mostrar por pantalla Vla rai! cuadrada es:V mostrar por pantalla rai! ') * es numero SH1 %T*C%': Wes decir, si numero es negativoX mostrar por pantalla Vlo siento, no puedo calcular la rai! cuadrada de un numero negativoV fin del ')fin

    @.2. 9lternati*as m=ltiples o con *arias condiciones%s muy pro(a(le /ue tengamos la necesidad de incluir en nuestros programas alternativas con muchas

    opciones posi(les. %n "$L sera:varia(le*pcionesH un valor a elegir, por ejemplo desde el teclado o desde una ventana /ue mar/ueel usuarioif 6varia(le*pcionesH17 Wlo /ue correspondaXKif 6varia(le*pcionesH87 Wlo /ue correspondaXK YYY.

    Tam(i@n e3iste la posi(ilidad de /ue de(an de cumplirse dos condiciones a la ve!:

    if 6condicin8 ZZ condicin47 W'e cumple estoX oif 6condicin8 ZZ condicin47 W'e cumple estoX else Wse cumple esto otroX

    0&ercicios en el cuaderno=ara hacer estos ejercicios en pseudocdigo no declararemos las *arialesal principio tal y como se

    hace en "$L, aun/ue tericamente tendran /ue declararse'o(re estructuras secuenciales

    8. %scri(id un algoritmo /ue calcule el rea de un tringulo o de un rectngulo.4. %scri(id un algoritmo /ue calcule el precio de un artculo tras aplicarle un 852 de );#.

    'o(re estructuras selectivasF. +iseOad un es/uema de menA de opciones, por ejemplo, un menA para seleccionar un li(ro a leer de

    entre F disponi(les.0. %scri(id un algoritmo /ue lea tres nAmeros e imprima por pantalla el mayor de ellos.

    @.. 0structuras de control :0!0T-T-

  • 7/24/2019 Programar Con GML

    6/17

    www.monografias.com

    %stas estructuras son instrucciones /ue se repiten formando un (ucle. 0l ucle se repite mientras secumpla una condicin /ue ha de ser especificada claramente. Cuando de&e de cumplirse la condicinHse sale fuera del ucley no se repiten ms las instrucciones.

    En ay/ue ver si contador]HF111. =ero no es cierto /ue F118]HF111, es ms (ien al rev@s, o sea, la condicinentrepar@ntesis 0; A9%;9. B%so /u@ /uiere decir =ues /uiere decir /ue se aca(, /ue ya no se ejecuta el cuerpodel (ucle, sino /ue hemos llegado al final, el (ucle a terminado y salimos fuera de el.

    BUu@ pasara si la varia(le contador, al definirla, su *alor fueraya mayor de ,,,.

    =ara ver tra(ajos similares o reci(ir informacin semanal so(re nuevas pu(licaciones, visite www.monografias.com

    6

  • 7/24/2019 Programar Con GML

    7/17

    www.monografias.com

    =ues /ue el (ucle no se ejecuta ninguna ve! . %sto puede tener aplicacin en algunos [email protected] 0structura :0!0T-: (acer)... #-0T:9; MU0 (condicin) o I?4.....UT-%I#/u, lo /ue se desea es /ue un (ucle se e&ecute al menos una *eB antes de comproar la condicin

    de repeticin. %s decir si partiNramos ue la *ariale condicin fuera mayor de ,,,H en este casoH elucle se e&ecutara una *eB. %n el caso de hacerlo con while no se ejecutara ninguna ve!. 30sta es la =nicadiferencia3.

    La estructura =## E%'T* %?%$=L* es esta:inicioContadorH8epetir mostrar por pantalla V=rometo ser (ueno *:7V ContadorHContador98mientras /ue6Contador]HF1117fin

    0n "#% sera+ContadorH8

    doWdrawte3t 6G1,G1,=rometo ser (ueno7KContador9H8KXuntil 6Contador]HF1117K

    @.. 0structura ?0;?0 o Iucles A4:I.%sta estructura hu(iera sido la ms adecuadapara resolver nuestra situacin real. Tiene la peculiaridad,

    /ue la *ariale contador esta dentro del ucle yno ace falta asignarle el *alor6ni definirla7 fuera delucle, y adems, al llegar el programa al (ucle siempre se realiBarn las instrucciones ue ay dentrodel ucleH una cantidad de *eces ue nosotros fi&emos.

    inicio

    desdecontadorH8 hasta contador]HF.111 contadorHcontador98 acer mostrar por pantalla V=rometo ser (uenoVfin desdefin

    Lo primero /ue hace es darle a la varia(le contador el valor 8. +espu@s comprue(a si el valor de lavaria(le es menor o igual a F111 6comprue(a la condicin7, y si la cumple aumenta 8 el valor de la varia(lecontador y reali!a las instrucciones /ue hay dentro del (ucle. #s hasta /ue la condicin deja de cumplirse.0n "#% sera:

    for6contadorH1K contador]HF111K contador9H87 Wdrawte3t6G1,G1Rcontador,=rometo ser (ueno7K

    X DDLo /ue se repite del ucle *a entre D

    ota: Las coordenadas IyJ, en este caso, varan con la varia(le contador 6G1Rcontador7 y as las frasesno se juntan una encima de otra, salen en diferentes coordenadas, en nuestro caso diferentes filas.

    ormalmente con ucles Aor se usa la *ariale i para contar, y no la varia(le contador:

    for 6iH1K i]HF111K i9H87 Wdrawte3t6G1,G1Ri,=rometo ser (ueno7X

    0&ercicio: =rograma en "$L /ue escri(a los nAmeros del 8 al 81, con while, con doY.until y con * .

    @..@ 4tras

  • 7/24/2019 Programar Con GML

    8/17

    www.monografias.com

    acumuladorH8for6iH1K i]H81K i9H87 acumuladorHacumulador9i //Aumenta el valor en icada vez que

    llega aqu;

    drawte3t6G1,G1Ri,acumulador7K D D // El resultado sera 1 2 4 7 11 16 22

    Programando con Game Maker Lenguaje

    "ame ma`er es un programa /ue nos permite reali!ar programas en su lenguaje de programacin. Laprogramacin /ue se reali!a es una programacin/ue se llama orientada a o&etos6**=7 y /ue es la msusada en estos momentos por todos los lenguajes de programacin. %ste tipo de programacin considera elprograma como un con&unto de o&etos ue interaccionan entre si. 9 los o&etosde los programas lessuceden cosas /ue llamaremos e*entos6colisionar, cuando se crea el o(jeto, cuando se aprieta un tecla, etc7y cuando le suceden estos eventos los o(jetos realiBan determinadas acciones. =or ejemplo cuando doso(jetos colisionan 6evento7 suena un sonido de cho/ue 6accin7, aprieto la tecla fin 6evento7 y se aca(a elprograma 6accin7. En o(jeto puede tener distintas instanciasde ese o&etodentro de un programa. =orejemplo, del o(jeto pelota podemos tener una copia 6instancia7 en un sitio y otra en otro sitio diferente delprograma 6dos instancias de un mismo o(jeto, del o(jeto pelota7.

    %n "$ veremos /ue tam(i@n /ue se puede programar 6mas (ien ayudar7 sin sa(er el lenguaje deprogramacin "$L, mediante la t@cnica +Z+ 6arrastrar y soltar iconos7. osotros me!claremos los dostipos.

    Un programaconsiste en un conjunto de instrucciones. %n "$ los IiconosJ en realidad representaninstrucciones en "$L, por ejemplo :

    %as pieBas de cdigo 6incluso los script7 se aOaden dentro de un e*ento de un o(jeto, y sonconsideradas como una accin ue se realiBar en ese e*ento, pudiendo as meBclar "#% con el "#de ?P? ue es realmente la gran utilidad de "ame #a$er.

    =ara ver tra(ajos similares o reci(ir informacin semanal so(re nuevas pu(licaciones, visite www.monografias.com

    8

  • 7/24/2019 Programar Con GML

    9/17

    www.monografias.com

    FMue es un spriteGes una simple imagen, puede ser un personaje un o(jeto, cual/uier cosa, entonces enel sprite no se =*"#$# nada, simplemente es la imagen de un posterior o(jeto del juego. %n la carpetasprite se aOaden todas las imgenes 6sprites7 /ue vayamos a utili!ar en nuestro programa.FMuN es un o&etoGTodos los elementos /ue intervienen en el programa 6si son grficos sern imgenes/ue tendrn un sprite como referencia7. En o(jeto puede tener varias instancias en el programa 6variasveces el mismo o(jeto7 ;ore los o&etos se programanlos e*entos/ue van a ocurrir so(re ellos ysuscorrespondientes acciones. >ay o(jetos /ue no necesitan sprite.;ounds: carpeta donde se ponen los sonidos /ue se vayan a utili!ar durante el programa.>a$grounds: carpeta donde se ponen los fondos /ue vayamos a utili!ar en el programa.:ooms : "$ llama a las diferentes pantallas /ue van a ir pasando durante el desarrollo del programa**$' 6ha(itacionesHnivelesHpantallas7. Como mnimo un programa dee tener una roomH si noH nose podr e&ecutar.

    ;cripts: =ara crear tro!os de programas en "$L 6game ma`er lenguaje7DD#e&or con pieBas de cdigo.Aonts: son las fuentes para utili!ar en nuestro programa.!ats: caminos /ue podemos hacer /ue los recorran los o(jetos. Cerrados o a(iertos y de ida o ida yvuelta.Time lines: =rogramar el movimiento de un o(jeto en steps. =or ejemplo 181 step mueve drcha. 81G1i!/uierda, del G1811 cam(ia direccin. %l o(jeto se mover as cuando se active el Time Line. , stepsaproimadamente 1 segundo"loal "ame ;ettings#/u se pueden configurar todas las opciones del juego"ame -nformation+seria como una ventana /ue se puede a(rir durante el juego, donde por ejemplopuedes poner los controles de la ayuda, creador del programa, etc. La instruccin para /ue salga laventana de informacin sera: soJ8info()

    osotros los sprites, los o(jetos, las ha(itaciones y los eventos 6y ms cosas como veremos7 los

    crearemos con el programa sin necesidad de tener /ue escri(irlo en "$L. %sto nos facilitar mucho eltra(ajo, aun/ue si /uisi@ramos podramos hacer programas solo en "$L. osotros prcticamente lo uearemos ser escriir en "#% las acciones ue se realiBarn en los e*entos ue les ocurra a loso&etos, es decir aOadiendo pieBas de cdigo.

    34546 draJ es un e*ento del tipo stepes decir, lo /ue se ponga dentro de este evento se reali!acada step o paso del programa 6por defecto F1 step por segundo7. 'e reali!ara F1 veces cada segundo.>ay un e*entollamado stepo paso y /ue se usa normalmente cuando /ueremos /ue algo se tenga encuenta o el programa lo este mirando, o reali!ando continuamente durante la ejecucin del programa. 6=orejemplo una )7. Lo entenderemos mejor con un ejemplo de la funcin random:

    %a funcin randomrandom()+evuelve un numero al a!ar entre el rango 1 y 3. %l numero siempre es menor /ue 3. 'i no

    /ueremos /ue pueda ser 1, pondremos random63798. !rctica 2: escri(iremos en el e*ento create:numero#leatorioHrandom6G7 DDal crearse el o(jeto se elije un nAmero aleatorio entre 1 y 0,QQ 6dos

    decimales7

    =ara ver tra(ajos similares o reci(ir informacin semanal so(re nuevas pu(licaciones, visite www.monografias.com

    9

  • 7/24/2019 Programar Con GML

    10/17

    www.monografias.com

    0n el e*ento ?raJponemosdrawte3t6G1,G1, numero#leatorio7 DDos di(uja en pantalla el nAmero elegido.0l e*ento create es para decirle al programa las acciones /ue pasarn cuando se cree el o(jeto.%n el ejemplo hemos puesto /ue cuando se cree el o(jeto se elija un nAmero aleatorio entre 1 y G,

    pero solo lo realiBar una *eBH cuando se cree el o&eto . 'eguidamente el programa di(ujar el valor dela varia(le escogida por el programa de forma aleatorio en el evento create, pero /ue al ser siempre el

    mismo valor, siempre estar di(ujando el mismo nAmero.'i todas las rdenes las hu(i@ramos puesto dentro de draw el programa no aca(ara nunca, estara

    eligiendo nAmeros aleatorios continuamente 6%n la =rctica 8 lo pro(aremos7.%a intrucciones de diu&ar o draJH por ejemplo drawte3t, solo se pueden ponerdentro del e*ento

    draJ.numero#leatorioHround6random6G77 DDround es redondear. %sto se pone si /ueremos /ue nos redondee

    el nAmero y no salga con decimales 6si el decimal es mayor de G redondea hacia arri(a7.;ayamos al aula de informtica a practicar. Crea una room y un o(jeto sin sprite. #Oade el o(jeto en la

    room. #Oade los eventos Create y el +raw para el o(jeto sin sprite y aOade una pie!a de cdigo en cadaevento y reali!a la prctica 8.

    !rctica 1+1Q parte)Auncin random: crea el ejemplo de la funcin random para nAmeros enteros y otro para

    dos decimales. =rue(a a poner todas las instrucciones en el evento draw y vers como se repite elprograma indefinidamente. Crea un programa en el /ue salga una ventana y puedas introducir el nAmerom3imo aleatorio entre los /ue tenga /ue elegir el programa.

    2Q parte)!rogramacin secuencial: a)>a! un programa /ue calcule el rea de un tringulo 6ocual/uier otra frmula7 y

    )otro para /ue calcule el precio final de un producto si le aOadimos el );#.Q parte)!rogramacin selecti*a y repetiti*a6estructuras de control7: a)Crea un programa para cada

    uno de los ejemplos /ue utili!amos para estudiar las estructuras de control selectivas 6ra! cuadrada7 yrepetitivas 6frase /ue se repite pero solo F veces, programa /ue escri(a los nAmeros del 8 al 81 y el ejemplode acumuladores7 . )Crea un programa /ue lea tres nAmeros e imprima por pantalla el mayor de ellos. c)Crea un programa /ue te de F opciones de eleccin de F nAmeros. 'i escri(es 8 har una cosa, si escri(es4 otra y si escri(es F otra diferente 6ejemplo el de elegir li(ros hecho en el cuaderno7. d)=rctica creandoprogramas con estructuras de control /ue se te ocurran y pruNalas 6por ejemplo un programa en el /uepodamos elegir la frmula a calcular entre varias7.

    Las varia(les suelen ponerse en el evento create. 3CU-?9?46o el programa podra repetirsecontinuamentesin parar.

    'i la eleccin aleatoria /ue /ueremos es entre varias pala(ras en lugar de random se utili!a coose%jemplo choose 6IholaJ,JadiosJ7 DDelegir de forma aleatoria hola o adios.

    !rctica 2: a)#Oade un sprite. #Oade un o(jeto con ese sprite. #Oade una room con dos instancias de loso(jetos 6fjate en el id de las instancias como es diferente7. %n el evento create del o(jeto aOade la ordenanterior. #hora (orra la orden anterior y pon solo vspeedHrandom67 BUu@ suceder. =rue(a con hspeed.c)Crea un programa para /ue elija un nom(re aleatorio

    %a funcin repetir y crear una instancia de un o&eto con "#%

    repeat (Rde*eces) instr.7donde instr. son las instrucciones /ue tiene /ue repetir 6bdeveces7:=or ejemplo para crear una instancia de un o(jeto con "$L se hace:

    =ara ver tra(ajos similares o reci(ir informacin semanal so(re nuevas pu(licaciones, visite www.monografias.com

    10

  • 7/24/2019 Programar Con GML

    11/17

    www.monografias.com

    instance8create(HyHnomre?el4&eto)repeat (S) instance8create(random(@,,)Hrandom(@,,)Hall)K DDcrea cinco instancias del o(jeto (all enposiciones aleatorias de y de N.

    !rctica +#Oade dos instancias mediante "$L, y en posiciones aleatorias, del o(jeto del ejercicioanterior 6al final /uedarn G instancias del o(jeto7

    34546 :epeat6G7 drawte3t 6random 6G117,G1,JholaJ7 'i esta instruccin la pongo en el evento draw seestara repitiendo continuamente por estar en un e*ento del tipo step6pru@(alo7. 'i la instruccin lapongo en el evento create no se vera por /ue los te3tos solo se ven si estn dentro del evento draw.%ntonces BCmo haras si /ueremos ver la pala(ra hola en sitios aleatorios y repetida G veces. 6pista:ciclo *7

    #o*er una instanciaLa funcin speedes para dar velocidad hori!ontal, y la *speedvertical. 'i /uiero mover solo una

    instancia de un o(jeto tendr@ /ue hacerlo como hicimos anteriormente o tam(i@n crear la instancia mediante"$L y asignarle un nom(re de una varia(le. inalmente mover la varia(le /ue se le asigna a la instancia.%jemplo:nHinstancecreate6411,811,o(jeto87KDD a partir de ahora nes la instancia del o(jeto8

    #hora ponemos la instancia, punto y seguido y la funcin de movimiento:n.*speed o n.speedy se movera verticalmente. 'i ponemos las dos velocidades para una instancia semover en diagonal.

    %sto se puede hacer tam(i@n con los o(jetos. 'i ponemos: nomre?el4&eto.funcin!redefinidaafectar a todas las instancias de ese o(jeto.

    'i /ueremos mover las instancias de un o(jeto acia un punto determinado y con una *elocidaddeterminada tendramos /ue poner la secuencia siguiente:

    mo*e8toJards8point(HyH*elocidad) DD$ueve laDs instancia con velocidad indicada hacia el punto 3,y,partiendo del lugar donde se encuentre inicialmente. *elocidadser la velocidad a la /ue se mover.[[*?*[[0sta orden se dee ponerdentro del e*ento createdel o&etoy mo*er todas las instancias/ue posteriormente creemos.

    !rctica @+ $ueve cada instancia de la prctica F de una forma diferente: una en hori!ontal, otra envertical, otra en diagonal y la otra a un punto cual/uiera. La G instancia mu@vela usando instance id^0_

    >orrar una instanciaTendramos /ue poner instance8destroy()dentro del evento /ue provocara la destruccin. 4&osi no

    especificamos se destruirn todas las instancias del o(jeto.

    !rctica S:

  • 7/24/2019 Programar Con GML

    12/17

    www.monografias.com

    draJ8tet8et(HyHstringHsepHJ)'imilar a la anterior, pero puedes especificar un par de argumentosmas. sep indica la separacin entre renglones. 'i en valor de sep ponemosW1 el programa elegir laseparacin en funcin del tamaOo de la letra 6por ejem. 41 para fuente de tamaOo 847. J indica el ancodel teto en pieles. %sto se usa cuando /ueremos especificar el ancho /ue de(e ocupar un te3to comom3imo. %l programa al llegar a este ancho 6J7 dividir el te3to en dos frases.

    %n "$ hay muchos colores ya definidos c(lue,credKc(lue,cwhiteY.=ero tam(i@n podemos crearnosotros los colores. Con la siguiente orden se crea un color:

    ma$e8color8rg(redHgreenHlue)%l color o(tenido segAn lo indi/uen sus argumentos. red 6rojo7, green6verde7, y (lue 6a!ul7. %l valor de(e estar entre 1 y 4GG. Lo normal es crear un color con un nom(re porejemplo escri(ir:

    color1ma$e8color8rg(12H2@H,).

    'i /uisiera dar color a un te3to, di(ujo, etc, haramos:color8Hma`ecolorrg(6401,40,407K DD+efinimos un nuevo colordraJ8set8color(color1)K DDtodo lo /ue hagas a partir de esta instruccin lo ar con este color

    (escriirH diu&ar. etc)

    =ara cam(iar la fuente tenemos primero /ue meter la nueva fuente en nuestro programa 6en la carpetaonts eligiendo su tamaOo y tipo7 para ue esta fuente eista. La seleccionamos y la ponemos un nom(re.'eguidamente damos la orden de escri(ir con la nueva fuente, /ue es draJ8set8font(omredelafuente)'i en ve! de poner el nom(re de la fuente ponemos 8 se seleccionara la fuente inicial, /ue es arial 84.

    %stas instrucciones solo las reconoce el programa dentro del e*ento draJ.

    !rctica ': Crea un evento draw con un o(jeto 6sin sprite7, y dentro de este evento, pon una pie!a decdigo en la /ue pongas las instrucciones para escri(ir una frase en dos renglones diferentes mediante lainstruccin siguiente: drawte3te3t67, prue(a con varios w diferentes. #hora aOade una nueva fuente detamaOo 9 grande y pon la frase anterior con esa misma fuente y de color verde. >a! /ue el programa elija elcolor de forma aleatoria.3345433Comproaras como lo ue ay en el e*ento ?raJ se repite cada stepHpor eso el color con random camiara el color del teto en cada step si lo ponemos dentro del e*entodraJ. Esa sleep (milisegundos)para /ue sea mas lento el cam(io, por ejemplo sleep681117 espera 8segundo hasta /ue reali!a la siguiente instruccin. =or Altimo ha! /ue el color elegido por el ordenadorpermane!ca siempre el mismo.

    ?iu&ar con "#%ac$ground8colorHcolor %l color puede ser uno definido o una varia(le /ue defina el color. #dems estaorden se puede poner en el e*ento create.draJ8point(Hy)+i(uja un punto en 63,y7.draJ8line(1Hy1H2Hy2)+i(uja una linea desde 638,y87 hasta 634,y47.draJ8rectangle(1Hy1H2Hy2Houtline)+i(uja un rectngulo. outline indica si de(e di(ujar solo el orde687 osi lo de(e di(ujar relleno617.outline es igual para todas las dems figuras.draJ8roundrect(1Hy1H2Hy2Houtline)+i(uja un rectngulo redondeado.draJ8triangle(1Hy1H2Hy2HHyHoutline)+i(uja un tringulo.

    draJ8circle(HyHrHoutline) +i(uja un crculo en posicin 63,y7 con radio r draJ8ellipse(1Hy1H2Hy2Houtline)+i(uja una elipse.draJ8arroJ(1Hy1H2Hy2HsiBe)+i(uja una flecha desde 638,y87 hasta 634,y47. si!e indica el grosor de laflecha en pi3eles.=ara poner el color de relleno se de(e de poner antes de di(ujar la figura el color mediante drawsetcolor6color7,como ya vimos.

    !rcticas:X)+i(uja un rectngulo relleno con un color creado por ti. Crea otras formas con colores. )=on un color de fondo en la room y crea con lneas una ta(la de 4 columnas y F filas.

    Aunciones matemticas

    =ara ver tra(ajos similares o reci(ir informacin semanal so(re nuevas pu(licaciones, visite www.monografias.com

    12

  • 7/24/2019 Programar Con GML

    13/17

    www.monografias.com

    Y@multiplica F por 0 S/X divide G entre

    srt()ra! cuadrada de 3. as(): ;alor a(soluto de 3

    poJer(Hn)*pera 3 a la potencia n. sin() *pera el seno de 3 63 en radianes7.cos() *pera el coseno de 3 63 en radianes7 tan()egresa el tangente de 3 63 en radianes7.

    degtorad()Calcula grados a radianes. radtodeg()Calcula radianes a grados.

    min(*al1H*al2H*alH...)egresa el mnimo de los valores 685 valores como m3imo7. +e(en de ser todosnAmeros reales.ma(*al1H*al2H*alH...) egresa el m3imo de los valores 685 valores como m3imo7. +e(en de ser todosnAmeros reales.mean(*al1H*al2H*alH...)egresa el promedio 6media aritm@tica7 de los valores. +e(en de ser todos valoresreales.!rctica Z)+ a) Con pie!a de cdigoH crea un programa /ue nos calcule el cu(o de y nos lo muestre en lapantalla. ) Crea un programa para calcular la media aritm@tica de F nAmeros mediante la frmula ymediante la funcin. Comprue(a /ue los resultados son los mismos.

    ay muchas *ariales/ue ya estn definidas en "#, estas son algunas:es la coordenada 3 del o(jetoyes la coordenada y del o(jetospeedes la velocidad hori!ontal 6en p3eles por step7*speedes la velocidad vertical 6en p3eles por step7directionseria la direccin actual de movimiento en grados 61F517speedla velocidad en esa direccinimage8speed esta varia(le indica la velocidad con la cual se muestran los fotogramas del sprite. %l valorprefijado es 8. 'i pones ese valor ms grande de 8 algunos fotogramas se saltan para hacer la animacin msrpida. 'i usted lo hace ms pe/ueOo /ue 8 la animacin se hace ms lenta por/ue repite fotogramas.mouse8la posicin de 3 del mouse.mouse8y la posicin de y del $ousemotion8set(dirHspeed)ija el movimiento con la velocidad y direccin indicada.

    %scri(iendo la varia(le con este formato: o&eto.*arialeestamos indicando el valor de esa varia(le, en eseo(jeto. =or ejemplo, si ponemos: o&eto1.speedS estaramos cam(iando la velocidad hori!ontal actual deo(jeto8 a G.'i ponemos 4&eto1.directionrandom(,)estaramos cam(iando la direccin del o(jeto 6 ,direccin oriBontalH 2X, acia aa&o7.

    !rctica 1,: $ueve una instancia de un o(jeto con una velocidad y en una direccin determinada.!rctica 11: >a! un programa para /ue salga el nAmero de la posicin hori!ontal del ratn en todo momento6al mover el ratn cam(iar el valor7. $ejralo aOadiendo la posicin vertical.!rctica 12: Crea un programa en el /ue un o(jeto siga el movimiento del puntero del ratn

    ecordar /ue las varia(les pueden ser gloalesH ue afectan a todos los o&etos y rooms, o localesH uesolo afectan a un o&eto (incluso solo a una instancia del o&eto). =ara /ue una varia(le sea glo(altendrs /ue poner esto gloal.a , ue no es igual ue la *ariale local a,

    -nteraccin con el usuario del programa=odemos hacer /ue salga una ventana en la /ue apare!ca una pregunta o un te3to y /ue tengamos /ueresponder escri(iendo un te3to o un nAmero 6por ejemplo para /ue el usuario asigne el valor inicial de unavaria(le7. =ara eso tenemos las siguientes funciones:"et8string(fraseHdef) DDaparece una ventana para introducir una frase. %l valor def es la frase /ue semostrar por defecto en la ventana."et8integer(fraseHdef) DDigual /ue la anterior pero para introducir nAmeros.'i /ueremos /ue lo /ue escri(a el usuario en la ventana y lo recoja el programa para usarlo posteriormente,

    tenemos /ue hacer /ue lo /ue escri(a el usuario se recoja como el valor de una varia(le:

    =ara ver tra(ajos similares o reci(ir informacin semanal so(re nuevas pu(licaciones, visite www.monografias.com

    13

  • 7/24/2019 Programar Con GML

    14/17

    www.monografias.com

    Nomre!ar"aleNum#r"ca $ get%"nteger&str'de() //*+* el te,to de str' entre com"llas

    Nomrede!ar"alede-e,to $ get%str"ng&str'de() //*+* el te,tote str' entre com"llas

    ecordar /ue para crear frases con te3to y varia(les SSS drawte3t681,41,te3to9string6varia(le77

    get8color(def)'ale la ta(la de colores para seleccionar uno. def es el color /ue /ueremos /ue apare!ca

    marcado en la ta(la por defecto. 'i hacemos nHgetcolor6cgreen7 y luego draJ8set8color(n)H el te3to 6oel di(ujo7 /ue se escri(a a continuacin, ser del color elegido de la caja de colores /ue aparecer.

    !rctica 1:Crea un programa/ue salga una ventana te pregunte la edad /ue tienes, luego otra /ue tepregunte tu nom(re y al final en la room /ue salga la frase nomre9tiene9edad9aOos. Las negritas son lasvaria(les. Etili!a colores diferentes 6o /ue el usuario pueda elegirlos7.

    #as acciones para interactuar con el usuariosoJ8message(str)muestra un cuadro de dilogo como un mensaje 6mensaje al pulsar una tecla por ejem.7

    soJ8message8et(strHut1Hut2Hut)muestra un cuadro de dilogo con el valor IstrJ como un mensaje, adems

    de F (otones.

  • 7/24/2019 Programar Con GML

    15/17

    www.monografias.com

    !:[CT-C9 A-9% 1S+ Crea un programa para el clculo de circuitos el@ctricos en serie o en paralelo. Losvalores deLa ;total de la pila y de las resistencias pueden cam(iarse, en cual/uier momento a los valores /ue el usuario/uiera, calculando automticamente los nuevos valores del resto de magnitudes. +e(e aparecer el es/uema delcircuito 6o el real7 apagado y /ue al apretar un (otn se vea el circuito encendido. #Oade complementos /ue creas/ue mejorara el programa 6voltmetros,

    ampermetros, polmetro, (otones, poder aOadir ms lmparas etc7 .

    C4T:4% ?0 T04:-9 ?0 !:4":9#9C-\ L9;T9 9MU]!:4":9#9C-\ C4 %9 T^C-C9 ?P?

    1R) :0 "9#0 #9_0: (leer unos S minutos)2R

  • 7/24/2019 Programar Con GML

    16/17

    www.monografias.com

    !rctica 1': Crea los programas de los *ideotutoriales de la Je JJJ.areatecnologia.com dosH

    cuatroH cinco y siete.Cosas -mportante+

    =ara ver tra(ajos similares o reci(ir informacin semanal so(re nuevas pu(licaciones, visite www.monografias.com

    16

  • 7/24/2019 Programar Con GML

    17/17

    www.monografias.com

    :elati*o: cada ve! /ue se ejecuta la accin, la velocidad, la puntuacin o a lo /ue se halla puesto relative sesuma a la /ue tena anteriormente.;onidos: .wav,.midi y mpF. Los ms adecuados son los wav, ya /ue ocupan poco espacio. Loop: 'i seselecciona false el sonido se reproduce una sola ve!, si se pone trae se repite sin parar.4&etos: Los o(jetos creados con 'aint guardarlos como ."), si no luego al editarlos no se les puede /uitarel fondo (lanco. ;isi(les o /ue no se vean. 'lidos para /ue puedan colisionar con otros. =ersistentes

    significa /ue si salimos de la room y volvemos a entrar en la misma room el o(jeto aparecer en el mismositio /ue esta(a cuando salimos de la room.

    Cosas interesantes+ Contador de tiempotranscurrido en segundos SSS en el evento draw: drawte3t641,G1,currentsecond7K 0scriir directamente desde el teclado: %n el evento draw poner:

    drawte3te3t641,41,`ey(oardstring,8,F117///*+* .AB0A E 0NEA A EN.*N-3A3 NE5A.0* EN BAN.*

    Mue al picar en un sitio te lle*e a una Je : en el o(jeto se pone dentro del evento (otn ratn i!/uierdo:we(Hgetstring6%scri(e la we( /ue deseas a(rir,http:DDwww.areatecnologia.com7Ke3ecuteshell6we(,7K

    !rctica 1X: Crea un programa en el /ue me!cles "$L con la t@cnica +Z+. %jemplos: juego de preguntas,personalidad, calculo de circuitos el@ctricos, calculo de mecanismos, juego de aprendi!aje de algAn tema,etc. softJare para detectar enfermedades de animales o personas(sntomas`enfermedad(autoampliale)), creador (ase datos, etc

    %nviado por:!alo Turmeroturmeropa(logmail.com

    = t ( j i il i(i i f i l ( (li i i it fi

    17

    mailto:[email protected]:[email protected]