Difference between revisions of "Laika al laberint espacial"

From Edutec Wiki
Jump to: navigation, search
Line 1: Line 1:
  
 
+
<span style="font-family:arial,helvetica,sans-serif;">'''El Laberint'''</span>
  
<meta charset="utf-8"></meta>
+
<span style="font-family:arial,helvetica,sans-serif;">La pràctica que es desenvolupa a continuació permet dissenyar el joc “El Laberint”. Aquest consisteix en aconseguir alliberar la gossa Laika del laberint on es troba.</span>
  
'''Dissenya el teu laberint'''
+
<span style="font-family:arial,helvetica,sans-serif;">[[File:1.PNG|300x250px|RTENOTITLE]]</span>
 
+
'''La pràctica que es desenvolupa a continuació permet dissenyar el joc “El Laberint”. Aquest consisteix en aconseguir alliberar la gossa Laika del laberint on es troba.'''
+
 
+
[[File:1.PNG|RTENOTITLE]]
+
 
+
<meta charset="utf-8"></meta>
+
 
+
'''PREPARACIÓ DEL JOC'''
+
 
+
#&nbsp;
+
 
+
'''El primer pas és crear el laberint. Aquest serà un objecte per tal de facilitar la programació del joc aconseguint que un altre objecte el toqui. Així que, obrim l’editor d’imatges de la categoria “objectes”'''[[File:1.01.PNG|RTENOTITLE]] &nbsp;i de les opcions que se’ns despleguen escollim la de “dibuix” [[File:1.1.PNG|RTENOTITLE]][[File:Doss.PNG|RTENOTITLE]]<meta charset="utf-8"></meta>
+
 
+
'''Fixem-nos en els elements remarcats a la imatge que es mostra a contianuació. Aquests seran els paràmetres que utilitzarem per dibuixar el laberint.'''
+
 
+
[[File:3.PNG|RTENOTITLE]]
+
  
 
&nbsp;
 
&nbsp;
  
<meta charset="utf-8"></meta>
+
<span style="font-family:arial,helvetica,sans-serif;">'''Preparació del joc'''</span>
  
'''&nbsp;&nbsp;&nbsp;Dibuixem primer el contron del laberint amb un quadrat buit.'''
+
#
 +
<span style="font-family:arial,helvetica,sans-serif;">El primer pas és crear el laberint. Aquest serà un objecte per tal de facilitar la programació del joc aconseguint que un altre objecte el toqui. Així que, obrim l’editor d’imatges de la categoria “objectes”[[File:1.01.PNG|RTENOTITLE]] &nbsp;i de les opcions que se’ns despleguen escollim la de “dibuix” [[File:1.1.PNG|RTENOTITLE]]&nbsp; &nbsp;&nbsp;</span><span style="font-family:arial,helvetica,sans-serif;">[[File:Doss.PNG|RTENOTITLE]]</span>
  
'''[[File:4.PNG|RTENOTITLE]]'''
 
  
&nbsp;
+
<span style="font-family:arial,helvetica,sans-serif;">Fixem-nos en els elements remarcats a la imatge que es mostra a contianuació. Aquests seran els paràmetres que utilitzarem per dibuixar el laberint.</span>
  
<meta charset="utf-8"></meta>
+
<span style="font-family:arial,helvetica,sans-serif;">[[File:3.PNG|RTENOTITLE]]</span>
  
'''&nbsp;Seguidament dibuixem les línies que separen els carrils del laberint (si mentre dibuixem mentenim premuda la tecla “Shift” del teclat aconseguirem que la línia que dibuixem sigui recte.'''
+
<span style="font-family:arial,helvetica,sans-serif;">Dibuixem primer el contron del laberint amb un quadrat buit.</span>
  
'''[[File:5.PNG|RTENOTITLE]]'''
+
<span style="font-family:arial,helvetica,sans-serif;">'''[[File:4.PNG|RTENOTITLE]]'''</span>
  
