Scratch 2 BalónPrisionero AllCodeClubsmustberegistered.Byregisteringyourclubwecanmeasureour impact,andwecancontinuetoprovidefreeresourcesthathelpchildrenlearnto code.Youcanregisteryourclubatcodeclubworld.org. Introducción Enesteproyectoaprenderásacrearunjuegodeplataformasenel quetendrásqueesquivarbalonesenmovimientoyllegaralfinal delnivel. Listadetareasdelaactividad FollowtheseINSTRUCTIONSonebyone Pruebatuproyecto ClickonthegreenflagtoTESTyourcode Guardatuproyecto MakesuretoSAVEyourworknow 1 ©RaspberryPiFoundation.UKRegisteredCharity1129409.TheseprojectsareforuseoutsidetheUKonly.Moreinformationatwww.codeclubworld.org. ThiscourseworkisdevelopedonGitHub,atwww.github.com/CodeClub. 2 ©RaspberryPiFoundation.UKRegisteredCharity1129409.TheseprojectsareforuseoutsidetheUKonly.Moreinformationatwww.codeclubworld.org. ThiscourseworkisdevelopedonGitHub,atwww.github.com/CodeClub. Paso1:Movimientosdelpersonaje Empezaremosporcrearunpersonajequepuedamoversehaciala derechaylaizquierda,yquepuedasubirseapostes. Listadetareasdelaactividad CreaunnuevoproyectodeScratchyborraelobjetogato paraqueelproyectoestévacío.Puedesencontrarel editoronlinedeScratchenjumpto.cc/scratch-new. Paraesteproyecto,deberíasdetenerunacarpeta llamada‘RecursosdelProyecto’,enlaqueencontrarásla imagendefondoquenecesitas.Asegúratedequetienes estacarpeta,ypreguntaallíderdelClubsinola encuentras. Cargalaimagen‘background.png’comonuevoescenario. ¡Tambiénpuedesañadirundibujoquehayashechotú!Si vasadibujartupropionivel,asegúratedequelospostes ylasplataformassondecoloresdiferentes,ydequehaya unapuerta(oalgoparecido)alaqueeljugadortenga quellegar.Tuproyectodeberíaparecerseaéste: 3 ©RaspberryPiFoundation.UKRegisteredCharity1129409.TheseprojectsareforuseoutsidetheUKonly.Moreinformationatwww.codeclubworld.org. ThiscourseworkisdevelopedonGitHub,atwww.github.com/CodeClub. Añadeunnuevoobjeto,queserátupersonaje.Esmejor queescojasunobjetoquetengavariosdisfraces,así podráscrearelefectodequeestácaminando. Usaremoslasflechasdeltecladoparaqueelpersonajese muevaendiferentesdirecciones.Cuandoeljugadorpulse laflechaderecha,queremosqueelpersonajemirehacia laderecha,déunospasosenesadirecciónycambieal siguientedisfraz: 4 ©RaspberryPiFoundation.UKRegisteredCharity1129409.TheseprojectsareforuseoutsidetheUKonly.Moreinformationatwww.codeclubworld.org. ThiscourseworkisdevelopedonGitHub,atwww.github.com/CodeClub. Hazunapruebapresionandolabanderayacontinuación manteniendopulsadalatecladerecha.¿Semueveel personajehacialaderecha?¿Parecequeelpersonajeestá caminando? Paraqueelpersonajesemuevahacialaizquierda, tendrásqueañadirotrobloque si dentrodelbucle por siempre .¡Recuerdaprobarelnuevocódigopara asegurartedequefunciona! Parasubirseaunposte,tupersonajedeberíamoverseun pocohaciaarribasiemprequesepulselaflechaarribay estétocandoelcolorcorrecto.Añadeestecódigoalbucle porsiempre detupersonaje: Pruebalosmovimientosdetupersonaje:¿Puedessubirte alospostesamarillosyllegaralfinaldelnivel? 5 ©RaspberryPiFoundation.UKRegisteredCharity1129409.TheseprojectsareforuseoutsidetheUKonly.Moreinformationatwww.codeclubworld.org. ThiscourseworkisdevelopedonGitHub,atwww.github.com/CodeClub. Guardatuproyecto Reto:Acabarelnivel ¿Puedesañadirmáscódigoalpersonaje,paraquediga algo si llegaalapuertamarrón? Guardatuproyecto Paso2:Gravedadysaltos Vamosahacerquetupersonajesemuevadeformamásrealista añadiendogravedadyhaciendoquepuedasaltar. 6 ©RaspberryPiFoundation.UKRegisteredCharity1129409.TheseprojectsareforuseoutsidetheUKonly.Moreinformationatwww.codeclubworld.org. ThiscourseworkisdevelopedonGitHub,atwww.github.com/CodeClub. Listadetareasdelaactividad Puedequetehayasfijadoenquetupersonajepuede salirsedelasplataformasyquedarsesuspendidoen mediodelaire.Intentasalirtedeunaplataformaaver quépasa. Paraarreglaresto,vamosaañadirgravedadaljuego. Creaunanuevavariableconelnombre gravedad .Si quieres,puedesesconderestavariabledelescenario. Añadeestenuevobloquedecódigo,quefijalagravedad enunnúmeronegativo,ydeestamaneracambiala coordenadaydelpersonajecontinuamente. Presionalabanderayarrastraatupersonajehastala partesuperiordelescenario.¿Quéocurre?¿Lagravedad funcionacomoesperabas? 7 ©RaspberryPiFoundation.UKRegisteredCharity1129409.TheseprojectsareforuseoutsidetheUKonly.Moreinformationatwww.codeclubworld.org. ThiscourseworkisdevelopedonGitHub,atwww.github.com/CodeClub. ¡Lagravedadnodeberíahacercaeratupersonajedelas plataformasodeunposte!Añadeunbloque si alcódigo paraquelagravedadsólofuncionecuandoelpersonaje estéenmediodelaire.Elcódigodegravedaddeberíaser así: Pruebalagravedadotravez.¿Secaetupersonajecuando estáenunaplataformaoenunposte?¿Puedesdejarte caerdelbordedelasplataformasalnivelinferior? 8 ©RaspberryPiFoundation.UKRegisteredCharity1129409.TheseprojectsareforuseoutsidetheUKonly.Moreinformationatwww.codeclubworld.org. ThiscourseworkisdevelopedonGitHub,atwww.github.com/CodeClub. Tambiénvamosahacerquetupersonajesaltecuandoel jugadorpulselatecladeespacio.Unaformamuysencilla dehacerestoesmoveralpersonajehaciaarribaunas cuantasveces,usandoestecódigo: Comolagravedadestáconstantementeempujandoatu personaje4píxeleshaciaabajo,necesitarásindicarun númerosuperiora4enelbloque cambiarypor(4) . Cambiaelnúmerohastaqueteparezcabienlaalturaala queelpersonajesalta. Sipruebasestecódigoverásquefuncionabien,peroel movimientonoesdemasiadofluido.Paraquelossaltos parezcanmásnaturales,tendrásquemoveralpersonaje encantidadescadavezmáspequeñas,hastaquedejede saltar. Paraconseguiresto,creaotravariablellamada alturade salto .Denuevo,puedesesconderestavariablesilo prefieres. Eliminaelcódigodesaltoquehasañadidoatupersonaje, ysustitúyeloporéste: 9 ©RaspberryPiFoundation.UKRegisteredCharity1129409.TheseprojectsareforuseoutsidetheUKonly.Moreinformationatwww.codeclubworld.org. ThiscourseworkisdevelopedonGitHub,atwww.github.com/CodeClub. Estecódigohacequeelpersonajesemuevahaciaarriba 8píxeles,después7,5píxeles,después7píxeles,yasí hastaqueelpersonajeacabedesaltar.Estoharáqueel saltoparezcamuchomásfluido. Cambiaelvalordeiniciodelavariable alturadesalto y pruebahastaqueteparezcabienlaalturaalaqueel personajesalta. Guardatuproyecto Reto:Saltomejorado Hasconseguidoqueelpersonajesaltecadavezquese presionalatecladeespacio,inclusosiestáenmediodel aire.Puedeshacerunapruebamanteniendopulsadala tecladeespacio.¿Puedesarreglaresto,paraqueel personajesólopuedasaltar si estátocandouna plataformaazul? Guardatuproyecto 10 ©RaspberryPiFoundation.UKRegisteredCharity1129409.TheseprojectsareforuseoutsidetheUKonly.Moreinformationatwww.codeclubworld.org. ThiscourseworkisdevelopedonGitHub,atwww.github.com/CodeClub. Paso3:Esquivarlosbalones Ahoraquehasconseguidoqueelpersonajesemueva,vamosaañadir losbalonesqueelpersonajetendráqueesquivar. Listadetareasdelaactividad Creaunnuevoobjetobalón.Puedesescogereltipode balónquemásteguste. Cambiaeltamañodelbalónparaqueelpersonajepueda saltarporencimadeél.Intentasaltarsobreelbalónpara probarlo. Añadeestecódigoalbalón: 11 ©RaspberryPiFoundation.UKRegisteredCharity1129409.TheseprojectsareforuseoutsidetheUKonly.Moreinformationatwww.codeclubworld.org. ThiscourseworkisdevelopedonGitHub,atwww.github.com/CodeClub. Estecódigocreaunnuevoclondelbalóncada3 segundos.Cadanuevobalónsedesplazaalolargodela plataformasuperior. Presionalabanderaparaprobarelcódigo. Añademáscódigoalobjetobalónparaquelosbalonesse muevanalolargodelastresplataformas. 12 ©RaspberryPiFoundation.UKRegisteredCharity1129409.TheseprojectsareforuseoutsidetheUKonly.Moreinformationatwww.codeclubworld.org. ThiscourseworkisdevelopedonGitHub,atwww.github.com/CodeClub. Paraterminar,¡necesitaráscódigoparacuandounbalón toquealpersonaje!Añadeestecódigoalobjetobalón: Tambiéntendrásqueañadirestecódigoalpersonaje,para quevuelvaalprincipiocuandounbalónletoque: Hazunapruebaconelpersonajeparaversivuelveal principiocuandounbalónletoca. 13 ©RaspberryPiFoundation.UKRegisteredCharity1129409.TheseprojectsareforuseoutsidetheUKonly.Moreinformationatwww.codeclubworld.org. ThiscourseworkisdevelopedonGitHub,atwww.github.com/CodeClub. Guardatuproyecto Reto:Balonesaleatorios Todoslosbalonesquetupersonajetienequeesquivarson iguales,ysiempreaparecencada3segundos.Intenta mejorarlosbalones,paraque: noseantodosiguales aparezcandespuésdeuntiempoaleatorio seandetamañoaleatorio Guardatuproyecto 14 ©RaspberryPiFoundation.UKRegisteredCharity1129409.TheseprojectsareforuseoutsidetheUKonly.Moreinformationatwww.codeclubworld.org. ThiscourseworkisdevelopedonGitHub,atwww.github.com/CodeClub. Paso4:¡Láseres! ¡Vamosaañadirláseresparaqueseaunpocomásdifícilacabareljuego ! Listadetareasdelaactividad Añadeunnuevoobjetoaljuego,conelnombre‘Láser’. Deberíatener2disfraces,llamados‘on’y‘off’. Colocatunuevoláserdondequieras,entredos plataformas. Añadecódigoalláserparaquecambieentrelosdos disfraces. 15 ©RaspberryPiFoundation.UKRegisteredCharity1129409.TheseprojectsareforuseoutsidetheUKonly.Moreinformationatwww.codeclubworld.org. ThiscourseworkisdevelopedonGitHub,atwww.github.com/CodeClub. Siloprefieres,puedes esperar untiempo alazar entre elcambiodedisfraces. Parafinalizar,añadecódigoalláserparaqueelmensaje ‘tocado’seenvíecuandoellásertoquealpersonaje.Este códigoeselmismoqueelquehasañadidoalobjeto balón. Nonecesitasañadirmáscódigoalpersonaje,¡yasabelo quetienequehacercuandoalgoletoca! Pruebaeljuegoparaversierescapazdepasaratravés delláser.Cambialostiemposenelcódigo esperar silos láseressondemasiadofácilesodifíciles. 16 ©RaspberryPiFoundation.UKRegisteredCharity1129409.TheseprojectsareforuseoutsidetheUKonly.Moreinformationatwww.codeclubworld.org. ThiscourseworkisdevelopedonGitHub,atwww.github.com/CodeClub. Reto:Másobstáculos Sitodavíacreesqueeljuegoesdemasiadofácil,puedes añadirmásobstáculosalnivel.Puedesañadircualquier cosa,perotedamosalgunasideas: Unamariposavoladoraasesina; Plataformasqueaparecenydesaparecen; Pelotasdetenisquecaenyqueelpersonajedebe evitar. Inclusopodríascrearmásdeunfondo,yhacerqueel personajepasealsiguientenivelcuandollegaalapuerta marrón: 17 ©RaspberryPiFoundation.UKRegisteredCharity1129409.TheseprojectsareforuseoutsidetheUKonly.Moreinformationatwww.codeclubworld.org. ThiscourseworkisdevelopedonGitHub,atwww.github.com/CodeClub. Guardatuproyecto 18 ©RaspberryPiFoundation.UKRegisteredCharity1129409.TheseprojectsareforuseoutsidetheUKonly.Moreinformationatwww.codeclubworld.org. ThiscourseworkisdevelopedonGitHub,atwww.github.com/CodeClub. Reto:Gravedadmejorada Hayotropequeñoerroreneljuego:lagravedadno funcionasicualquierpartedetupersonajeestátocando unaplataformaazul,¡inclusosucabeza!.Puedes comprobarlosihacessubiralpersonajecasihastaarriba deunposteydespuéslomueveshacialaizquierda. ¿Puedesarreglaresteerror?Parahacerlo,tienesque cambiarelcolordelospantalonesdelpersonaje(entodos losdisfraces)… …yacontinuaciónsustituirelcódigo: por: ¡Recuerdaprobarestasmejorasparaasegurartedeque hasarregladoelerror! 19 ©RaspberryPiFoundation.UKRegisteredCharity1129409.TheseprojectsareforuseoutsidetheUKonly.Moreinformationatwww.codeclubworld.org. ThiscourseworkisdevelopedonGitHub,atwww.github.com/CodeClub. Guardatuproyecto Reto:Másvidas ¿Puedesdaraljugador3 vidas ,enlugardesimplemente devolverloalprincipiocadavez?Eljuegopodríafuncionar así: Eljugadorempiezacon3vidas; Cuandoalgotocaaljugador,pierdeunaviday vuelvealprincipio; Sinolequedanvidas,eljuegoacaba. Guardatuproyecto 20 ©RaspberryPiFoundation.UKRegisteredCharity1129409.TheseprojectsareforuseoutsidetheUKonly.Moreinformationatwww.codeclubworld.org. ThiscourseworkisdevelopedonGitHub,atwww.github.com/CodeClub.