Difference between revisions of "Laika al laberint espacial"

From Edutec Wiki
Jump to: navigation, search
Line 10: Line 10:
 
<span style="font-family:arial,helvetica,sans-serif;">'''Preparació del joc'''</span>
 
<span style="font-family:arial,helvetica,sans-serif;">'''Preparació del joc'''</span>
  
#
+
<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;</span>
<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>
+
  
 +
<span style="font-family:arial,helvetica,sans-serif;">&nbsp;&nbsp;</span><span style="font-family:arial,helvetica,sans-serif;">[[File:Doss.PNG|RTENOTITLE]]</span>
  
 
<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>
 
<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>
Line 20: Line 20:
 
<span style="font-family:arial,helvetica,sans-serif;">Dibuixem primer el contron del laberint amb un quadrat buit.</span>
 
<span style="font-family:arial,helvetica,sans-serif;">Dibuixem primer el contron del laberint amb un quadrat buit.</span>
  
<span style="font-family:arial,helvetica,sans-serif;">'''[[File:4.PNG|RTENOTITLE]]'''</span>
+
<span style="font-family:arial,helvetica,sans-serif;">'''[[File:4.PNG|50px|RTENOTITLE]]'''</span>
  
 
<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>
 
<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>
  
<span style="font-family:arial,helvetica,sans-serif;">'''[[File:5.PNG|RTENOTITLE]]'''</span>
+
<span style="font-family:arial,helvetica,sans-serif;">'''[[File:5.PNG|50px|RTENOTITLE]]'''</span>
  
 
<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>
 
<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>
Line 32: Line 32:
 
<span style="font-family:arial,helvetica,sans-serif;">El resultat és el següent:</span>
 
<span style="font-family:arial,helvetica,sans-serif;">El resultat és el següent:</span>
  
<span style="font-family:arial,helvetica,sans-serif;">'''[[File:7.PNG|RTENOTITLE]]'''</span>
+
<span style="font-family:arial,helvetica,sans-serif;">'''[[File:7.PNG|50px|RTENOTITLE]]'''</span>
  
