SlideShare a Scribd company logo
1 of 31
Download to read offline
3
La abstracción se puede definir de varias formas. Nos centraremos en la idea de alejarnos de una función
específica para adoptar una más general.
Piense en abstracción como el proceso de pasar de una tarea más específica a una tarea más general. Por
lo tanto, en lugar de llamar a un constructor que siempre realice las mismas tareas, podríamos transferir
valores que nos permitieran cambiar la configuración inicial.
4
Ya hemos comenzado a realizar la abstracción mediante la creación de nuestros propios métodos y
constructores.
5
Cuando escriba código fuente y compruebe que algo que está escribiendo es muy parecido a otro código
que ha escrito, debe comprobar si puede abstraer su finalidad a otro método. A continuación, llámelo
desde las ubicaciones correctas. A continuación, producirá código que es más fácil de mantener.
6
Podríamos haber escrito
Fly fly1 = new Fly();
fly1.setSpeed(4); // un método definido
fly1.setRotation(90);
Tendríamos que repetir el código anterior para cada mosca. Al abstraer su propósito al constructor, reduce
en gran medida la repetición.
7
El equipo de programación de Greenfoot ha creado métodos para que la tarea de desarrollo le resulte más
sencilla. Puede abstraerlo aún más para que sea más potente.
8
Modificará con frecuencia constructores para que pueda transferirles la información inicial.
9
public void increaseScore(int value) {
score = score + value;
}
Podríamos llamarlo desde un área como increaseScore(5) y desde otra área como increaseScore(10).
10
Sumamos 1 a la velocidad porque getRandomNumber() puede devolver un 0. Una mosca con una velocidad
de cero es muy fácil de atrapar.
11
Si desea cambiar la velocidad, el giro, etc. durante un juego, debe crear una variable de clase para
almacenar el valor actual.
12
De este modo, se agregará una mosca en las coordenadas (150,150) con una velocidad máxima aleatoria de
2 a partir de una dirección de 90 grados.
13
Ahora se están agregando 4 moscas, cada una de ellas con una velocidad aleatoria máxima, una dirección
inicial y un punto de partida distinto. Todas ellas con solo 4 líneas de código en el constructor BeeWorld.
14
Escribir líneas de código que presiente que se han escrito anteriormente suele ser el detonante de la
abstracción.
15
16
Creamos 10 moscas, cada una con una dirección y posición aleatorias en la pantalla.
Esto se realiza mediante un bucle for. El bucle for ejecutará el código entre paréntesis un número
determinado de veces. En este ejemplo hay 10 bucles. Nos centraremos en los bucles a medida que avance
el curso.
Podríamos aumentar la velocidad máxima de las moscas, ya que el juego hace que sea cada vez más difícil
atraparlas.
17
Si va a contar con actores que comparten funcionalidades, es mejor crear una subclase de actor, agregar la
funcionalidad y, a continuación, crear una subclase de esa clase. Recuerde que la clase Movement puede
contener varias subclases.
18
private static final int SPEED= 4
Crea una clase constante que podemos utilizar en nuestro código. Su ventaja es que se hace que nuestro
código más legible al utilizarlo y también nos permite cambiar un valor para aumentar la velocidad de todos
los actores que la usan.
19
setLocation() mueve un actor sin tener que cambiar su giro. En algunos casos, es mejor que move() y
rotate(). En el ejemplo, deseamos que un bebé se mueva por la pantalla. No queremos que gire, sino que
esté siempre erguido, pero que se siga moviendo por la pantalla en distintas direcciones.
20
Si el bebé se movió en una dirección tras estar en contacto con otro actor, también podríamos llamar a este
método en esta ubicación.
if (leftBump()) {
moveLeft();
}
21
En algunos escenarios, no tendrá que preocuparse por las acciones que se producen lejos de los actores
principales, pero en otros juegos tendrá que supervisarlos constantemente.
22
En algunos escenarios, no tendrá que preocuparse por las acciones que se producen lejos de los actores
principales, pero en otros juegos tendrá que supervisarlos constantemente.
23
Tenga en cuenta que hemos mantenido la puntuación de propiedad en privado, de modo que ningún actor
ajeno a BeeWorld tenga acceso directo a la misma. Deben utilizar los métodos públicos getScore() y
updateScore().
24
Conversión es un término con el que le va a resultar muy familiar durante este curso.
25
No podemos convertir todo lo que deseemos para que sea algo diferente. Debe existir una relación como
entre World y BeeWorld o Actor y Bee. No podríamos convertir World en Actor, por ejemplo.
26
Debe tener en cuenta que esto es muy similar a nuestro último ejemplo. Creamos un campo de clase
privada para almacenar el tipo de datos a los que deseamos acceder. A continuación, creamos un método
público para devolver este valor.
27
BeeWorld myworld = (BeeWorld)getWorld();
Esta línea obtiene una referencia al mundo actual y la almacena en la variable myworld. Puesto que el tipo
de retorno de getWorld es World, tenemos que convertirlo en un tipo BeeWorld.
Bee bee = myworld.getBee();
Estas líneas crean una variable bee que hará referencia a la abeja que devuelve nuestro método getBee();
Una vez que tenemos esta referencia, podemos utilizar la abeja que se ha devuelto para acceder a métodos
de la instancia Bee.
Usamos los métodos getX() y getY() de la instancia Bee en el método de actor turnTowards. Esto significa
que la araña siempre girará para estar frente a la instancia Bee en el mundo.
28
29
30
Capitulo9  greenfoot