&nbsp;
+
<span style="font-family:arial,helvetica,sans-serif;">Seguidament dibuixem les línies que separen els carrils del laberint (si mentre dibuixem mentenim premuda la tecla “Shift” del teclat aconseguirem que la línia que dibuixem sigui recte.</span>
  
<meta charset="utf-8"></meta>
+
<span style="font-family:arial,helvetica,sans-serif;">'''[[File:5.PNG|RTENOTITLE]]'''</span>
  
'''Per últim, modifiquem el nom de l’objecte podent-li un nom que ens pugui ser facilment identificable posteriorment.'''
+
<span style="font-family:arial,helvetica,sans-serif;">Per últim, modifiquem el nom de l’objecte podent-li un nom que ens pugui ser facilment identificable posteriorment.</span>
  
'''[[File:6.PNG|RTENOTITLE]]'''
+
<span style="font-family:arial,helvetica,sans-serif;">[[File:6.PNG|RTENOTITLE]]</span>
  
<meta charset="utf-8"></meta>'''&nbsp;&nbsp;&nbsp;&nbsp;El resultat és el següent:'''
+
<span style="font-family:arial,helvetica,sans-serif;">El resultat és el següent:</span>
  
'''[[File:7.PNG|RTENOTITLE]]'''
+
<span style="font-family:arial,helvetica,sans-serif;">'''[[File:7.PNG|RTENOTITLE]]'''</span>
  
<meta charset="utf-8"></meta>'''2) Pugem un segon objecte, que serà el protagonista del joc. Per fer-ho tornem a la categoria &nbsp;''''''[[File:9.PNG|RTENOTITLE]]&nbsp;i fem clic sobre aquesta mateixa icona.'''
+
<span style="font-family:arial,helvetica,sans-serif;">''Pugem un segon objecte, que serà el protagonista del joc. Per fer-ho tornem a la categoria&nbsp; &nbsp;'''''[[File:9.PNG|RTENOTITLE]]''i fem clic sobre aquesta mateixa icona.'''</span>
  
'''[[File:8.PNG|RTENOTITLE]]'''
+
<span style="font-family:arial,helvetica,sans-serif;">'''[[File:8.PNG|RTENOTITLE]]'''</span>
  
<meta charset="utf-8"></meta>'''3) Per acabar amb la preparació del joc, si volem també podem afegir un fons. Fem clic a la icona que trobem a l’escenari &nbsp;i seleccionem un dels fons de la biblioteca del programa.'''
+
<span style="font-family:arial,helvetica,sans-serif;">3) Per acabar amb la preparació del joc, si volem també podem afegir un fons. Fem clic a la icona que trobem a l’escenari &nbsp;i seleccionem un dels fons de la biblioteca del programa.</span>
  
[[File:11.PNG|RTENOTITLE]]
+
<span style="font-family:arial,helvetica,sans-serif;">[[File:11.PNG|RTENOTITLE]]</span>
  
'''[[File:10.PNG|RTENOTITLE]]'''
+
<span style="font-family:arial,helvetica,sans-serif;">'''[[File:10.PNG|RTENOTITLE]]'''</span>
  
&nbsp;
+
== &nbsp; ==
  
<meta charset="utf-8"></meta>
+
<span style="font-family:arial,helvetica,sans-serif;">Fins aquí hem preparat l’estructura del joc, en aquest segon apartat passem a contruir el programa.</span>
 
+
'''COMENCEM AMB EL PROGRAMA'''
+
 
+
&nbsp;
+
 
+
'''Fins aquí hem preparat l’estructura del joc, en aquest segon apartat passem a contruir el programa.'''
+
 
+
&nbsp;
+
  
'''4) Comencem aconseguint que el personatge es mogui i que a més, es mogui seguint el punter del ratolí. Per fer-ho hem d’assegurar-nos que tenim seleccionat el personatge i acte seguit construir el següent programa de codi:'''
+
<span style="font-family:arial,helvetica,sans-serif;">4) Comencem aconseguint que el personatge es mogui i que a més, es mogui seguint el punter del ratolí. Per fer-ho hem d’assegurar-nos que tenim seleccionat el personatge i acte seguit construir el següent programa de codi:</span>
  
[[File:12.PNG|RTENOTITLE]][[File:13.PNG|RTENOTITLE]]
+
<span style="font-family:arial,helvetica,sans-serif;">[[File:12.PNG|RTENOTITLE]][[File:13.PNG|RTENOTITLE]]</span>
  
<meta charset="utf-8"></meta>
+
<span style="font-family:arial,helvetica,sans-serif;"><meta charset="utf-8"></meta></span>
  
'''5) Ara que ja tenim el moviment del personatge hem d’aconseguir que detecti les parets del laberint, ja que fins ara pot moure’s per tot l’espai de l’escenari sense cap impediment.'''
+
<span style="font-family:arial,helvetica,sans-serif;">'''5) Ara que ja tenim el moviment del personatge hem d’aconseguir que detecti les parets del laberint, ja que fins ara pot moure’s per tot l’espai de l’escenari sense cap impediment.'''</span>
  
