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>
+
== <span style="font-family:arial,helvetica,sans-serif;">'''El Laberint'''</span> ==
  
<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>
+
<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.&nbsp;El personatge comença el joc amb 3 vides i cada vegada que toca una de les parets del laberint en perd una.&nbsp;</span>
  
 
<span style="font-family:arial,helvetica,sans-serif;">[[File:1.PNG|300x250px|RTENOTITLE]]</span>
 
<span style="font-family:arial,helvetica,sans-serif;">[[File:1.PNG|300x250px|RTENOTITLE]]</span>
Line 8: Line 8:
 
&nbsp;
 
&nbsp;
  
<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;</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;">&nbsp;&nbsp;</span><span style="font-family:arial,helvetica,sans-serif;">[[File:Doss.PNG|30px|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>
  
<span style="font-family:arial,helvetica,sans-serif;">[[File:3.PNG|RTENOTITLE]]</span>
+
<span style="font-family:arial,helvetica,sans-serif;">[[File:3.PNG|32px|RTENOTITLE]]</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;">1) Dibuixem primer el contron del laberint amb un quadrat buit.</span>
  
<span style="font-family:arial,helvetica,sans-serif;">'''[[File:4.PNG|50px|RTENOTITLE]]'''</span>
+
<span style="font-family:arial,helvetica,sans-serif;">'''[[File:4.PNG|30px|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;">2) Seguidament tracem 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|50px|RTENOTITLE]]'''</span>
+
<span style="font-family:arial,helvetica,sans-serif;">'''[[File:5.PNG|30px|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;">3) Per últim, modifiquem el nom de l’objecte posant-li un nom que ens pugui ser facilment identificable posteriorment.</span>
  
 
<span style="font-family:arial,helvetica,sans-serif;">[[File:6.PNG|RTENOTITLE]]</span>
 
<span style="font-family:arial,helvetica,sans-serif;">[[File:6.PNG|RTENOTITLE]]</span>
  
<span style="font-family:arial,helvetica,sans-serif;">El resultat és el següent:</span>
+
<span style="font-family:arial,helvetica,sans-serif;">4) El resultat és el següent:</span>
  
<span style="font-family:arial,helvetica,sans-serif;">'''[[File:7.PNG|50px|RTENOTITLE]]'''</span>
+
<span style="font-family:arial,helvetica,sans-serif;">'''[[File:7.PNG|30px|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]]&nbsp;'''i fem clic sobre aquesta mateixa icona.</span>
+
<span style="font-family:arial,helvetica,sans-serif;">5) 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|30px|RTENOTITLE]]'''</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;">5)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>
  
<span style="font-family:arial,helvetica,sans-serif;">'''[[File:10.PNG|RTENOTITLE]]'''</span>
+
<span style="font-family:arial,helvetica,sans-serif;">'''[[File:10.PNG|30px|RTENOTITLE]]'''</span>
  
== &nbsp; ==
+
&nbsp;
 +
 
 +
=== '''Programació del joc''' ===
  
 
<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;">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;">1) 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|30px|RTENOTITLE]][[File:13.PNG|RTENOTITLE]]</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;">2) 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>
Line 58: Line 60:
 
<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>
  
<span style="font-family:arial,helvetica,sans-serif;">[[File:17.PNG|RTENOTITLE]]</span>
+
<span style="font-family:arial,helvetica,sans-serif;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; '''&nbsp; &nbsp;='''</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;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[File:17.PNG|RTENOTITLE]]</span>
 +
 
 +
<span style="font-family:arial,helvetica,sans-serif;">3) 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;">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;">4) 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|30px|RTENOTITLE]]</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;">5) 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|50px|RTENOTITLE]]</span>
+
<span style="font-family:arial,helvetica,sans-serif;">[[File:20.PNG|30px|RTENOTITLE]]</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;">6) 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>
  
<span style="font-family:arial,helvetica,sans-serif;">'''[[File:23.PNG|RTENOTITLE]]'''</span>
+
<span style="font-family:arial,helvetica,sans-serif;">'''&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;''''''='''</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;">'''&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;[[File:23.PNG|RTENOTITLE]]'''</span>
 +
 
 +