More Related Content

Similar to Capitulo9 greenfoot (17)

CAPITULO 6 GREENFOOT
CAPITULO 6 GREENFOOTCAPITULO 6 GREENFOOT
CAPITULO 6 GREENFOOT
 
Jf 3 6_sg_esp(3)
Jf 3 6_sg_esp(3)Jf 3 6_sg_esp(3)
Jf 3 6_sg_esp(3)
 
leccion 6
leccion 6leccion 6
leccion 6
 
Capitulo 6 greenfoot
Capitulo 6 greenfootCapitulo 6 greenfoot
Capitulo 6 greenfoot
 
Jf 3 6_sg_esp(3)
Jf 3 6_sg_esp(3)Jf 3 6_sg_esp(3)
Jf 3 6_sg_esp(3)
 
Capitulo 6
Capitulo 6Capitulo 6
Capitulo 6
 
Jf 3 6_sg_esp(3) 6
Jf 3 6_sg_esp(3) 6Jf 3 6_sg_esp(3) 6
Jf 3 6_sg_esp(3) 6
 
Greenfoot 6
Greenfoot 6Greenfoot 6
Greenfoot 6
 
Greenfoot 6
Greenfoot 6Greenfoot 6
Greenfoot 6
 
Capitulo 5 greenfoot
Capitulo 5 greenfootCapitulo 5 greenfoot
Capitulo 5 greenfoot
 
Greenfoot 5
Greenfoot 5Greenfoot 5
Greenfoot 5
 
Greenfoot 5
Greenfoot 5Greenfoot 5
Greenfoot 5
 
Greenfoot 5
Greenfoot 5Greenfoot 5
Greenfoot 5
 
Jf 3 5_sg_esp(2)(3)
Jf 3 5_sg_esp(2)(3)Jf 3 5_sg_esp(2)(3)
Jf 3 5_sg_esp(2)(3)
 
Greenfoot 5
Greenfoot 5Greenfoot 5
Greenfoot 5
 
Pra5
Pra5Pra5
Pra5
 
CAPITULO 5 DE GREENFOOT
CAPITULO 5 DE GREENFOOTCAPITULO 5 DE GREENFOOT
CAPITULO 5 DE GREENFOOT
 

More from Aquino1912

Dreamweaver j-l
Dreamweaver j-lDreamweaver j-l
Dreamweaver j-lAquino1912
 
Etiquetas en html de video
Etiquetas en html de videoEtiquetas en html de video
Etiquetas en html de videoAquino1912
 
Colocar un fondo en una pagina web
Colocar un fondo en una pagina webColocar un fondo en una pagina web
Colocar un fondo en una pagina webAquino1912
 
Las filas - html
Las filas - htmlLas filas - html
Las filas - htmlAquino1912
 