'''Seleccionem doncs els blocs que es mostren a continuació i en muntem un petit programa:'''
+
<span style="font-family:arial,helvetica,sans-serif;">'''Seleccionem doncs els blocs que es mostren a continuació i en muntem un petit programa:'''</span>
  
<br/> [[File:14.PNG|RTENOTITLE]][[File:15.PNG|RTENOTITLE]][[File:16.PNG|RTENOTITLE]]
+
<br/> <span style="font-family:arial,helvetica,sans-serif;">[[File:14.PNG|RTENOTITLE]][[File:15.PNG|RTENOTITLE]][[File:16.PNG|RTENOTITLE]]</span>
  
[[File:17.PNG|RTENOTITLE]]
+
<span style="font-family:arial,helvetica,sans-serif;">[[File:17.PNG|RTENOTITLE]]</span>
  
 
&nbsp;
 
&nbsp;
  
<meta charset="utf-8"></meta>
+
<span style="font-family:arial,helvetica,sans-serif;"><meta charset="utf-8"></meta></span>
  
'''6) Agrupem el nou bloc de programació amb el que haviem fet'''
+
<span style="font-family:arial,helvetica,sans-serif;">'''6) Agrupem el nou bloc de programació amb el que haviem fet'''</span>
  
[[File:18.PNG|RTENOTITLE]]&nbsp;
+
<span style="font-family:arial,helvetica,sans-serif;">[[File:18.PNG|RTENOTITLE]]&nbsp;</span>
  
<meta charset="utf-8"></meta>'''7) Millorem el programa afegint que al iniciar el joc el nostre personatge comenci sempre al punt d’inici, i es mostri en la direcció correcte.'''
+
<span style="font-family:arial,helvetica,sans-serif;"><meta charset="utf-8"></meta>'''7) Millorem el programa afegint que al iniciar el joc el nostre personatge comenci sempre al punt d’inici, i es mostri en la direcció correcte.'''</span>
  
[[File:19.PNG|RTENOTITLE]]
+
<span style="font-family:arial,helvetica,sans-serif;">[[File:19.PNG|RTENOTITLE]]</span>
  
<meta charset="utf-8"></meta>'''8) Donem dinamisme al joc aconseguint moure el personatge. Per aconseguir-ho caldrà utilitzar els blocs que permeten canviar el vestit d’un personatge. Si consulten la pestanya “vestits” del personatge que hem escollit veiem que en té 4:'''
+
<span style="font-family:arial,helvetica,sans-serif;"><meta charset="utf-8"></meta>'''8) Donem dinamisme al joc aconseguint moure el personatge. Per aconseguir-ho caldrà utilitzar els blocs que permeten canviar el vestit d’un personatge. Si consulten la pestanya “vestits” del personatge que hem escollit veiem que en té 4:'''</span>
  
[[File:20.PNG]]
+
<span style="font-family:arial,helvetica,sans-serif;">[[File:20.PNG|RTENOTITLE]]</span>
  
<meta charset="utf-8"></meta>
+
<span style="font-family:arial,helvetica,sans-serif;"><meta charset="utf-8"></meta></span>
  
'''Eliminem l’últim vestit, és a dir, el número 4 ja que el personatge es mostra d’esquenes i no ens interessa en aquest joc que es visualitzi aquest vestit. Per eliminiar-lo només cal que ens posem sobre el vestit 4 i fem clic a la creu de dalt a la dreta de la casella.'''
+
<span style="font-family:arial,helvetica,sans-serif;">'''Eliminem l’últim vestit, és a dir, el número 4 ja que el personatge es mostra d’esquenes i no ens interessa en aquest joc que es visualitzi aquest vestit. Per eliminiar-lo només cal que ens posem sobre el vestit 4 i fem clic a la creu de dalt a la dreta de la casella.'''</span>
  
<br/> '''Seguidament tornem a la pestanya de programació i afegim els blocs que tenim a continuació (els quals ens permeten canviar el vestit del personatge fent així més real el moviment d’aquest):'''
+
<br/> <span style="font-family:arial,helvetica,sans-serif;">'''Seguidament tornem a la pestanya de programació i afegim els blocs que tenim a continuació (els quals ens permeten canviar el vestit del personatge fent així més real el moviment d’aquest):'''</span>
  
'''[[File:21.PNG]][[File:22.PNG]]'''
+
<span style="font-family:arial,helvetica,sans-serif;">'''[[File:21.PNG|RTENOTITLE]][[File:22.PNG|RTENOTITLE]]'''</span>
  
