Anda di halaman 1dari 43

3

Repetir las lneas de los cdigos de programacin es una tarea comn. Es habitual agregar un bucle
alrededor de una seccin de cdigo en el cdigo de programacin.
La mayora de los lenguajes de programacin tienen 3 mtodos de bucle bsicos. Examinaremos todos ellos
durante el curso.

Podemos utilizar cualquiera de los bucles para cualquier ocasin, pero algunos de ellos son ms indicados
para casos concretos.

Recuerde que la condicin solo debe devolver true o false.

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 parntesis dentro de los que se declar. Esto se conoce
normalmente como mbito.

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 continuacin, la letra "k". Esta letra se utiliza en programacin debido a sus
orgenes en el campo de las matemticas, en el que designaba valores enteros. Posteriormente, fue
adoptada por el lenguaje Fortran.

Veremos un ejemplo en la siguiente diapositiva.

10

Es posible que las personas con conocimientos de programacin detecten un problema. Abordaremos este
asunto en prximas diapositivas.

11

12

Recuerde que i = i + 1 normalmente se escribe como i++;


Si nos olvidamos de agregar esta lnea, el cdigo nunca detendr el bucle. Esto se denomina bucle infinito.

13

Como se encuentra en el constructor, solo se llamar una vez.

14

15

Los mtodos getWidth() y getHeight() devuelven el ancho y la altura actuales del mundo. Por lo tanto, si
cambisemos las dimensiones del mundo, podramos acceder a estas sin cambiar nuestro cdigo.

16

Debe volver a comprobar siempre la lgica y el cdigo para asegurarse de que el bucle solo se ejecutar las
veces que espera.

17

Bsicamente, debemos alternar entre 1 de 2 imgenes, a menos que estemos girando. Si estamos girando,
se muestra la imagen de giro izquierda o derecha.

18

Bsicamente, debemos alternar entre 1 de 2 imgenes, a menos que estemos girando. Si estamos girando,
se muestra la imagen de giro izquierda o derecha.

19

Al guardar el estado de una accin actual, solemos utilizar una variable de clase.

20

Resulta til utilizar nombres de variables de clase ptimos, especialmente al definir valores booleanos.
Podramos haber llamado a la variable notTurning, pero resulta ms complicado comprender el significado
real de notTurning que el de isTurning.

21

Recuerde que Java distingue entre maysculas y minsculas, por lo que "BeeLeft.png" no es lo mismo que
"beeLeft.png". Compruebe que est usando las maysculas y minsculas correctamente para sus archivos
de imagen y sonido.

22

En este punto, la abeja seguir intentando que contine la animacin 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
continuacin:
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 nmero de imgenes, ms suave ser la animacin.

27

Recuerde que en una sentencia if-else, solo una de las secciones de cdigo puede ejecutarse.

28

A medida que desarrolle sus habilidades y conocimientos en java, comprobar que existen estructuras ms
avanzadas para almacenar varias variables en una sola variable.

29

Las cadenas contienen cualquier dato alfanumrico. Por lo tanto, tambin podramos 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 mximo nmero de celdas que estarn
disponibles.

32

Este es un ejemplo de la inicializacin de una variable de matriz. Podramos 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 imgenes en una variable.

36

Podramos declarar una constante para el mximo nmero de imgenes en lugar de utilizar el valor 4. De
este modo, el cdigo sera ms legible y mucho ms fcil de cambiar posteriormente.
Si tuvisemos la constante MAXIMAGES = 4;
Podramos cambiar el cdigo por
.. = new GreenfootImage[MAXIMAGES];

37

La imagen 2 se utiliza dos veces, ya que deseamos mostrar las imgenes - abeja -> abeja1 -> abeja2 ->
abeja1 y, a continuacin, repetir.

38

La segunda solucin sera ms fcil para agregar ms imgenes. La ("bee" + i + ".png"); se conoce como una
concatenacin de cadenas. Une las cadenas. Por lo tanto, si i=1, obtendramos "bee1.png". En el ejemplo
de bucle while, se copia la imagen bee1.png y se denomina bee3.png.
currentimage sera un campo de clase.

39

Tenga en cuenta que el mtodo animateBee() ahora manejara cualquier cantidad de imgenes. Solo
necesitaramos cambiar el valor de ndice 3 por un nuevo valor. En este caso, sera mejor sustituir el 3 por
una constante.
if (currentimage == MAX_IMAGES-1)
MAX_IMAGES se declarara como un campo de clase
private final int MAX_IMAGES = 4;
A continuacin, actualizaramos nuestro cdigo para utilizar esta constante en lugar de 3. Esto hace que
nuestro cdigo sea ms legible y fcil de mantener.

40

41

42

Anda mungkin juga menyukai