Marquesinas html
Marquesinas htmlMarquesinas html
Marquesinas htmlAquino1912
 
ESTRUCTURA DE UN DOCUMENTO HTML
ESTRUCTURA DE UN  DOCUMENTO HTMLESTRUCTURA DE UN  DOCUMENTO HTML
ESTRUCTURA DE UN DOCUMENTO HTMLAquino1912
 
DISEÑO Y EXPLICACIÓN DE UNA PAGINA WEB
DISEÑO Y EXPLICACIÓN DE UNA PAGINA WEBDISEÑO Y EXPLICACIÓN DE UNA PAGINA WEB
DISEÑO Y EXPLICACIÓN DE UNA PAGINA WEBAquino1912
 
TOPOLOGÍAS DE RED
TOPOLOGÍAS DE REDTOPOLOGÍAS DE RED
TOPOLOGÍAS DE REDAquino1912
 
la Teoría del Color -Cetis 109
 la Teoría del Color -Cetis 109 la Teoría del Color -Cetis 109
la Teoría del Color -Cetis 109Aquino1912
 
Examen de diagnostico-Escrito
Examen de diagnostico-EscritoExamen de diagnostico-Escrito
Examen de diagnostico-EscritoAquino1912
 
Examen de diagnostico
Examen de diagnosticoExamen de diagnostico
Examen de diagnosticoAquino1912
 
Capitulo10 greenfoot
Capitulo10 greenfootCapitulo10 greenfoot
Capitulo10 greenfootAquino1912
 
Capitulo 8 greenfoot
Capitulo 8  greenfootCapitulo 8  greenfoot
Capitulo 8 greenfootAquino1912
 
Capitulo 7 greenfoot
Capitulo 7  greenfootCapitulo 7  greenfoot
Capitulo 7 greenfootAquino1912
 
Capitulo 4 greenfoot
Capitulo 4  greenfootCapitulo 4  greenfoot
Capitulo 4 greenfootAquino1912
 
Capitulo 3 greenfoot
Capitulo 3 greenfootCapitulo 3 greenfoot
Capitulo 3 greenfootAquino1912
 
Capitulo 2 greenfoot
Capitulo 2 greenfootCapitulo 2 greenfoot
Capitulo 2 greenfootAquino1912
 
Capitulo 1 greenfoot
Capitulo 1 greenfootCapitulo 1 greenfoot
Capitulo 1 greenfootAquino1912
 
Practica 14 a_alice
Practica 14 a_alicePractica 14 a_alice
Practica 14 a_aliceAquino1912
 

More from Aquino1912 (20)

Dreamweaver j-l
Dreamweaver j-lDreamweaver j-l
Dreamweaver j-l
 
Etiquetas en html de video
Etiquetas en html de videoEtiquetas en html de video
Etiquetas en html de video
 
Colocar un fondo en una pagina web
Colocar un fondo en una pagina webColocar un fondo en una pagina web
Colocar un fondo en una pagina web
 
Las filas - html
Las filas - htmlLas filas - html
Las filas - html
 
Marquesinas html
Marquesinas htmlMarquesinas html
Marquesinas html
 
ESTRUCTURA DE UN DOCUMENTO HTML
ESTRUCTURA DE UN  DOCUMENTO HTMLESTRUCTURA DE UN  DOCUMENTO HTML
ESTRUCTURA DE UN DOCUMENTO HTML
 
DISEÑO Y EXPLICACIÓN DE UNA PAGINA WEB
DISEÑO Y EXPLICACIÓN DE UNA PAGINA WEBDISEÑO Y EXPLICACIÓN DE UNA PAGINA WEB
DISEÑO Y EXPLICACIÓN DE UNA PAGINA WEB
 
TOPOLOGÍAS DE RED
TOPOLOGÍAS DE REDTOPOLOGÍAS DE RED
TOPOLOGÍAS DE RED
 
Sitios Web
Sitios Web Sitios Web
Sitios Web
 
la Teoría del Color -Cetis 109
 la Teoría del Color -Cetis 109 la Teoría del Color -Cetis 109
la Teoría del Color -Cetis 109
 
Examen de diagnostico-Escrito
Examen de diagnostico-EscritoExamen de diagnostico-Escrito
Examen de diagnostico-Escrito
 