'''[[File:23.PNG]]'''
+
<span style="font-family:arial,helvetica,sans-serif;">'''[[File:23.PNG|RTENOTITLE]]'''</span>
  
 
&nbsp;
 
&nbsp;
  
<meta charset="utf-8"></meta>
+
<span style="font-family:arial,helvetica,sans-serif;"><meta charset="utf-8"></meta></span>
  
'''8) Afegim complexitat al programa fent que el joc comenci amb 3 vides i les perdi cada vegada que el personatge topa amb una paret del laberint.'''
+
<span style="font-family:arial,helvetica,sans-serif;">'''8) Afegim complexitat al programa fent que el joc comenci amb 3 vides i les perdi cada vegada que el personatge topa amb una paret del laberint.'''</span>
  
'''Seleccionem la categoria [[File:24.PNG]]&nbsp;i fem clic sobre https://lh3.googleusercontent.com/VBmhgeGDip7cqUCpzGW1pB9OB_DcGAEPZmaVQbU79C_tCUGgvpwwlsK-udMooCOgBCOSVat6mgVBYatvaY2W2Vd5g8-5tZEFcCutEcRqeck7_hFahhSOSV9NLvvVredSNAMF2WEK, observem que se’ns obra una nova pantalla on podem posar el nom de la variable que volem crear. En aquest cas volem que sigui el comptador de vides, per tant l’anomenem amb aquest nom:'''
+
<span style="font-family:arial,helvetica,sans-serif;">'''Seleccionem la categoria [[File:24.PNG|RTENOTITLE]]&nbsp;i fem clic sobre [https://lh3.googleusercontent.com/VBmhgeGDip7cqUCpzGW1pB9OB_DcGAEPZmaVQbU79C_tCUGgvpwwlsK-udMooCOgBCOSVat6mgVBYatvaY2W2Vd5g8-5tZEFcCutEcRqeck7_hFahhSOSV9NLvvVredSNAMF2WEK https://lh3.googleusercontent.com/VBmhgeGDip7cqUCpzGW1pB9OB_DcGAEPZmaVQbU79C_tCUGgvpwwlsK-udMooCOgBCOSVat6mgVBYatvaY2W2Vd5g8-5tZEFcCutEcRqeck7_hFahhSOSV9NLvvVredSNAMF2WEK], observem que se’ns obra una nova pantalla on podem posar el nom de la variable que volem crear. En aquest cas volem que sigui el comptador de vides, per tant l’anomenem amb aquest nom:'''</span>
  
'''[[File:26.PNG]]'''
+
<span style="font-family:arial,helvetica,sans-serif;">'''[[File:26.PNG|RTENOTITLE]]'''</span>
  
<meta charset="utf-8"></meta>'''Observem que un cop creada ja ens apareix a l’apartat de variables amb el nom que li hem posat.'''
+
<span style="font-family:arial,helvetica,sans-serif;"><meta charset="utf-8"></meta>'''Observem que un cop creada ja ens apareix a l’apartat de variables amb el nom que li hem posat.'''</span>
  
'''[[File:27.PNG]]'''
+
<span style="font-family:arial,helvetica,sans-serif;">'''[[File:27.PNG|RTENOTITLE]]'''</span>
  
<meta charset="utf-8"></meta>
+
<span style="font-family:arial,helvetica,sans-serif;"><meta charset="utf-8"></meta></span>
  
'''La casella que ens apareix a l’esquerre del bloc serveix perquè la variable se’ns mostri a la pantalla del joc (o per contra, no es mostri si el deixem sense seleccionar).'''
+
<span style="font-family:arial,helvetica,sans-serif;">'''La casella que ens apareix a l’esquerre del bloc serveix perquè la variable se’ns mostri a la pantalla del joc (o per contra, no es mostri si el deixem sense seleccionar).'''</span>
  
 
&nbsp;
 
&nbsp;
  
