SlideShare una empresa de Scribd logo
1 de 43
Descargar para leer sin conexión
3
Repetir las líneas de los códigos de programación es una tarea común. Es habitual agregar un bucle
alrededor de una sección de código en el código de programación.
La mayoría de los lenguajes de programación tienen 3 métodos de bucle básicos. Examinaremos todos ellos
durante el curso.
4
Podemos utilizar cualquiera de los bucles para cualquier ocasión, pero algunos de ellos son más indicados
para casos concretos.
5
Recuerde que la condición solo debe devolver true o false.
6
7
Mientras que una variable de instancia tiene visibilidad en todo el conjunto de la clase (es accesible), una
variable local no se puede ver fuera de los paréntesis dentro de los que se declaró. Esto se conoce
normalmente como ámbito.
8
La letra "i" se suele utilizar como nombre de la variable local. Si tiene un bucle dentro de otro bucle, se
suele utilizar la letra "j" y, a continuación, la letra "k". Esta letra se utiliza en programación debido a sus
orígenes en el campo de las matemáticas, en el que designaba valores enteros. Posteriormente, fue
adoptada por el lenguaje Fortran.
9
Veremos un ejemplo en la siguiente diapositiva.
10
Es posible que las personas con conocimientos de programación detecten un problema. Abordaremos este
asunto en próximas diapositivas.
11
12
Recuerde que i = i + 1 normalmente se escribe como i++;
Si nos olvidamos de agregar esta línea, el código nunca detendrá el bucle. Esto se denomina bucle infinito.
13
Como se encuentra en el constructor, solo se llamará una vez.
14
15
Los métodos getWidth() y getHeight() devuelven el ancho y la altura actuales del mundo. Por lo tanto, si
cambiásemos las dimensiones del mundo, podríamos acceder a estas sin cambiar nuestro código.
16
Debe volver a comprobar siempre la lógica y el código para asegurarse de que el bucle solo se ejecutará las
veces que espera.
17
Básicamente, debemos alternar entre 1 de 2 imágenes, a menos que estemos girando. Si estamos girando,
se muestra la imagen de giro izquierda o derecha.
18
Básicamente, debemos alternar entre 1 de 2 imágenes, a menos que estemos girando. Si estamos girando,
se muestra la imagen de giro izquierda o derecha.
19
Al guardar el estado de una acción actual, solemos utilizar una variable de clase.
20
Resulta útil utilizar nombres de variables de clase óptimos, especialmente al definir valores booleanos.
Podríamos haber llamado a la variable notTurning, pero resulta más complicado comprender el significado
real de notTurning que el de isTurning.
21
Recuerde que Java distingue entre mayúsculas y minúsculas, por lo que "BeeLeft.png" no es lo mismo que
"beeLeft.png". Compruebe que esté usando las mayúsculas y minúsculas correctamente para sus archivos
de imagen y sonido.
22
En este punto, la abeja seguirá intentando que continúe la animación durante el giro.
23
&& (significa "y") solo devuelve true si las sentencias a ambos lados de && son true.
24
Puede crear tablas de verdad para AND/NOT/OR. Para ello, siga las instrucciones que se describen a
continuación:
Para AND/OR puede utilizar 2 entradas de true y false, y mostrar el resultado.
POR LO TANTO
TRUE TRUE
TRUE FALSE
FALSE TRUE
FALSE FALSE
Son las 4 entradas posibles. Para AND/OR se muestra el valor booleano resultante.
25
Recuerde que && representa "y", y solo devolverá true si ambas partes son true.
26
Cuanto mayor sea el número de imágenes, más suave será la animación.
27
Recuerde que en una sentencia if-else, solo una de las secciones de código puede ejecutarse.
28
A medida que desarrolle sus habilidades y conocimientos en java, comprobará que existen estructuras más
avanzadas para almacenar varias variables en una sola variable.
29
Las cadenas contienen cualquier dato alfanumérico. Por lo tanto, también podríamos almacenar "Joe! 1"
30
Para definir una matriz se utilizan corchetes. El tipo delante de los corchetes es el tipo que puede
almacenar cada celda de la matriz. En el caso anterior, String[] configura una matriz que almacena cadenas.
31
Antes de utilizar una matriz, tendremos que configurar el máximo número de celdas que estarán
disponibles.
32
Este es un ejemplo de la inicialización de una variable de matriz. Podríamos haber escrito
String[] studentnames = new String[4];
studentnames[0] = "Joe";
studentnames[1] = "Debbie";
studentnames[2] = "Ermal";
studentnames[3] = "Besa";
Tenga en cuenta que el primer elemento de una matriz se inicia en el índice 0.
33
Se generará un error si intenta acceder a un elemento de la matriz fuera de rango. En este ejemplo, el
rango del elemento va de 0 a 3.
34
Recuerde que esta matriz se declara como una matriz String. Si se devuelve un elemento de la matriz, este
valor será una cadena
35
Esto implica que podamos almacenar todas nuestras imágenes en una variable.
36
Podríamos declarar una constante para el máximo número de imágenes en lugar de utilizar el valor 4. De
este modo, el código sería más legible y mucho más fácil de cambiar posteriormente.
Si tuviésemos la constante MAXIMAGES = 4;
Podríamos cambiar el código por
….. = new GreenfootImage[MAXIMAGES];
37
La imagen 2 se utiliza dos veces, ya que deseamos mostrar las imágenes - abeja -> abeja1 -> abeja2 ->
abeja1 y, a continuación, repetir.
38
La segunda solución sería más fácil para agregar más imágenes. La ("bee" + i + ".png"); se conoce como una
concatenación de cadenas. Une las cadenas. Por lo tanto, si i=1, obtendríamos "bee1.png". En el ejemplo
de bucle while, se copia la imagen bee1.png y se denomina bee3.png.
currentimage sería un campo de clase.
39
Tenga en cuenta que el método animateBee() ahora manejaría cualquier cantidad de imágenes. Solo
necesitaríamos cambiar el valor de índice 3 por un nuevo valor. En este caso, sería mejor sustituir el 3 por
una constante.
if (currentimage == MAX_IMAGES-1)…
MAX_IMAGES se declararía como un campo de clase
private final int MAX_IMAGES = 4;
A continuación, actualizaríamos nuestro código para utilizar esta constante en lugar de 3. Esto hace que
nuestro código sea más legible y fácil de mantener.
40
41
42
leccion 10