<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>
+
<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]]&nbsp;'''i fem clic sobre aquesta mateixa icona.</span>
  
 
<span style="font-family:arial,helvetica,sans-serif;">'''[[File:8.PNG|RTENOTITLE]]'''</span>
 
<span style="font-family:arial,helvetica,sans-serif;">'''[[File:8.PNG|RTENOTITLE]]'''</span>
  
<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>
+
<span style="font-family:arial,helvetica,sans-serif;">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>
  
 
<span style="font-family:arial,helvetica,sans-serif;">[[File:11.PNG|RTENOTITLE]]</span>
 
<span style="font-family:arial,helvetica,sans-serif;">[[File:11.PNG|RTENOTITLE]]</span>
Line 48: Line 48:
 
<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>
 
<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>
  
<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>
+
<span style="font-family:arial,helvetica,sans-serif;">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>
  
 
<span style="font-family:arial,helvetica,sans-serif;">[[File:12.PNG|RTENOTITLE]][[File:13.PNG|RTENOTITLE]]</span>
 
<span style="font-family:arial,helvetica,sans-serif;">[[File:12.PNG|RTENOTITLE]][[File:13.PNG|RTENOTITLE]]</span>
  
<span style="font-family:arial,helvetica,sans-serif;"><meta charset="utf-8"></meta></span>
+
<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>
  
<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>
+
<span style="font-family:arial,helvetica,sans-serif;">Seleccionem doncs els blocs que es mostren a continuació i en muntem un petit programa:</span>
 
+
<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/> <span style="font-family:arial,helvetica,sans-serif;">[[File:14.PNG|RTENOTITLE]][[File:15.PNG|RTENOTITLE]][[File:16.PNG|RTENOTITLE]]</span>
 
<br/> <span style="font-family:arial,helvetica,sans-serif;">[[File:14.PNG|RTENOTITLE]][[File:15.PNG|RTENOTITLE]][[File:16.PNG|RTENOTITLE]]</span>
Line 62: Line 60:
 
<span style="font-family:arial,helvetica,sans-serif;">[[File:17.PNG|RTENOTITLE]]</span>
 
<span style="font-family:arial,helvetica,sans-serif;">[[File:17.PNG|RTENOTITLE]]</span>
  
&nbsp;
+
<span style="font-family:arial,helvetica,sans-serif;">6) Agrupem el nou bloc de programació amb el que haviem fet</span>
 
+
<span style="font-family:arial,helvetica,sans-serif;"><meta charset="utf-8"></meta></span>
+
 
+
<span style="font-family:arial,helvetica,sans-serif;">'''6) Agrupem el nou bloc de programació amb el que haviem fet'''</span>
+
  
 
<span style="font-family:arial,helvetica,sans-serif;">[[File:18.PNG|RTENOTITLE]]&nbsp;</span>
 
<span style="font-family:arial,helvetica,sans-serif;">[[File:18.PNG|RTENOTITLE]]&nbsp;</span>
  
<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>
+
<span style="font-family:arial,helvetica,sans-serif;">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>
  
 
<span style="font-family:arial,helvetica,sans-serif;">[[File:19.PNG|RTENOTITLE]]</span>
 
<span style="font-family:arial,helvetica,sans-serif;">[[File:19.PNG|RTENOTITLE]]</span>
  
<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>
+
<span style="font-family:arial,helvetica,sans-serif;">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>
  
<span style="font-family:arial,helvetica,sans-serif;">[[File:20.PNG|RTENOTITLE]]</span>
+
<span style="font-family:arial,helvetica,sans-serif;">[[File:20.PNG|50px|RTENOTITLE]]</span>
  
<span style="font-family:arial,helvetica,sans-serif;"><meta charset="utf-8"></meta></span>
+
<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>
  
<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/> <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>
 
+
<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>
+
  
 
<span style="font-family:arial,helvetica,sans-serif;">'''[[File:21.PNG|RTENOTITLE]][[File:22.PNG|RTENOTITLE]]'''</span>
 
<span style="font-family:arial,helvetica,sans-serif;">'''[[File:21.PNG|RTENOTITLE]][[File:22.PNG|RTENOTITLE]]'''</span>
Line 88: Line 80:
 
<span style="font-family:arial,helvetica,sans-serif;">'''[[File:23.PNG|RTENOTITLE]]'''</span>
 
<span style="font-family:arial,helvetica,sans-serif;">'''[[File:23.PNG|RTENOTITLE]]'''</span>
  
&nbsp;
+
<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>
  
<span style="font-family:arial,helvetica,sans-serif;"><meta charset="utf-8"></meta></span>
+
<span style="font-family:arial,helvetica,sans-serif;">Seleccionem la categoria [[File:24.PNG|RTENOTITLE]]&nbsp;i fem clic sobre'''&nbsp;'''?</span><span style="font-family:arial,helvetica,sans-serif;">, 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>
  
<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>
+
<span style="font-family:arial,helvetica,sans-serif;">'''[[File:26.PNG|40px|RTENOTITLE]]'''</span>
  
<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>
+
<span style="font-family:arial,helvetica,sans-serif;">Observem que un cop creada ja ens apareix a l’apartat de variables amb el nom que li hem posat.</span>
 
+
<span style="font-family:arial,helvetica,sans-serif;">'''[[File:26.PNG|RTENOTITLE]]'''</span>
+
 
+
<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>
+
  
 
<span style="font-family:arial,helvetica,sans-serif;">'''[[File:27.PNG|RTENOTITLE]]'''</span>
 
<span style="font-family:arial,helvetica,sans-serif;">'''[[File:27.PNG|RTENOTITLE]]'''</span>
  
<span style="font-family:arial,helvetica,sans-serif;"><meta charset="utf-8"></meta></span>
+
<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>
  
<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>
+
<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.</span>
  
&nbsp;
+
<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>
 
+
<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;
+
 
+
<span style="font-family:arial,helvetica,sans-serif;"><meta charset="utf-8"></meta></span>
+
 
+
<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>
+
  
 
<span style="font-family:arial,helvetica,sans-serif;">[[File:29.PNG|RTENOTITLE]]</span>
 
<span style="font-family:arial,helvetica,sans-serif;">[[File:29.PNG|RTENOTITLE]]</span>
  
&nbsp;
+
<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>
 
+
<span style="font-family:arial,helvetica,sans-serif;"><meta charset="utf-8"></meta></span>
+
 
+
<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>
+
  
<span style="font-family:arial,helvetica,sans-serif;">'''Necessitem quatre blocs nous:'''</span>
+
<span style="font-family:arial,helvetica,sans-serif;">Necessitem quatre blocs nous:</span>
  
 
<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>
 
<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>
Line 130: Line 106:
 
<span style="font-family:arial,helvetica,sans-serif;">[[File:34.PNG|RTENOTITLE]]</span>
 
<span style="font-family:arial,helvetica,sans-serif;">[[File:34.PNG|RTENOTITLE]]</span>
  
<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>
+
<span style="font-family:arial,helvetica,sans-serif;">Modifiquem el programa canviant el “per sempre” per el “repeteix fins” que el comptador de vides estigui a 0.</span>
  
 
<span style="font-family:arial,helvetica,sans-serif;">[[File:35.PNG|RTENOTITLE]]</span>
 
<span style="font-family:arial,helvetica,sans-serif;">[[File:35.PNG|RTENOTITLE]]</span>
 
&nbsp;
 
 
<span style="font-family:arial,helvetica,sans-serif;"><meta charset="utf-8"></meta></span>
 
  
 
<span style="font-family:arial,helvetica,sans-serif;">'''ENVIAMENT DE MISSATGES'''</span>
 
<span style="font-family:arial,helvetica,sans-serif;">'''ENVIAMENT DE MISSATGES'''</span>
  
&nbsp;
+
<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>
  
<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>
+
<span style="font-family:arial,helvetica,sans-serif;">Necessitem dels dos blocs següents per utilitzar els missatges:</span>
 
+
<span style="font-family:arial,helvetica,sans-serif;">'''Necessitem dels dos blocs següents per utilitzar els missatges:'''</span>
+
  
 
<span style="font-family:arial,helvetica,sans-serif;">[[File:36.PNG|RTENOTITLE]]</span>
 
<span style="font-family:arial,helvetica,sans-serif;">[[File:36.PNG|RTENOTITLE]]</span>
  
<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>
+
<span style="font-family:arial,helvetica,sans-serif;">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;
+
 
+
<span style="font-family:arial,helvetica,sans-serif;"><meta charset="utf-8"></meta></span>
+
 
+
<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>
+
 
+
<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>
+
 
+
<span style="font-family:arial,helvetica,sans-serif;">[[File:39.PNG|RTENOTITLE]]</span>
+
  
&nbsp;
+
<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>
  
<span style="font-family:arial,helvetica,sans-serif;"><meta charset="utf-8"></meta></span>
+
<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>
  
<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>
+
<span style="font-family:arial,helvetica,sans-serif;">[[File:39.PNG|x100px|RTENOTITLE]]</span>
  
<span style="font-family:arial,helvetica,sans-serif;">'''Per fer-ho primer caldrà modificar el laberin i borrar-ne una paret al final:'''</span>
+
<span style="font-family:arial,helvetica,sans-serif;">'''TANCAMENT DEL JOC'''</span>
  
<span style="font-family:arial,helvetica,sans-serif;">[[File:39.PNG|RTENOTITLE]]</span>
+
<br/> <span style="font-family:arial,helvetica,sans-serif;">Per finalitzar el joc afegirem un petit programa que permeti detectar quan el personatge ha arribat a la sortida del laberint.</span>
  
&nbsp;
+
<span style="font-family:arial,helvetica,sans-serif;">Per fer-ho primer caldrà modificar el laberin i borrar-ne una paret al final:</span>
  
<span style="font-family:arial,helvetica,sans-serif;"><meta charset="utf-8"></meta></span>
+
<span style="font-family:arial,helvetica,sans-serif;">[[File:39.PNG|50px|RTENOTITLE]]</span>
  
<span style="font-family:arial,helvetica,sans-serif;">'''Un cop fet això, afegim el següent programa:&nbsp;'''</span>
+
<span style="font-family:arial,helvetica,sans-serif;">Un cop fet això, afegim el següent programa:&nbsp;</span>
  
 
<span style="font-family:arial,helvetica,sans-serif;">'''[[File:40.PNG|RTENOTITLE]]'''</span>
 
<span style="font-family:arial,helvetica,sans-serif;">'''[[File:40.PNG|RTENOTITLE]]'''</span>
Line 180: Line 140:
 
<span style="font-family:arial,helvetica,sans-serif;">'''[[File:41.PNG|RTENOTITLE]]'''</span>
 
<span style="font-family:arial,helvetica,sans-serif;">'''[[File:41.PNG|RTENOTITLE]]'''</span>
  
<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>
+
<span style="font-family:arial,helvetica,sans-serif;">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>
  
<span style="font-family:arial,helvetica,sans-serif;">[[File:42.PNG|RTENOTITLE]]</span>
+
<span style="font-family:arial,helvetica,sans-serif;">[[File:42.PNG|50px|RTENOTITLE]]</span>
  
<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>
+
<span style="font-family:arial,helvetica,sans-serif;">Per últim agefim el següent codi en aquest nou objecte:</span>
  
 
<span style="font-family:arial,helvetica,sans-serif;">[[File:43.PNG|RTENOTITLE]]</span>
 
<span style="font-family:arial,helvetica,sans-serif;">[[File:43.PNG|RTENOTITLE]]</span>

Revision as of 13:47, 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   RTENOTITLE i fem clic sobre aquesta mateixa icona.

RTENOTITLE

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.

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

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

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

RTENOTITLE 

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

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

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

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 ?, 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

Observem que un cop creada ja ens apareix a l’apartat de variables amb el nom que li hem posat.

RTENOTITLE

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.

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

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

Necessitem quatre blocs nous:

RTENOTITLERTENOTITLERTENOTITLERTENOTITLE

RTENOTITLE

Modifiquem el programa canviant el “per sempre” per el “repeteix fins” que el comptador de vides estigui a 0.

RTENOTITLE

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

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

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

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

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

RTENOTITLE

RTENOTITLE

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

Per últim agefim el següent codi en aquest nou objecte:

RTENOTITLE