Examen de diagnostico
Examen de diagnosticoExamen de diagnostico
Examen de diagnostico
 
Capitulo10 greenfoot
Capitulo10 greenfootCapitulo10 greenfoot
Capitulo10 greenfoot
 
Capitulo 8 greenfoot
Capitulo 8  greenfootCapitulo 8  greenfoot
Capitulo 8 greenfoot
 
Capitulo 7 greenfoot
Capitulo 7  greenfootCapitulo 7  greenfoot
Capitulo 7 greenfoot
 
Capitulo 4 greenfoot
Capitulo 4  greenfootCapitulo 4  greenfoot
Capitulo 4 greenfoot
 
Capitulo 3 greenfoot
Capitulo 3 greenfootCapitulo 3 greenfoot
Capitulo 3 greenfoot
 
Capitulo 2 greenfoot
Capitulo 2 greenfootCapitulo 2 greenfoot
Capitulo 2 greenfoot
 
Capitulo 1 greenfoot
Capitulo 1 greenfootCapitulo 1 greenfoot
Capitulo 1 greenfoot
 
Practica 14 a_alice
Practica 14 a_alicePractica 14 a_alice
Practica 14 a_alice
 

Recently uploaded

BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICAÁngel Encinas
 
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSOCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSYadi Campos
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.amayarogel
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfFrancisco158360
 
Cuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfCuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfNancyLoaa
 
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfGUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfPaolaRopero2
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Lourdes Feria
 
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptx
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptxORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptx
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptxnandoapperscabanilla
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Alejandrino Halire Ccahuana
 
Ley 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circularLey 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circularMooPandrea
 
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...JAVIER SOLIS NOYOLA
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptxdeimerhdz21
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Carlos Muñoz
 
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA IIAFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA IIIsauraImbrondone
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAJAVIER SOLIS NOYOLA
 
plande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdfplande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdfenelcielosiempre
 

Recently uploaded (20)

BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
 
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSOCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
 
Fe contra todo pronóstico. La fe es confianza.
Fe contra todo pronóstico. La fe es confianza.Fe contra todo pronóstico. La fe es confianza.
Fe contra todo pronóstico. La fe es confianza.
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 
Presentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza MultigradoPresentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza Multigrado
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
 
Cuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfCuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdf
 
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfGUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptx
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptxORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptx
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptx
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
 
Ley 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circularLey 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circular
 
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptx
 
Medición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptxMedición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptx
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
 
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA IIAFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
 
plande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdfplande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdf
 
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdfTema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
 