Más contenido relacionado

Similar a leccion 10 (20)

Greenfoot 9
Greenfoot 9Greenfoot 9
Greenfoot 9
 
Jf 3 9_sg_esp(2)(3) 9
Jf 3 9_sg_esp(2)(3) 9Jf 3 9_sg_esp(2)(3) 9
Jf 3 9_sg_esp(2)(3) 9
 
Greenfoot 9
Greenfoot 9Greenfoot 9
Greenfoot 9
 
Pra9
Pra9Pra9
Pra9
 
Jf 3 9_sg_esp(2)(3)
Jf 3 9_sg_esp(2)(3)Jf 3 9_sg_esp(2)(3)
Jf 3 9_sg_esp(2)(3)
 
CAPITULO 9 GREENFOOT
CAPITULO 9 GREENFOOTCAPITULO 9 GREENFOOT
CAPITULO 9 GREENFOOT
 
CAPITULO 9 DE GREENFOOT
CAPITULO 9 DE GREENFOOTCAPITULO 9 DE GREENFOOT
CAPITULO 9 DE GREENFOOT
 
Greenfoot 9
Greenfoot 9Greenfoot 9
Greenfoot 9
 
Capitulo9 greenfoot
Capitulo9  greenfootCapitulo9  greenfoot
Capitulo9 greenfoot
 