'''Afegim al programa ja construït que al tocar una de les parets del laberint, a banda de retornar a l’inici resti també una vida del personatge. https://docs.google.com/a/e-citilab.eu/drawings/d/s0Or6C_WzEjeV-9-VKRMEcg/image?w=210&h=273&rev=8&ac=1&parent=1TfDS-ve6G5aKnelKtMDGkC-ZqscpWq8Jpvn2zQEYg5Q'''
+
<span style="font-family:arial,helvetica,sans-serif;">'''Afegim al programa ja construït que al tocar una de les parets del laberint, a banda de retornar a l’inici resti també una vida del personatge. [https://docs.google.com/a/e-citilab.eu/drawings/d/s0Or6C_WzEjeV-9-VKRMEcg/image?w=210&h=273&rev=8&ac=1&parent=1TfDS-ve6G5aKnelKtMDGkC-ZqscpWq8Jpvn2zQEYg5Q https://docs.google.com/a/e-citilab.eu/drawings/d/s0Or6C_WzEjeV-9-VKRMEcg/image?w=210&h=273&rev=8&ac=1&parent=1TfDS-ve6G5aKnelKtMDGkC-ZqscpWq8Jpvn2zQEYg5Q]'''</span>
  
 
&nbsp;
 
&nbsp;
  
<meta charset="utf-8"></meta>
+
<span style="font-family:arial,helvetica,sans-serif;"><meta charset="utf-8"></meta></span>
  
'''Adonem-nos que al iniciar el comptador comença aquest es troba a 0. Per aconseguir que al iniciar el joc ja disposem d’alguna vida cal que fixem a l’inici que el marcador es trobi ja predeterminat amb per exemple 3 vides.'''
+
<span style="font-family:arial,helvetica,sans-serif;">'''Adonem-nos que al iniciar el comptador comença aquest es troba a 0. Per aconseguir que al iniciar el joc ja disposem d’alguna vida cal que fixem a l’inici que el marcador es trobi ja predeterminat amb per exemple 3 vides.'''</span>
  
[[File:29.PNG]]
+
<span style="font-family:arial,helvetica,sans-serif;">[[File:29.PNG|RTENOTITLE]]</span>
  
 
&nbsp;
 
&nbsp;
  
<meta charset="utf-8"></meta>
+
<span style="font-family:arial,helvetica,sans-serif;"><meta charset="utf-8"></meta></span>
  
'''Per acabar de tancar el joc farem que quan el comptador es trobi a 0 s’aturi tot.'''
+
<span style="font-family:arial,helvetica,sans-serif;">'''Per acabar de tancar el joc farem que quan el comptador es trobi a 0 s’aturi tot.'''</span>
  
'''Necessitem quatre blocs nous:'''
+
<span style="font-family:arial,helvetica,sans-serif;">'''Necessitem quatre blocs nous:'''</span>
  
[[File:30.PNG]][[File:31.PNG]][[File:32.PNG]][[File:33.PNG]]
+
<span style="font-family:arial,helvetica,sans-serif;">[[File:30.PNG|RTENOTITLE]][[File:31.PNG|RTENOTITLE]][[File:32.PNG|RTENOTITLE]][[File:33.PNG|RTENOTITLE]]</span>
  
[[File:34.PNG]]
+
<span style="font-family:arial,helvetica,sans-serif;">[[File:34.PNG|RTENOTITLE]]</span>
  
<meta charset="utf-8"></meta>'''Modifiquem el programa canviant el “per sempre” per el “repeteix fins” que el comptador de vides estigui a 0.'''
+
<span style="font-family:arial,helvetica,sans-serif;"><meta charset="utf-8"></meta>'''Modifiquem el programa canviant el “per sempre” per el “repeteix fins” que el comptador de vides estigui a 0.'''</span>
  
[[File:35.PNG]]
+
<span style="font-family:arial,helvetica,sans-serif;">[[File:35.PNG|RTENOTITLE]]</span>
  
 
&nbsp;
 
&nbsp;
  
<meta charset="utf-8"></meta>
+
<span style="font-family:arial,helvetica,sans-serif;"><meta charset="utf-8"></meta></span>
  
'''ENVIAMENT DE MISSATGES'''
+
<span style="font-family:arial,helvetica,sans-serif;">'''ENVIAMENT DE MISSATGES'''</span>
  
 
&nbsp;
 
&nbsp;
  
'''L’ús de missatges en la construcció dels programes és un bon mètode per fer que uns objectes es comuniquin amb els altres. En aquest cas ens servirà per reiniciar el joc cada vegada que el personatge toca una paret del laberint i a més ens permetrà sintetitzar el codi.'''
+
<span style="font-family:arial,helvetica,sans-serif;">'''L’ús de missatges en la construcció dels programes és un bon mètode per fer que uns objectes es comuniquin amb els altres. En aquest cas ens servirà per reiniciar el joc cada vegada que el personatge toca una paret del laberint i a més ens permetrà sintetitzar el codi.'''</span>
  
