SlideShare una empresa de Scribd logo
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
CAPITULO 9 GREENFOOT

Más contenido relacionado

Similar a CAPITULO 9 GREENFOOT

Pra6
Pra6Pra6
Greenfoot 6
Greenfoot 6Greenfoot 6
Greenfoot 6
RodriguezNunezIvan
 
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
dani t
 
Jf 3 6_sg_esp(3)
Jf 3 6_sg_esp(3)Jf 3 6_sg_esp(3)
Jf 3 6_sg_esp(3)
ArmandoC42
 
Capitulo 6
Capitulo 6Capitulo 6
Capitulo 6
ramosmendezshura
 
Jf 3 6_sg_esp(3)
Jf 3 6_sg_esp(3)Jf 3 6_sg_esp(3)
Jf 3 6_sg_esp(3)
Laura Cortez
 
Greenfoot 6
Greenfoot 6Greenfoot 6
Greenfoot 6
MartinCetis109
 
CAPITULO 6 DE GREENFOOT
CAPITULO 6 DE GREENFOOTCAPITULO 6 DE GREENFOOT
CAPITULO 6 DE GREENFOOT
ManuelHernandez480
 
Greenfoot 6
Greenfoot 6Greenfoot 6
Greenfoot 6
DiegoMaldonado123
 
Capitulo 5 greenfoot
Capitulo 5 greenfootCapitulo 5 greenfoot
Capitulo 5 greenfoot
Aquino1912
 
CAPITULO 5 GREENFOOT
CAPITULO 5 GREENFOOTCAPITULO 5 GREENFOOT
CAPITULO 5 GREENFOOT
KatherinBarrios17
 
Greenfoot 5
Greenfoot 5Greenfoot 5
Greenfoot 5
MartinCetis109
 
leccion 5
leccion  5leccion  5
leccion 5
heidiromero11
 
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)
ArmandoC42
 
Greenfoot 5
Greenfoot 5Greenfoot 5
Greenfoot 5
RodriguezNunezIvan
 
Greenfoot 5
Greenfoot 5Greenfoot 5
Greenfoot 5
DiegoMaldonado123
 
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)
Laura Cortez
 
Capitulo 5
Capitulo 5Capitulo 5
Capitulo 5
MaryferGaitan
 

Similar a CAPITULO 9 GREENFOOT (18)

Pra6
Pra6Pra6
Pra6
 
Greenfoot 6
Greenfoot 6Greenfoot 6
Greenfoot 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
 
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)
Jf 3 6_sg_esp(3)Jf 3 6_sg_esp(3)
Jf 3 6_sg_esp(3)
 
Greenfoot 6
Greenfoot 6Greenfoot 6
Greenfoot 6
 
CAPITULO 6 DE GREENFOOT
CAPITULO 6 DE GREENFOOTCAPITULO 6 DE GREENFOOT
CAPITULO 6 DE GREENFOOT
 
Greenfoot 6
Greenfoot 6Greenfoot 6
Greenfoot 6
 
Capitulo 5 greenfoot
Capitulo 5 greenfootCapitulo 5 greenfoot
Capitulo 5 greenfoot
 
CAPITULO 5 GREENFOOT
CAPITULO 5 GREENFOOTCAPITULO 5 GREENFOOT
CAPITULO 5 GREENFOOT
 
Greenfoot 5
Greenfoot 5Greenfoot 5
Greenfoot 5
 
leccion 5
leccion  5leccion  5
leccion 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
 
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)
 
Capitulo 5
Capitulo 5Capitulo 5
Capitulo 5
 

Más de KatherinBarrios17

DREMWEAVER
DREMWEAVERDREMWEAVER
DREMWEAVER
KatherinBarrios17
 
TEORIA DEL COLOR
TEORIA DEL COLORTEORIA DEL COLOR
TEORIA DEL COLOR
KatherinBarrios17
 
BUNNY RECOMMENDATION WEB
BUNNY RECOMMENDATION WEBBUNNY RECOMMENDATION WEB
BUNNY RECOMMENDATION WEB
KatherinBarrios17
 
TOPOLICAS DE LA RED
TOPOLICAS DE LA REDTOPOLICAS DE LA RED
TOPOLICAS DE LA RED
KatherinBarrios17
 
ELEMENTOS BASICOS WEB
ELEMENTOS BASICOS WEBELEMENTOS BASICOS WEB
ELEMENTOS BASICOS WEB
KatherinBarrios17
 