Jf 3 9_sg_esp(2)(3)
Jf 3 9_sg_esp(2)(3)Jf 3 9_sg_esp(2)(3)
Jf 3 9_sg_esp(2)(3)
 
Greenfoot 9
Greenfoot 9Greenfoot 9
Greenfoot 9
 
Capitulo 9
Capitulo 9Capitulo 9
Capitulo 9
 
Capitulo 9
Capitulo 9Capitulo 9
Capitulo 9
 
leccion 9
leccion 9leccion 9
leccion 9
 
Constantes y variables enitmar
Constantes y variables enitmarConstantes y variables enitmar
Constantes y variables enitmar
 
CAPITULO 10 DE ALICE
CAPITULO 10 DE ALICECAPITULO 10 DE ALICE
CAPITULO 10 DE ALICE
 
Jf 2 10_sg_esp(4)
Jf 2 10_sg_esp(4)Jf 2 10_sg_esp(4)
Jf 2 10_sg_esp(4)
 
Capitulo 10
Capitulo 10Capitulo 10
Capitulo 10
 
Cap10
Cap10Cap10
Cap10
 
Jf 2 10_sg_esp(4)
Jf 2 10_sg_esp(4)Jf 2 10_sg_esp(4)
Jf 2 10_sg_esp(4)
 

Más de heidiromero11 (20)

Topologias de red
Topologias de redTopologias de red
Topologias de red
 
Investigación de la teoría del color
Investigación de la teoría del colorInvestigación de la teoría del color
Investigación de la teoría del color
 
11
1111
11
 
leccion 10
leccion 10leccion 10
leccion 10
 
leccion 9
leccion 9leccion 9
leccion 9
 
leccion 8
leccion 8leccion 8
leccion 8
 
leccion 7
leccion 7leccion 7
leccion 7
 
leccion 6
leccion 6leccion 6
leccion 6
 
leccion 5
leccion 5leccion 5
leccion 5
 
leccion 4
leccion 4leccion 4
leccion 4
 
leccion 3
leccion 3leccion 3
leccion 3
 
leccion 2
leccion 2leccion 2
leccion 2
 
leccion 1
leccion 1leccion 1
leccion 1
 
Practica13
Practica13Practica13
Practica13
 
Practica14 (1)
Practica14 (1)Practica14 (1)
Practica14 (1)
 
Practica12(2)
Practica12(2)Practica12(2)
Practica12(2)
 
leccion 8
leccion 8leccion 8
leccion 8
 
leccion 7
leccion 7leccion 7
leccion 7
 
leccion 6
leccion 6leccion 6
leccion 6
 
leccion 5
leccion  5leccion  5
leccion 5
 

Último

ACERTIJO EL NÚMERO PI COLOREA EMBLEMA OLÍMPICO DE PARÍS. Por JAVIER SOLIS NOYOLA
ACERTIJO EL NÚMERO PI COLOREA EMBLEMA OLÍMPICO DE PARÍS. Por JAVIER SOLIS NOYOLAACERTIJO EL NÚMERO PI COLOREA EMBLEMA OLÍMPICO DE PARÍS. Por JAVIER SOLIS NOYOLA
ACERTIJO EL NÚMERO PI COLOREA EMBLEMA OLÍMPICO DE PARÍS. Por JAVIER SOLIS NOYOLAJAVIER SOLIS NOYOLA
 
Lineamientos de la Escuela de la Confianza SJA Ccesa.pptx
Lineamientos de la Escuela de la Confianza  SJA  Ccesa.pptxLineamientos de la Escuela de la Confianza  SJA  Ccesa.pptx
Lineamientos de la Escuela de la Confianza SJA Ccesa.pptxDemetrio Ccesa Rayme
 
Diseño Universal de Aprendizaje en Nuevos Escenarios JS2 Ccesa007.pdf
Diseño Universal de Aprendizaje en Nuevos Escenarios  JS2  Ccesa007.pdfDiseño Universal de Aprendizaje en Nuevos Escenarios  JS2  Ccesa007.pdf
Diseño Universal de Aprendizaje en Nuevos Escenarios JS2 Ccesa007.pdfDemetrio Ccesa Rayme
 