'''Necessitem dels dos blocs següents per utilitzar els missatges:'''
+
<span style="font-family:arial,helvetica,sans-serif;">'''Necessitem dels dos blocs següents per utilitzar els missatges:'''</span>
  
[[File:36.PNG]]
+
<span style="font-family:arial,helvetica,sans-serif;">[[File:36.PNG|RTENOTITLE]]</span>
  
<meta charset="utf-8"></meta>'''El missatge que volem enviar cal que el personalitzem. Podem fer tants missatges com ordres necessitem realitzar. En aquest cas anomenem “Inici del joc” al missatge. '''[[File:37.PNG]]
+
<span style="font-family:arial,helvetica,sans-serif;"><meta charset="utf-8"></meta>'''El missatge que volem enviar cal que el personalitzem. Podem fer tants missatges com ordres necessitem realitzar. En aquest cas anomenem “Inici del joc” al missatge. '''[[File:37.PNG|RTENOTITLE]]</span>
  
 
&nbsp;
 
&nbsp;
  
<meta charset="utf-8"></meta>
+
<span style="font-family:arial,helvetica,sans-serif;"><meta charset="utf-8"></meta></span>
  
'''Modifiquem el programa que haviem construir afegint aquest blocs de programació. Per una banda organitzem les ordres d’inici del joc en un primer programa i col·loquem l’enviament de missatge en aquest primer bloc. Seguidament fem un segon bloc amb les accions que realitza el personatge un cop rep l’ordre d’iniciar-se.'''
+
<span style="font-family:arial,helvetica,sans-serif;">'''Modifiquem el programa que haviem construir afegint aquest blocs de programació. Per una banda organitzem les ordres d’inici del joc en un primer programa i col·loquem l’enviament de missatge en aquest primer bloc. Seguidament fem un segon bloc amb les accions que realitza el personatge un cop rep l’ordre d’iniciar-se.'''</span>
  
'''També podem utilitzar l’enviament del missatge per quan es toquin les parets del laberint el joc es reinici automàticament. El codi quedaria així:'''
+
<span style="font-family:arial,helvetica,sans-serif;">'''També podem utilitzar l’enviament del missatge per quan es toquin les parets del laberint el joc es reinici automàticament. El codi quedaria així:'''</span>
  
[[File:39.PNG]]
+
<span style="font-family:arial,helvetica,sans-serif;">[[File:39.PNG|RTENOTITLE]]</span>
  
 
&nbsp;
 
&nbsp;
  
<meta charset="utf-8"></meta>
+
<span style="font-family:arial,helvetica,sans-serif;"><meta charset="utf-8"></meta></span>
  
'''TANCAMENT DEL JOC<br/> Per finalitzar el joc afegirem un petit programa que permeti detectar quan el personatge ha arribat a la sortida del laberint.'''
+
<span style="font-family:arial,helvetica,sans-serif;">'''TANCAMENT DEL JOC<br/> Per finalitzar el joc afegirem un petit programa que permeti detectar quan el personatge ha arribat a la sortida del laberint.'''</span>
  
'''Per fer-ho primer caldrà modificar el laberin i borrar-ne una paret al final:'''
+
<span style="font-family:arial,helvetica,sans-serif;">'''Per fer-ho primer caldrà modificar el laberin i borrar-ne una paret al final:'''</span>
  
[[File:39.PNG]]
+
<span style="font-family:arial,helvetica,sans-serif;">[[File:39.PNG|RTENOTITLE]]</span>
  
 
&nbsp;
 
&nbsp;
  
<meta charset="utf-8"></meta>
+
<span style="font-family:arial,helvetica,sans-serif;"><meta charset="utf-8"></meta></span>
  
'''Un cop fet això, afegim el següent programa:&nbsp;'''
+
<span style="font-family:arial,helvetica,sans-serif;">'''Un cop fet això, afegim el següent programa:&nbsp;'''</span>
  
'''[[File:40.PNG]]'''
+
<span style="font-family:arial,helvetica,sans-serif;">'''[[File:40.PNG|RTENOTITLE]]'''</span>
  
'''[[File:41.PNG]]'''
+
<span style="font-family:arial,helvetica,sans-serif;">'''[[File:41.PNG|RTENOTITLE]]'''</span>
  