TEORIA DEL COLOR
TEORIA DEL COLORTEORIA DEL COLOR
TEORIA DEL COLOR
KatherinBarrios17
 
CAPITULO 14 ALICE
CAPITULO 14 ALICECAPITULO 14 ALICE
CAPITULO 14 ALICE
KatherinBarrios17
 
CAPITULO 13 ALICE
CAPITULO 13 ALICECAPITULO 13 ALICE
CAPITULO 13 ALICE
KatherinBarrios17
 
CAPITULO 12 ALICE
CAPITULO 12 ALICECAPITULO 12 ALICE
CAPITULO 12 ALICE
KatherinBarrios17
 
CAPITULO 11 ALICE
CAPITULO 11 ALICECAPITULO 11 ALICE
CAPITULO 11 ALICE
KatherinBarrios17
 
CAPITULO 10 ALICE
CAPITULO 10 ALICECAPITULO 10 ALICE
CAPITULO 10 ALICE
KatherinBarrios17
 
CAPITULO 9 ALICE
CAPITULO 9 ALICECAPITULO 9 ALICE
CAPITULO 9 ALICE
KatherinBarrios17
 
CAPITULO 8 ALICE
CAPITULO 8 ALICECAPITULO 8 ALICE
CAPITULO 8 ALICE
KatherinBarrios17
 
CAPITULO 7 ALICE
CAPITULO 7 ALICECAPITULO 7 ALICE
CAPITULO 7 ALICE
KatherinBarrios17
 
CAPITULO 6 ALICE
CAPITULO 6 ALICECAPITULO 6 ALICE
CAPITULO 6 ALICE
KatherinBarrios17
 
CAPITULO 5 ALICE
CAPITULO 5 ALICECAPITULO 5 ALICE
CAPITULO 5 ALICE
KatherinBarrios17
 
CAPITULO 4 ALICE
CAPITULO 4 ALICECAPITULO 4 ALICE
CAPITULO 4 ALICE
KatherinBarrios17
 
CAPITULO 3 ALICE
CAPITULO 3 ALICECAPITULO 3 ALICE
CAPITULO 3 ALICE
KatherinBarrios17
 
CAPITULO 2 ALICE
CAPITULO 2 ALICECAPITULO 2 ALICE
CAPITULO 2 ALICE
KatherinBarrios17
 
CAPITULO 1 ALICE
CAPITULO 1 ALICECAPITULO 1 ALICE
CAPITULO 1 ALICE
KatherinBarrios17
 

Más de KatherinBarrios17 (20)

DREMWEAVER
DREMWEAVERDREMWEAVER
DREMWEAVER
 
TEORIA DEL COLOR
TEORIA DEL COLORTEORIA DEL COLOR
TEORIA DEL COLOR
 
BUNNY RECOMMENDATION WEB
BUNNY RECOMMENDATION WEBBUNNY RECOMMENDATION WEB
BUNNY RECOMMENDATION WEB
 
TOPOLICAS DE LA RED
TOPOLICAS DE LA REDTOPOLICAS DE LA RED
TOPOLICAS DE LA RED
 
ELEMENTOS BASICOS WEB
ELEMENTOS BASICOS WEBELEMENTOS BASICOS WEB
ELEMENTOS BASICOS WEB
 
TEORIA DEL COLOR
TEORIA DEL COLORTEORIA DEL COLOR
TEORIA DEL COLOR
 
CAPITULO 14 ALICE
CAPITULO 14 ALICECAPITULO 14 ALICE
CAPITULO 14 ALICE
 
CAPITULO 13 ALICE
CAPITULO 13 ALICECAPITULO 13 ALICE
CAPITULO 13 ALICE
 
CAPITULO 12 ALICE
CAPITULO 12 ALICECAPITULO 12 ALICE
CAPITULO 12 ALICE
 
CAPITULO 11 ALICE
CAPITULO 11 ALICECAPITULO 11 ALICE
CAPITULO 11 ALICE
 
CAPITULO 10 ALICE
CAPITULO 10 ALICECAPITULO 10 ALICE
CAPITULO 10 ALICE
 
CAPITULO 9 ALICE
CAPITULO 9 ALICECAPITULO 9 ALICE
CAPITULO 9 ALICE
 
CAPITULO 8 ALICE
CAPITULO 8 ALICECAPITULO 8 ALICE
CAPITULO 8 ALICE
 