El Futuro de la Educacion Digital JS1 Ccesa007.pdf
El Futuro de la Educacion Digital  JS1  Ccesa007.pdfEl Futuro de la Educacion Digital  JS1  Ccesa007.pdf
El Futuro de la Educacion Digital JS1 Ccesa007.pdfDemetrio Ccesa Rayme
 
Pasos para enviar una tarea en SIANET - sólo estudiantes.pdf
Pasos para enviar una tarea en SIANET - sólo estudiantes.pdfPasos para enviar una tarea en SIANET - sólo estudiantes.pdf
Pasos para enviar una tarea en SIANET - sólo estudiantes.pdfNELLYKATTY
 
GOBIERNO DE MANUEL ODRIA EL OCHENIO.pptx
GOBIERNO DE MANUEL ODRIA   EL OCHENIO.pptxGOBIERNO DE MANUEL ODRIA   EL OCHENIO.pptx
GOBIERNO DE MANUEL ODRIA EL OCHENIO.pptxJaimeAlvarado78
 
Lecciones 07 Esc. Sabática. Motivados por la esperanza
Lecciones 07 Esc. Sabática. Motivados por la esperanzaLecciones 07 Esc. Sabática. Motivados por la esperanza
Lecciones 07 Esc. Sabática. Motivados por la esperanzaAlejandrino Halire Ccahuana
 
Ediciones Previas Proyecto de Innovacion Pedagogica ORIGAMI 3D Ccesa007.pdf
Ediciones Previas Proyecto de Innovacion Pedagogica ORIGAMI 3D  Ccesa007.pdfEdiciones Previas Proyecto de Innovacion Pedagogica ORIGAMI 3D  Ccesa007.pdf
Ediciones Previas Proyecto de Innovacion Pedagogica ORIGAMI 3D Ccesa007.pdfDemetrio Ccesa Rayme
 
SESION DE APRENDIZAJE PARA3ER GRADO -EL SISTEMA DIGESTIVO
SESION DE APRENDIZAJE PARA3ER GRADO -EL SISTEMA DIGESTIVOSESION DE APRENDIZAJE PARA3ER GRADO -EL SISTEMA DIGESTIVO
SESION DE APRENDIZAJE PARA3ER GRADO -EL SISTEMA DIGESTIVOJuanaBellidocollahua
 
Diapositivas unidad de trabajo 7 sobre Coloración temporal y semipermanente
Diapositivas unidad de trabajo 7 sobre Coloración temporal y semipermanenteDiapositivas unidad de trabajo 7 sobre Coloración temporal y semipermanente
Diapositivas unidad de trabajo 7 sobre Coloración temporal y semipermanenteinmaculadatorressanc
 
Tema 9. Roma. 1º ESO 2014. Ciencias SOciales
Tema 9. Roma. 1º ESO 2014. Ciencias SOcialesTema 9. Roma. 1º ESO 2014. Ciencias SOciales
Tema 9. Roma. 1º ESO 2014. Ciencias SOcialesChema R.
 
Botiquin del amor - Plantillas digitales.pdf
Botiquin del amor - Plantillas digitales.pdfBotiquin del amor - Plantillas digitales.pdf
Botiquin del amor - Plantillas digitales.pdfefmenaes
 
FICHA DE LA VIRGEN DE FÁTIMA.pdf educación religiosa primaria de menores
FICHA DE LA VIRGEN DE FÁTIMA.pdf educación religiosa primaria de menoresFICHA DE LA VIRGEN DE FÁTIMA.pdf educación religiosa primaria de menores
FICHA DE LA VIRGEN DE FÁTIMA.pdf educación religiosa primaria de menoresSantosprez2
 