Capitulo9 greenfoot

  • 1.
  • 2.
  • 3. 3
  • 4. La abstracción se puede definir de varias formas. Nos centraremos en la idea de alejarnos de una función específica para adoptar una más general. Piense en abstracción como el proceso de pasar de una tarea más específica a una tarea más general. Por lo tanto, en lugar de llamar a un constructor que siempre realice las mismas tareas, podríamos transferir valores que nos permitieran cambiar la configuración inicial. 4
  • 5. Ya hemos comenzado a realizar la abstracción mediante la creación de nuestros propios métodos y constructores. 5
  • 6. Cuando escriba código fuente y compruebe que algo que está escribiendo es muy parecido a otro código que ha escrito, debe comprobar si puede abstraer su finalidad a otro método. A continuación, llámelo desde las ubicaciones correctas. A continuación, producirá código que es más fácil de mantener. 6
  • 7. Podríamos haber escrito Fly fly1 = new Fly(); fly1.setSpeed(4); // un método definido fly1.setRotation(90); Tendríamos que repetir el código anterior para cada mosca. Al abstraer su propósito al constructor, reduce en gran medida la repetición. 7
  • 8. El equipo de programación de Greenfoot ha creado métodos para que la tarea de desarrollo le resulte más sencilla. Puede abstraerlo aún más para que sea más potente. 8
  • 9. Modificará con frecuencia constructores para que pueda transferirles la información inicial. 9
  • 10. public void increaseScore(int value) { score = score + value; } Podríamos llamarlo desde un área como increaseScore(5) y desde otra área como increaseScore(10). 10
  • 11. Sumamos 1 a la velocidad porque getRandomNumber() puede devolver un 0. Una mosca con una velocidad de cero es muy fácil de atrapar. 11
  • 12. Si desea cambiar la velocidad, el giro, etc. durante un juego, debe crear una variable de clase para almacenar el valor actual. 12
  • 13. De este modo, se agregará una mosca en las coordenadas (150,150) con una velocidad máxima aleatoria de 2 a partir de una dirección de 90 grados. 13
  • 14. Ahora se están agregando 4 moscas, cada una de ellas con una velocidad aleatoria máxima, una dirección inicial y un punto de partida distinto. Todas ellas con solo 4 líneas de código en el constructor BeeWorld. 14
  • 15. Escribir líneas de código que presiente que se han escrito anteriormente suele ser el detonante de la abstracción. 15
  • 16. 16
  • 17. Creamos 10 moscas, cada una con una dirección y posición aleatorias en la pantalla. Esto se realiza mediante un bucle for. El bucle for ejecutará el código entre paréntesis un número determinado de veces. En este ejemplo hay 10 bucles. Nos centraremos en los bucles a medida que avance el curso. Podríamos aumentar la velocidad máxima de las moscas, ya que el juego hace que sea cada vez más difícil atraparlas. 17
  • 18. Si va a contar con actores que comparten funcionalidades, es mejor crear una subclase de actor, agregar la funcionalidad y, a continuación, crear una subclase de esa clase. Recuerde que la clase Movement puede contener varias subclases. 18
  • 19. private static final int SPEED= 4 Crea una clase constante que podemos utilizar en nuestro código. Su ventaja es que se hace que nuestro código más legible al utilizarlo y también nos permite cambiar un valor para aumentar la velocidad de todos los actores que la usan. 19
  • 20. setLocation() mueve un actor sin tener que cambiar su giro. En algunos casos, es mejor que move() y rotate(). En el ejemplo, deseamos que un bebé se mueva por la pantalla. No queremos que gire, sino que esté siempre erguido, pero que se siga moviendo por la pantalla en distintas direcciones. 20
  • 21. Si el bebé se movió en una dirección tras estar en contacto con otro actor, también podríamos llamar a este método en esta ubicación. if (leftBump()) { moveLeft(); } 21
  • 22. En algunos escenarios, no tendrá que preocuparse por las acciones que se producen lejos de los actores principales, pero en otros juegos tendrá que supervisarlos constantemente. 22
  • 23. En algunos escenarios, no tendrá que preocuparse por las acciones que se producen lejos de los actores principales, pero en otros juegos tendrá que supervisarlos constantemente. 23
  • 24. Tenga en cuenta que hemos mantenido la puntuación de propiedad en privado, de modo que ningún actor ajeno a BeeWorld tenga acceso directo a la misma. Deben utilizar los métodos públicos getScore() y updateScore(). 24
  • 25. Conversión es un término con el que le va a resultar muy familiar durante este curso. 25
  • 26. No podemos convertir todo lo que deseemos para que sea algo diferente. Debe existir una relación como entre World y BeeWorld o Actor y Bee. No podríamos convertir World en Actor, por ejemplo. 26
  • 27. Debe tener en cuenta que esto es muy similar a nuestro último ejemplo. Creamos un campo de clase privada para almacenar el tipo de datos a los que deseamos acceder. A continuación, creamos un método público para devolver este valor. 27
  • 28. BeeWorld myworld = (BeeWorld)getWorld(); Esta línea obtiene una referencia al mundo actual y la almacena en la variable myworld. Puesto que el tipo de retorno de getWorld es World, tenemos que convertirlo en un tipo BeeWorld. Bee bee = myworld.getBee(); Estas líneas crean una variable bee que hará referencia a la abeja que devuelve nuestro método getBee(); Una vez que tenemos esta referencia, podemos utilizar la abeja que se ha devuelto para acceder a métodos de la instancia Bee. Usamos los métodos getX() y getY() de la instancia Bee en el método de actor turnTowards. Esto significa que la araña siempre girará para estar frente a la instancia Bee en el mundo. 28
  • 29. 29
  • 30. 30