CAPITULO 7 ALICE
CAPITULO 7 ALICECAPITULO 7 ALICE
CAPITULO 7 ALICE
 
CAPITULO 6 ALICE
CAPITULO 6 ALICECAPITULO 6 ALICE
CAPITULO 6 ALICE
 
CAPITULO 5 ALICE
CAPITULO 5 ALICECAPITULO 5 ALICE
CAPITULO 5 ALICE
 
CAPITULO 4 ALICE
CAPITULO 4 ALICECAPITULO 4 ALICE
CAPITULO 4 ALICE
 
CAPITULO 3 ALICE
CAPITULO 3 ALICECAPITULO 3 ALICE
CAPITULO 3 ALICE
 
CAPITULO 2 ALICE
CAPITULO 2 ALICECAPITULO 2 ALICE
CAPITULO 2 ALICE
 
CAPITULO 1 ALICE
CAPITULO 1 ALICECAPITULO 1 ALICE
CAPITULO 1 ALICE
 

Último

La vida de Martin Miguel de Güemes para niños de primaria
La vida de Martin Miguel de Güemes para niños de primariaLa vida de Martin Miguel de Güemes para niños de primaria
La vida de Martin Miguel de Güemes para niños de primaria
EricaCouly1
 
Sesión: El espiritismo desenmascarado.pdf
Sesión: El espiritismo desenmascarado.pdfSesión: El espiritismo desenmascarado.pdf
Sesión: El espiritismo desenmascarado.pdf
https://gramadal.wordpress.com/
 
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZACORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
Sandra Mariela Ballón Aguedo
 
EVALUACION ESTUDIANTIL 2023-2024 Ecuador - Costa.pptx
EVALUACION ESTUDIANTIL 2023-2024 Ecuador - Costa.pptxEVALUACION ESTUDIANTIL 2023-2024 Ecuador - Costa.pptx
EVALUACION ESTUDIANTIL 2023-2024 Ecuador - Costa.pptx
Victor Elizalde P
 
Inteligencia Artificial para Docentes HIA Ccesa007.pdf
Inteligencia Artificial para Docentes  HIA  Ccesa007.pdfInteligencia Artificial para Docentes  HIA  Ccesa007.pdf
Inteligencia Artificial para Docentes HIA Ccesa007.pdf
Demetrio Ccesa Rayme
 
CONTENIDOS Y PDA DE LA FASE 3,4 Y 5 EN NIVEL PRIMARIA
CONTENIDOS Y PDA DE LA FASE 3,4 Y 5 EN NIVEL PRIMARIACONTENIDOS Y PDA DE LA FASE 3,4 Y 5 EN NIVEL PRIMARIA
CONTENIDOS Y PDA DE LA FASE 3,4 Y 5 EN NIVEL PRIMARIA
ginnazamudio
 
Dosificación de los aprendizajes U4_Me gustan los animales_Parvulos 1_2_3.pdf
Dosificación de los aprendizajes U4_Me gustan los animales_Parvulos 1_2_3.pdfDosificación de los aprendizajes U4_Me gustan los animales_Parvulos 1_2_3.pdf
Dosificación de los aprendizajes U4_Me gustan los animales_Parvulos 1_2_3.pdf
KarenRuano6
 
pueblos originarios de chile presentacion twinkl.pptx
pueblos originarios de chile presentacion twinkl.pptxpueblos originarios de chile presentacion twinkl.pptx
pueblos originarios de chile presentacion twinkl.pptx
RAMIREZNICOLE
 
leyenda, mito, copla,juego de palabras ,epopeya,cantar de gestas,corrido popu...
leyenda, mito, copla,juego de palabras ,epopeya,cantar de gestas,corrido popu...leyenda, mito, copla,juego de palabras ,epopeya,cantar de gestas,corrido popu...
leyenda, mito, copla,juego de palabras ,epopeya,cantar de gestas,corrido popu...
lizeth671681
 
Las Tecnologias Digitales en los Aprendizajesdel Siglo XXI UNESCO Ccesa007.pdf
Las Tecnologias Digitales en los Aprendizajesdel Siglo XXI  UNESCO Ccesa007.pdfLas Tecnologias Digitales en los Aprendizajesdel Siglo XXI  UNESCO Ccesa007.pdf
Las Tecnologias Digitales en los Aprendizajesdel Siglo XXI UNESCO Ccesa007.pdf
Demetrio Ccesa Rayme
 