a propósito del estado su relevancia y definiciones
a propósito del estado su relevancia y definicionesa propósito del estado su relevancia y definiciones
a propósito del estado su relevancia y definicionessubfabian
 
Realitat o fake news? – Què causa el canvi climàtic? - Modificacions dels pat...
Realitat o fake news? – Què causa el canvi climàtic? - Modificacions dels pat...Realitat o fake news? – Què causa el canvi climàtic? - Modificacions dels pat...
Realitat o fake news? – Què causa el canvi climàtic? - Modificacions dels pat...Pere Miquel Rosselló Espases
 
En un aposento alto himno _letra y acordes.pdf
En un aposento alto himno _letra y acordes.pdfEn un aposento alto himno _letra y acordes.pdf
En un aposento alto himno _letra y acordes.pdfAni Ann
 
Libros del Ministerio de Educación (2023-2024).pdf
Libros del Ministerio de Educación (2023-2024).pdfLibros del Ministerio de Educación (2023-2024).pdf
Libros del Ministerio de Educación (2023-2024).pdfGalletitas default
 
MINEDU BASES JUEGOS ESCOLARES DEPORTIVOS PARADEPORTIVOS 2024.docx
MINEDU BASES JUEGOS ESCOLARES DEPORTIVOS PARADEPORTIVOS 2024.docxMINEDU BASES JUEGOS ESCOLARES DEPORTIVOS PARADEPORTIVOS 2024.docx
MINEDU BASES JUEGOS ESCOLARES DEPORTIVOS PARADEPORTIVOS 2024.docxLorenaHualpachoque
 
Gran Final Campeonato Nacional Escolar Liga Las Torres 2017.pdf
Gran Final Campeonato Nacional Escolar Liga Las Torres 2017.pdfGran Final Campeonato Nacional Escolar Liga Las Torres 2017.pdf
Gran Final Campeonato Nacional Escolar Liga Las Torres 2017.pdfEdgar R Gimenez
 

Último (20)

ACERTIJO EL NÚMERO PI COLOREA EMBLEMA OLÍMPICO DE PARÍS. Por JAVIER SOLIS NOYOLA
ACERTIJO EL NÚMERO PI COLOREA EMBLEMA OLÍMPICO DE PARÍS. Por JAVIER SOLIS NOYOLAACERTIJO EL NÚMERO PI COLOREA EMBLEMA OLÍMPICO DE PARÍS. Por JAVIER SOLIS NOYOLA
ACERTIJO EL NÚMERO PI COLOREA EMBLEMA OLÍMPICO DE PARÍS. Por JAVIER SOLIS NOYOLA
 
Lineamientos de la Escuela de la Confianza SJA Ccesa.pptx
Lineamientos de la Escuela de la Confianza  SJA  Ccesa.pptxLineamientos de la Escuela de la Confianza  SJA  Ccesa.pptx
Lineamientos de la Escuela de la Confianza SJA Ccesa.pptx
 
Diseño Universal de Aprendizaje en Nuevos Escenarios JS2 Ccesa007.pdf
Diseño Universal de Aprendizaje en Nuevos Escenarios  JS2  Ccesa007.pdfDiseño Universal de Aprendizaje en Nuevos Escenarios  JS2  Ccesa007.pdf
Diseño Universal de Aprendizaje en Nuevos Escenarios JS2 Ccesa007.pdf
 
El Futuro de la Educacion Digital JS1 Ccesa007.pdf
El Futuro de la Educacion Digital  JS1  Ccesa007.pdfEl Futuro de la Educacion Digital  JS1  Ccesa007.pdf
El Futuro de la Educacion Digital JS1 Ccesa007.pdf
 
Pasos para enviar una tarea en SIANET - sólo estudiantes.pdf
Pasos para enviar una tarea en SIANET - sólo estudiantes.pdfPasos para enviar una tarea en SIANET - sólo estudiantes.pdf
Pasos para enviar una tarea en SIANET - sólo estudiantes.pdf
 