<meta charset="utf-8"></meta>'''Aquest cop però qui rep el missatge és un nou objecte. Generem un nou objecte i aquest cop fem ús del text de l’editor d’imatges:'''
+
<span style="font-family:arial,helvetica,sans-serif;"><meta charset="utf-8"></meta>'''Aquest cop però qui rep el missatge és un nou objecte. Generem un nou objecte i aquest cop fem ús del text de l’editor d’imatges:'''</span>
  
[[File:42.PNG]]
+
<span style="font-family:arial,helvetica,sans-serif;">[[File:42.PNG|RTENOTITLE]]</span>
  
<meta charset="utf-8"></meta>'''Per últim agefim el següent codi en aquest nou objecte:'''
+
<span style="font-family:arial,helvetica,sans-serif;"><meta charset="utf-8"></meta>'''Per últim agefim el següent codi en aquest nou objecte:'''</span>
  
[[File:43.PNG]]
+
<span style="font-family:arial,helvetica,sans-serif;">[[File:43.PNG|RTENOTITLE]]</span>
  
 
&nbsp;
 
&nbsp;

Revision as of 13:15, 30 November 2018

El Laberint

La pràctica que es desenvolupa a continuació permet dissenyar el joc “El Laberint”. Aquest consisteix en aconseguir alliberar la gossa Laika del laberint on es troba.

RTENOTITLE

 

Preparació del joc

El primer pas és crear el laberint. Aquest serà un objecte per tal de facilitar la programació del joc aconseguint que un altre objecte el toqui. Així que, obrim l’editor d’imatges de la categoria “objectes”RTENOTITLE  i de les opcions que se’ns despleguen escollim la de “dibuix” RTENOTITLE    RTENOTITLE


Fixem-nos en els elements remarcats a la imatge que es mostra a contianuació. Aquests seran els paràmetres que utilitzarem per dibuixar el laberint.

RTENOTITLE

Dibuixem primer el contron del laberint amb un quadrat buit.

RTENOTITLE

Seguidament dibuixem les línies que separen els carrils del laberint (si mentre dibuixem mentenim premuda la tecla “Shift” del teclat aconseguirem que la línia que dibuixem sigui recte.

RTENOTITLE

Per últim, modifiquem el nom de l’objecte podent-li un nom que ens pugui ser facilment identificable posteriorment.

RTENOTITLE

El resultat és el següent:

RTENOTITLE

Pugem un segon objecte, que serà el protagonista del joc. Per fer-ho tornem a la categoria   RTENOTITLEi fem clic sobre aquesta mateixa icona.

RTENOTITLE

3) Per acabar amb la preparació del joc, si volem també podem afegir un fons. Fem clic a la icona que trobem a l’escenari  i seleccionem un dels fons de la biblioteca del programa.

RTENOTITLE

RTENOTITLE

 

Fins aquí hem preparat l’estructura del joc, en aquest segon apartat passem a contruir el programa.

4) Comencem aconseguint que el personatge es mogui i que a més, es mogui seguint el punter del ratolí. Per fer-ho hem d’assegurar-nos que tenim seleccionat el personatge i acte seguit construir el següent programa de codi:

RTENOTITLERTENOTITLE

<meta charset="utf-8"></meta>

5) Ara que ja tenim el moviment del personatge hem d’aconseguir que detecti les parets del laberint, ja que fins ara pot moure’s per tot l’espai de l’escenari sense cap impediment.

Seleccionem doncs els blocs que es mostren a continuació i en muntem un petit programa:


RTENOTITLERTENOTITLERTENOTITLE

RTENOTITLE

 

<meta charset="utf-8"></meta>

6) Agrupem el nou bloc de programació amb el que haviem fet

RTENOTITLE 

<meta charset="utf-8"></meta>7) Millorem el programa afegint que al iniciar el joc el nostre personatge comenci sempre al punt d’inici, i es mostri en la direcció correcte.

RTENOTITLE

<meta charset="utf-8"></meta>8) Donem dinamisme al joc aconseguint moure el personatge. Per aconseguir-ho caldrà utilitzar els blocs que permeten canviar el vestit d’un personatge. Si consulten la pestanya “vestits” del personatge que hem escollit veiem que en té 4:

RTENOTITLE

<meta charset="utf-8"></meta>

Eliminem l’últim vestit, és a dir, el número 4 ja que el personatge es mostra d’esquenes i no ens interessa en aquest joc que es visualitzi aquest vestit. Per eliminiar-lo només cal que ens posem sobre el vestit 4 i fem clic a la creu de dalt a la dreta de la casella.


Seguidament tornem a la pestanya de programació i afegim els blocs que tenim a continuació (els quals ens permeten canviar el vestit del personatge fent així més real el moviment d’aquest):