Guia para Docentes como usar ChatGPT Mineduc Ccesa007.pdf
Guia para Docentes como usar ChatGPT  Mineduc Ccesa007.pdfGuia para Docentes como usar ChatGPT  Mineduc Ccesa007.pdf
Guia para Docentes como usar ChatGPT Mineduc Ccesa007.pdf
Demetrio Ccesa Rayme
 
Blogs_y_Educacion_Por Zaracho Lautaro_.pdf
Blogs_y_Educacion_Por Zaracho Lautaro_.pdfBlogs_y_Educacion_Por Zaracho Lautaro_.pdf
Blogs_y_Educacion_Por Zaracho Lautaro_.pdf
lautyzaracho4
 
LA PEDAGOGIA AUTOGESTONARIA EN EL PROCESO DE ENSEÑANZA APRENDIZAJE
LA PEDAGOGIA AUTOGESTONARIA EN EL PROCESO DE ENSEÑANZA APRENDIZAJELA PEDAGOGIA AUTOGESTONARIA EN EL PROCESO DE ENSEÑANZA APRENDIZAJE
LA PEDAGOGIA AUTOGESTONARIA EN EL PROCESO DE ENSEÑANZA APRENDIZAJE
jecgjv
 
Power Point: El espiritismo desenmascarado
Power Point: El espiritismo desenmascaradoPower Point: El espiritismo desenmascarado
Power Point: El espiritismo desenmascarado
https://gramadal.wordpress.com/
 
Dia de la Bandera colegio Santa Angela 2024
Dia de la Bandera colegio Santa Angela 2024Dia de la Bandera colegio Santa Angela 2024
Dia de la Bandera colegio Santa Angela 2024
77361565
 
Planificación Ejemplo con la metodología TPACK
Planificación Ejemplo con la metodología  TPACKPlanificación Ejemplo con la metodología  TPACK
Planificación Ejemplo con la metodología TPACK
ssusera6697f
 
Maristella Svampa-La sociedad excluyente.pdf
Maristella Svampa-La sociedad excluyente.pdfMaristella Svampa-La sociedad excluyente.pdf
Maristella Svampa-La sociedad excluyente.pdf
belbarcala
 
El ensayo mexicano en el siglo XX LITERATURA
El ensayo mexicano en el siglo XX LITERATURAEl ensayo mexicano en el siglo XX LITERATURA
El ensayo mexicano en el siglo XX LITERATURA
Armando920824
 
Radicación con expresiones algebraicas para 9no grado
Radicación con expresiones algebraicas para 9no gradoRadicación con expresiones algebraicas para 9no grado
Radicación con expresiones algebraicas para 9no grado
perezducasaarmando
 
Las diversas Sociedades Mercantiles Mexico.pdf
Las diversas Sociedades Mercantiles Mexico.pdfLas diversas Sociedades Mercantiles Mexico.pdf
Las diversas Sociedades Mercantiles Mexico.pdf
La Paradoja educativa
 

Último (20)

La vida de Martin Miguel de Güemes para niños de primaria
La vida de Martin Miguel de Güemes para niños de primariaLa vida de Martin Miguel de Güemes para niños de primaria
La vida de Martin Miguel de Güemes para niños de primaria
 
Sesión: El espiritismo desenmascarado.pdf
Sesión: El espiritismo desenmascarado.pdfSesión: El espiritismo desenmascarado.pdf
Sesión: El espiritismo desenmascarado.pdf
 
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZACORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
 
EVALUACION ESTUDIANTIL 2023-2024 Ecuador - Costa.pptx
EVALUACION ESTUDIANTIL 2023-2024 Ecuador - Costa.pptxEVALUACION ESTUDIANTIL 2023-2024 Ecuador - Costa.pptx
EVALUACION ESTUDIANTIL 2023-2024 Ecuador - Costa.pptx
 
Inteligencia Artificial para Docentes HIA Ccesa007.pdf
Inteligencia Artificial para Docentes  HIA  Ccesa007.pdfInteligencia Artificial para Docentes  HIA  Ccesa007.pdf
Inteligencia Artificial para Docentes HIA Ccesa007.pdf
 
CONTENIDOS Y PDA DE LA FASE 3,4 Y 5 EN NIVEL PRIMARIA
CONTENIDOS Y PDA DE LA FASE 3,4 Y 5 EN NIVEL PRIMARIACONTENIDOS Y PDA DE LA FASE 3,4 Y 5 EN NIVEL PRIMARIA
CONTENIDOS Y PDA DE LA FASE 3,4 Y 5 EN NIVEL PRIMARIA
 