GOBIERNO DE MANUEL ODRIA EL OCHENIO.pptx
GOBIERNO DE MANUEL ODRIA   EL OCHENIO.pptxGOBIERNO DE MANUEL ODRIA   EL OCHENIO.pptx
GOBIERNO DE MANUEL ODRIA EL OCHENIO.pptx
 
Lecciones 07 Esc. Sabática. Motivados por la esperanza
Lecciones 07 Esc. Sabática. Motivados por la esperanzaLecciones 07 Esc. Sabática. Motivados por la esperanza
Lecciones 07 Esc. Sabática. Motivados por la esperanza
 
Ediciones Previas Proyecto de Innovacion Pedagogica ORIGAMI 3D Ccesa007.pdf
Ediciones Previas Proyecto de Innovacion Pedagogica ORIGAMI 3D  Ccesa007.pdfEdiciones Previas Proyecto de Innovacion Pedagogica ORIGAMI 3D  Ccesa007.pdf
Ediciones Previas Proyecto de Innovacion Pedagogica ORIGAMI 3D Ccesa007.pdf
 
SESION DE APRENDIZAJE PARA3ER GRADO -EL SISTEMA DIGESTIVO
SESION DE APRENDIZAJE PARA3ER GRADO -EL SISTEMA DIGESTIVOSESION DE APRENDIZAJE PARA3ER GRADO -EL SISTEMA DIGESTIVO
SESION DE APRENDIZAJE PARA3ER GRADO -EL SISTEMA DIGESTIVO
 
Diapositivas unidad de trabajo 7 sobre Coloración temporal y semipermanente
Diapositivas unidad de trabajo 7 sobre Coloración temporal y semipermanenteDiapositivas unidad de trabajo 7 sobre Coloración temporal y semipermanente
Diapositivas unidad de trabajo 7 sobre Coloración temporal y semipermanente
 
Tema 9. Roma. 1º ESO 2014. Ciencias SOciales
Tema 9. Roma. 1º ESO 2014. Ciencias SOcialesTema 9. Roma. 1º ESO 2014. Ciencias SOciales
Tema 9. Roma. 1º ESO 2014. Ciencias SOciales
 
Botiquin del amor - Plantillas digitales.pdf
Botiquin del amor - Plantillas digitales.pdfBotiquin del amor - Plantillas digitales.pdf
Botiquin del amor - Plantillas digitales.pdf
 
FICHA DE LA VIRGEN DE FÁTIMA.pdf educación religiosa primaria de menores
FICHA DE LA VIRGEN DE FÁTIMA.pdf educación religiosa primaria de menoresFICHA DE LA VIRGEN DE FÁTIMA.pdf educación religiosa primaria de menores
FICHA DE LA VIRGEN DE FÁTIMA.pdf educación religiosa primaria de menores
 
a propósito del estado su relevancia y definiciones
a propósito del estado su relevancia y definicionesa propósito del estado su relevancia y definiciones
a propósito del estado su relevancia y definiciones
 
Realitat o fake news? – Què causa el canvi climàtic? - Modificacions dels pat...
Realitat o fake news? – Què causa el canvi climàtic? - Modificacions dels pat...Realitat o fake news? – Què causa el canvi climàtic? - Modificacions dels pat...
Realitat o fake news? – Què causa el canvi climàtic? - Modificacions dels pat...
 
En un aposento alto himno _letra y acordes.pdf
En un aposento alto himno _letra y acordes.pdfEn un aposento alto himno _letra y acordes.pdf
En un aposento alto himno _letra y acordes.pdf
 
Libros del Ministerio de Educación (2023-2024).pdf
Libros del Ministerio de Educación (2023-2024).pdfLibros del Ministerio de Educación (2023-2024).pdf
Libros del Ministerio de Educación (2023-2024).pdf
 