<span style="font-family:arial,helvetica,sans-serif;">7) 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;">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;">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;">'''[[File:26.PNG|40px|RTENOTITLE]]'''</span>
+
<span style="font-family:arial,helvetica,sans-serif;">'''[[File:26.PNG|25px|RTENOTITLE]]'''</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;">Observem que un cop creada ja ens apareix a l’apartat de variables amb el nom que li hem posat.</span>
Line 94: Line 100:
 
<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>
 
<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>
  
<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;">Adonem-nos que al iniciar el comptador&nbsp; 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|30px|RTENOTITLE]]</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;">8) 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>
Line 104: Line 110:
 
<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>
  
<span style="font-family:arial,helvetica,sans-serif;">[[File:34.PNG|RTENOTITLE]]</span>
+
<span style="font-family:arial,helvetica,sans-serif;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; '''='''</span>
 +
 
 +
<span style="font-family:arial,helvetica,sans-serif;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[[File:34.PNG|RTENOTITLE]]</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;">Modifiquem el programa canviant el “per sempre” per el “repeteix fins” que el comptador de vides estigui a 0.</span>
Line 110: Line 118:
 
<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>
  
<span style="font-family:arial,helvetica,sans-serif;">'''ENVIAMENT DE MISSATGES'''</span>
+
=== <span style="font-family:arial,helvetica,sans-serif;">'''Enviament de missatges'''</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;">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>
Line 126: Line 134:
 
<span style="font-family:arial,helvetica,sans-serif;">[[File:39.PNG|x100px|RTENOTITLE]]</span>
 
<span style="font-family:arial,helvetica,sans-serif;">[[File:39.PNG|x100px|RTENOTITLE]]</span>
  
<span style="font-family:arial,helvetica,sans-serif;">'''TANCAMENT DEL JOC'''</span>
+
&nbsp;
 +
 
 +
=== <span style="font-family:arial,helvetica,sans-serif;">'''Tancament del joc'''</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>
 
<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>
Line 132: Line 142:
 
<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;">Per fer-ho primer caldrà modificar el laberin i borrar-ne una paret al final:</span>
  
<span style="font-family:arial,helvetica,sans-serif;">[[File:39.PNG|50px|RTENOTITLE]]</span>
+
<span style="font-family:arial,helvetica,sans-serif;">[[File:39.PNG|30px|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>
Line 138: Line 148:
 
<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>
  
<span style="font-family:arial,helvetica,sans-serif;">'''[[File:41.PNG|RTENOTITLE]]'''</span>
+
<span style="font-family:arial,helvetica,sans-serif;">'''&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ='''</span>
 +
 
 +
<span style="font-family:arial,helvetica,sans-serif;">'''&nbsp; &nbsp;[[File:41.PNG|RTENOTITLE]]'''</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;">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|50px|RTENOTITLE]]</span>
+
<span style="font-family:arial,helvetica,sans-serif;">[[File:42.PNG|30px|RTENOTITLE]]</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;">Per últim agefim el següent codi en aquest nou objecte:</span>
Line 149: Line 161:
  
 
&nbsp;
 
&nbsp;
 +
 +
Fins aquí el joc del laberint. Com en qualsevol joc&nbsp; és possible realitzar-ne variants, exensions i millores. A continuació us proposem dos reptes per aquells més curiosos:&nbsp;
 +
 +
- realitzar més nivells al joc.&nbsp;
 +
 +
- aconseguir començar a moure el personatge quan fem "clic" amb el ratolí darrere d'aquest (simulant que l'empenyem).&nbsp;
  
 
&nbsp;
 
&nbsp;

Revision as of 09:09, 3 December 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. El personatge comença el joc amb 3 vides i cada vegada que toca una de les parets del laberint en perd una. 

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

1) Dibuixem primer el contron del laberint amb un quadrat buit.

RTENOTITLE

2) Seguidament tracem 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

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

RTENOTITLE

4) El resultat és el següent:

RTENOTITLE

5) 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

5)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

 

Programació del joc

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

1) 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

2) 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

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

RTENOTITLE 

4) 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

5) 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.


6) 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

7) 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  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

8) 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

 

Fins aquí el joc del laberint. Com en qualsevol joc  és possible realitzar-ne variants, exensions i millores. A continuació us proposem dos reptes per aquells més curiosos: 

- realitzar més nivells al joc. 

- aconseguir començar a moure el personatge quan fem "clic" amb el ratolí darrere d'aquest (simulant que l'empenyem).