Dosificación de los aprendizajes U4_Me gustan los animales_Parvulos 1_2_3.pdf
Dosificación de los aprendizajes U4_Me gustan los animales_Parvulos 1_2_3.pdfDosificación de los aprendizajes U4_Me gustan los animales_Parvulos 1_2_3.pdf
Dosificación de los aprendizajes U4_Me gustan los animales_Parvulos 1_2_3.pdf
 
pueblos originarios de chile presentacion twinkl.pptx
pueblos originarios de chile presentacion twinkl.pptxpueblos originarios de chile presentacion twinkl.pptx
pueblos originarios de chile presentacion twinkl.pptx
 
leyenda, mito, copla,juego de palabras ,epopeya,cantar de gestas,corrido popu...
leyenda, mito, copla,juego de palabras ,epopeya,cantar de gestas,corrido popu...leyenda, mito, copla,juego de palabras ,epopeya,cantar de gestas,corrido popu...
leyenda, mito, copla,juego de palabras ,epopeya,cantar de gestas,corrido popu...
 
Las Tecnologias Digitales en los Aprendizajesdel Siglo XXI UNESCO Ccesa007.pdf
Las Tecnologias Digitales en los Aprendizajesdel Siglo XXI  UNESCO Ccesa007.pdfLas Tecnologias Digitales en los Aprendizajesdel Siglo XXI  UNESCO Ccesa007.pdf
Las Tecnologias Digitales en los Aprendizajesdel Siglo XXI UNESCO Ccesa007.pdf
 
Guia para Docentes como usar ChatGPT Mineduc Ccesa007.pdf
Guia para Docentes como usar ChatGPT  Mineduc Ccesa007.pdfGuia para Docentes como usar ChatGPT  Mineduc Ccesa007.pdf
Guia para Docentes como usar ChatGPT Mineduc Ccesa007.pdf
 
Blogs_y_Educacion_Por Zaracho Lautaro_.pdf
Blogs_y_Educacion_Por Zaracho Lautaro_.pdfBlogs_y_Educacion_Por Zaracho Lautaro_.pdf
Blogs_y_Educacion_Por Zaracho Lautaro_.pdf
 
LA PEDAGOGIA AUTOGESTONARIA EN EL PROCESO DE ENSEÑANZA APRENDIZAJE
LA PEDAGOGIA AUTOGESTONARIA EN EL PROCESO DE ENSEÑANZA APRENDIZAJELA PEDAGOGIA AUTOGESTONARIA EN EL PROCESO DE ENSEÑANZA APRENDIZAJE
LA PEDAGOGIA AUTOGESTONARIA EN EL PROCESO DE ENSEÑANZA APRENDIZAJE
 
Power Point: El espiritismo desenmascarado
Power Point: El espiritismo desenmascaradoPower Point: El espiritismo desenmascarado
Power Point: El espiritismo desenmascarado
 
Dia de la Bandera colegio Santa Angela 2024
Dia de la Bandera colegio Santa Angela 2024Dia de la Bandera colegio Santa Angela 2024
Dia de la Bandera colegio Santa Angela 2024
 
Planificación Ejemplo con la metodología TPACK
Planificación Ejemplo con la metodología  TPACKPlanificación Ejemplo con la metodología  TPACK
Planificación Ejemplo con la metodología TPACK
 
Maristella Svampa-La sociedad excluyente.pdf
Maristella Svampa-La sociedad excluyente.pdfMaristella Svampa-La sociedad excluyente.pdf
Maristella Svampa-La sociedad excluyente.pdf
 
El ensayo mexicano en el siglo XX LITERATURA
El ensayo mexicano en el siglo XX LITERATURAEl ensayo mexicano en el siglo XX LITERATURA
El ensayo mexicano en el siglo XX LITERATURA
 
Radicación con expresiones algebraicas para 9no grado
Radicación con expresiones algebraicas para 9no gradoRadicación con expresiones algebraicas para 9no grado
Radicación con expresiones algebraicas para 9no grado
 
Las diversas Sociedades Mercantiles Mexico.pdf
Las diversas Sociedades Mercantiles Mexico.pdfLas diversas Sociedades Mercantiles Mexico.pdf
Las diversas Sociedades Mercantiles Mexico.pdf
 

CAPITULO 9 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