MINEDU BASES JUEGOS ESCOLARES DEPORTIVOS PARADEPORTIVOS 2024.docx
MINEDU BASES JUEGOS ESCOLARES DEPORTIVOS PARADEPORTIVOS 2024.docxMINEDU BASES JUEGOS ESCOLARES DEPORTIVOS PARADEPORTIVOS 2024.docx
MINEDU BASES JUEGOS ESCOLARES DEPORTIVOS PARADEPORTIVOS 2024.docx
 
¿Que es Fuerza? online 2024 Repaso CRECE.pptx
¿Que es Fuerza? online 2024 Repaso CRECE.pptx¿Que es Fuerza? online 2024 Repaso CRECE.pptx
¿Que es Fuerza? online 2024 Repaso CRECE.pptx
 
Gran Final Campeonato Nacional Escolar Liga Las Torres 2017.pdf
Gran Final Campeonato Nacional Escolar Liga Las Torres 2017.pdfGran Final Campeonato Nacional Escolar Liga Las Torres 2017.pdf
Gran Final Campeonato Nacional Escolar Liga Las Torres 2017.pdf
 

leccion 10

  • 1.
  • 2.
  • 3. 3
  • 4. Repetir las líneas de los códigos de programación es una tarea común. Es habitual agregar un bucle alrededor de una sección de código en el código de programación. La mayoría de los lenguajes de programación tienen 3 métodos de bucle básicos. Examinaremos todos ellos durante el curso. 4
  • 5. Podemos utilizar cualquiera de los bucles para cualquier ocasión, pero algunos de ellos son más indicados para casos concretos. 5
  • 6. Recuerde que la condición solo debe devolver true o false. 6
  • 7. 7
  • 8. Mientras que una variable de instancia tiene visibilidad en todo el conjunto de la clase (es accesible), una variable local no se puede ver fuera de los paréntesis dentro de los que se declaró. Esto se conoce normalmente como ámbito. 8
  • 9. La letra "i" se suele utilizar como nombre de la variable local. Si tiene un bucle dentro de otro bucle, se suele utilizar la letra "j" y, a continuación, la letra "k". Esta letra se utiliza en programación debido a sus orígenes en el campo de las matemáticas, en el que designaba valores enteros. Posteriormente, fue adoptada por el lenguaje Fortran. 9
  • 10. Veremos un ejemplo en la siguiente diapositiva. 10
  • 11. Es posible que las personas con conocimientos de programación detecten un problema. Abordaremos este asunto en próximas diapositivas. 11
  • 12. 12
  • 13. Recuerde que i = i + 1 normalmente se escribe como i++; Si nos olvidamos de agregar esta línea, el código nunca detendrá el bucle. Esto se denomina bucle infinito. 13
  • 14. Como se encuentra en el constructor, solo se llamará una vez. 14
  • 15. 15
  • 16. Los métodos getWidth() y getHeight() devuelven el ancho y la altura actuales del mundo. Por lo tanto, si cambiásemos las dimensiones del mundo, podríamos acceder a estas sin cambiar nuestro código. 16
  • 17. Debe volver a comprobar siempre la lógica y el código para asegurarse de que el bucle solo se ejecutará las veces que espera. 17
  • 18. Básicamente, debemos alternar entre 1 de 2 imágenes, a menos que estemos girando. Si estamos girando, se muestra la imagen de giro izquierda o derecha. 18
  • 19. Básicamente, debemos alternar entre 1 de 2 imágenes, a menos que estemos girando. Si estamos girando, se muestra la imagen de giro izquierda o derecha. 19
  • 20. Al guardar el estado de una acción actual, solemos utilizar una variable de clase. 20
  • 21. Resulta útil utilizar nombres de variables de clase óptimos, especialmente al definir valores booleanos. Podríamos haber llamado a la variable notTurning, pero resulta más complicado comprender el significado real de notTurning que el de isTurning. 21
  • 22. Recuerde que Java distingue entre mayúsculas y minúsculas, por lo que "BeeLeft.png" no es lo mismo que "beeLeft.png". Compruebe que esté usando las mayúsculas y minúsculas correctamente para sus archivos de imagen y sonido. 22
  • 23. En este punto, la abeja seguirá intentando que continúe la animación durante el giro. 23
  • 24. && (significa "y") solo devuelve true si las sentencias a ambos lados de && son true. 24
  • 25. Puede crear tablas de verdad para AND/NOT/OR. Para ello, siga las instrucciones que se describen a continuación: Para AND/OR puede utilizar 2 entradas de true y false, y mostrar el resultado. POR LO TANTO TRUE TRUE TRUE FALSE FALSE TRUE FALSE FALSE Son las 4 entradas posibles. Para AND/OR se muestra el valor booleano resultante. 25
  • 26. Recuerde que && representa "y", y solo devolverá true si ambas partes son true. 26
  • 27. Cuanto mayor sea el número de imágenes, más suave será la animación. 27
  • 28. Recuerde que en una sentencia if-else, solo una de las secciones de código puede ejecutarse. 28
  • 29. A medida que desarrolle sus habilidades y conocimientos en java, comprobará que existen estructuras más avanzadas para almacenar varias variables en una sola variable. 29
  • 30. Las cadenas contienen cualquier dato alfanumérico. Por lo tanto, también podríamos almacenar "Joe! 1" 30
  • 31. Para definir una matriz se utilizan corchetes. El tipo delante de los corchetes es el tipo que puede almacenar cada celda de la matriz. En el caso anterior, String[] configura una matriz que almacena cadenas. 31
  • 32. Antes de utilizar una matriz, tendremos que configurar el máximo número de celdas que estarán disponibles. 32
  • 33. Este es un ejemplo de la inicialización de una variable de matriz. Podríamos haber escrito String[] studentnames = new String[4]; studentnames[0] = "Joe"; studentnames[1] = "Debbie"; studentnames[2] = "Ermal"; studentnames[3] = "Besa"; Tenga en cuenta que el primer elemento de una matriz se inicia en el índice 0. 33
  • 34. Se generará un error si intenta acceder a un elemento de la matriz fuera de rango. En este ejemplo, el rango del elemento va de 0 a 3. 34
  • 35. Recuerde que esta matriz se declara como una matriz String. Si se devuelve un elemento de la matriz, este valor será una cadena 35
  • 36. Esto implica que podamos almacenar todas nuestras imágenes en una variable. 36
  • 37. Podríamos declarar una constante para el máximo número de imágenes en lugar de utilizar el valor 4. De este modo, el código sería más legible y mucho más fácil de cambiar posteriormente. Si tuviésemos la constante MAXIMAGES = 4; Podríamos cambiar el código por ….. = new GreenfootImage[MAXIMAGES]; 37
  • 38. La imagen 2 se utiliza dos veces, ya que deseamos mostrar las imágenes - abeja -> abeja1 -> abeja2 -> abeja1 y, a continuación, repetir. 38
  • 39. La segunda solución sería más fácil para agregar más imágenes. La ("bee" + i + ".png"); se conoce como una concatenación de cadenas. Une las cadenas. Por lo tanto, si i=1, obtendríamos "bee1.png". En el ejemplo de bucle while, se copia la imagen bee1.png y se denomina bee3.png. currentimage sería un campo de clase. 39
  • 40. Tenga en cuenta que el método animateBee() ahora manejaría cualquier cantidad de imágenes. Solo necesitaríamos cambiar el valor de índice 3 por un nuevo valor. En este caso, sería mejor sustituir el 3 por una constante. if (currentimage == MAX_IMAGES-1)… MAX_IMAGES se declararía como un campo de clase private final int MAX_IMAGES = 4; A continuación, actualizaríamos nuestro código para utilizar esta constante en lugar de 3. Esto hace que nuestro código sea más legible y fácil de mantener. 40
  • 41. 41
  • 42. 42