RTENOTITLERTENOTITLE

RTENOTITLE

 

<meta charset="utf-8"></meta>

8) Afegim complexitat al programa fent que el joc comenci amb 3 vides i les perdi cada vegada que el personatge topa amb una paret del laberint.

Seleccionem la categoria RTENOTITLE i fem clic sobre https://lh3.googleusercontent.com/VBmhgeGDip7cqUCpzGW1pB9OB_DcGAEPZmaVQbU79C_tCUGgvpwwlsK-udMooCOgBCOSVat6mgVBYatvaY2W2Vd5g8-5tZEFcCutEcRqeck7_hFahhSOSV9NLvvVredSNAMF2WEK, observem que se’ns obra una nova pantalla on podem posar el nom de la variable que volem crear. En aquest cas volem que sigui el comptador de vides, per tant l’anomenem amb aquest nom:

RTENOTITLE

<meta charset="utf-8"></meta>Observem que un cop creada ja ens apareix a l’apartat de variables amb el nom que li hem posat.

RTENOTITLE

<meta charset="utf-8"></meta>

La casella que ens apareix a l’esquerre del bloc serveix perquè la variable se’ns mostri a la pantalla del joc (o per contra, no es mostri si el deixem sense seleccionar).

 

Afegim al programa ja construït que al tocar una de les parets del laberint, a banda de retornar a l’inici resti també una vida del personatge. https://docs.google.com/a/e-citilab.eu/drawings/d/s0Or6C_WzEjeV-9-VKRMEcg/image?w=210&h=273&rev=8&ac=1&parent=1TfDS-ve6G5aKnelKtMDGkC-ZqscpWq8Jpvn2zQEYg5Q

 

<meta charset="utf-8"></meta>

Adonem-nos que al iniciar el comptador comença aquest es troba a 0. Per aconseguir que al iniciar el joc ja disposem d’alguna vida cal que fixem a l’inici que el marcador es trobi ja predeterminat amb per exemple 3 vides.

RTENOTITLE

 

<meta charset="utf-8"></meta>

Per acabar de tancar el joc farem que quan el comptador es trobi a 0 s’aturi tot.

Necessitem quatre blocs nous:

RTENOTITLERTENOTITLERTENOTITLERTENOTITLE

RTENOTITLE

<meta charset="utf-8"></meta>Modifiquem el programa canviant el “per sempre” per el “repeteix fins” que el comptador de vides estigui a 0.

RTENOTITLE

 

<meta charset="utf-8"></meta>

ENVIAMENT DE MISSATGES

 

L’ús de missatges en la construcció dels programes és un bon mètode per fer que uns objectes es comuniquin amb els altres. En aquest cas ens servirà per reiniciar el joc cada vegada que el personatge toca una paret del laberint i a més ens permetrà sintetitzar el codi.

Necessitem dels dos blocs següents per utilitzar els missatges:

RTENOTITLE

<meta charset="utf-8"></meta>El missatge que volem enviar cal que el personalitzem. Podem fer tants missatges com ordres necessitem realitzar. En aquest cas anomenem “Inici del joc” al missatge. RTENOTITLE

 

<meta charset="utf-8"></meta>

Modifiquem el programa que haviem construir afegint aquest blocs de programació. Per una banda organitzem les ordres d’inici del joc en un primer programa i col·loquem l’enviament de missatge en aquest primer bloc. Seguidament fem un segon bloc amb les accions que realitza el personatge un cop rep l’ordre d’iniciar-se.

També podem utilitzar l’enviament del missatge per quan es toquin les parets del laberint el joc es reinici automàticament. El codi quedaria així:

RTENOTITLE

 

<meta charset="utf-8"></meta>

TANCAMENT DEL JOC
Per finalitzar el joc afegirem un petit programa que permeti detectar quan el personatge ha arribat a la sortida del laberint.

Per fer-ho primer caldrà modificar el laberin i borrar-ne una paret al final:

RTENOTITLE

 

<meta charset="utf-8"></meta>

Un cop fet això, afegim el següent programa: 

RTENOTITLE

RTENOTITLE

<meta charset="utf-8"></meta>Aquest cop però qui rep el missatge és un nou objecte. Generem un nou objecte i aquest cop fem ús del text de l’editor d’imatges:

RTENOTITLE

<meta charset="utf-8"></meta>Per últim agefim el següent codi en aquest nou objecte:

RTENOTITLE