Fecha de la versión: Agosto de 2015
Actualizaciones:
3
La selección aleatoria nos permite crear juegos que variarán en cada partida y, por lo tanto, son más
divertidos.
Los métodos estáticos son métodos que pertenecen a una clase en lugar de a una instancia. Esta idea no
resultará fácil de entender llegados a este punto, pero ya los ha utilizado en el método isKeyDown. Se
explicará la diferencia más adelante en el curso.
4
Para acceder al método getRandomNumber, debemos indicar a java que puede encontrarse en la clase
Greenfoot. Por lo tanto, debemos escribir Greenfoot.getRandomNumber().
5
Al hacer referencia a la clase que estamos codificando, podemos utilizar la palabra opcional "this" para
representar la clase actual. Así pues, cuando anteriormente utilizamos move(2), podríamos haber dicho
this.move(2).
"This" representa el objeto para el que estamos editando el código, pero es opcional y suele omitirse.
6
Greenfoot.getRandomNumber(15) significa que devolverá uno de los 15 números aleatorios entre el 0 y el
14.
¿Qué sucedería si deseásemos un número aleatorio entre el 1 y el 10? Podemos usar simplemente
Greenfoot.getRandomNumber(10)+1;
7
8
9
Al crear actores, se hereda de la clase Actor.
Al crear mundos, se hereda de la clase World. Merece la pena conocer qué métodos están disponibles en
ambos.
10
Recuerde que el método getRandomNumber(100) generará un número entre 0 y 99.
11
Un error común al realizar una comparación de iguales consiste en agregar solamente un signo de igual "=".
Este, a continuación, intenta asignar el segundo valor al primero y, en la mayoría de los casos, genera un
error de sintaxis.
12
13
14
Puede utilizar unos cuantos números aleatorios de su elección para probar la lógica del movimiento de la
mosca utilizando un papel y un lápiz si no está convencido del rango que se obtendrá.
15
Debemos decidir si necesitamos dos sentencias IF o una sentencia if-else. Si desea que las dos secciones del
código se puedan ejecutar, tenemos dos sentencias IF. Si solo desea que se ejecute una o la otra, se debe
utilizar la sentencia if-else.
16
En una sentencia IF – ELSE, solo se ejecutará una de las sentencias de código.
17
Tenga en cuenta que no aparece el punto y coma después del paréntesis de un comando IF.
18
19
Más adelante veremos que existe un método más rápido mediante el comando "Save the World".
20
21
Un constructor se define normalmente por
public <nombre de la clase>( )
En el ejemplo anterior tenemos public BeeWorld()
22
Se analizarán los constructores en mayor detalle más adelante, pero proporcionan un mecanismo
excelente para configurar valores por defecto para sus campos de clase en la instancia de objeto.
23
Podemos modificar fácilmente los valores del mundo aquí. Una vez cambiados, el escenario reflejará el
nuevo tamaño tras una compilación.
24
Como el constructor BeeWorld() solo se llama cuando se crea BeeWorld, este código solo se ejecuta una
vez.
25
Al llamar a new <nombre de la clase>(), busca un constructor para esa clase. Si no existe ninguno, usa los
valores de campo de clase por defecto con el tipo por defecto, es decir, los números enteros se convierten
en 0
26
Si no se define ningún constructor para sus clases, el compilador Java genera uno por defecto. No lo verá
en el código.
27
La parte superior izquierda es el punto (0,0) y la inferior derecha corresponde a las dimensiones del
mundo.
28
Podemos ver cómo se crea una nueva instancia de la clase Bee y se posiciona en el punto (150, 100).
29
30
Bee bee = new Bee() crea una nueva instancia Bee a la que se puede acceder a través de la variable de
referencia denominada bee. Recordar que Java es sensible a mayúsculas y minúsculas, por lo que Bee y bee
se tratan de forma diferente. Por lo tanto, en lugar de decir addObject (new Bee(), 100,100), se sustituye
por
Bee bee = new Bee();
addObject(bee, 100,100);
De este modo se nos ofrecen otras opciones que analizaremos más adelante.
31
32
33
34

Greenfoot 5

  • 1.
    Fecha de laversión: Agosto de 2015 Actualizaciones:
  • 3.
  • 4.
    La selección aleatorianos permite crear juegos que variarán en cada partida y, por lo tanto, son más divertidos. Los métodos estáticos son métodos que pertenecen a una clase en lugar de a una instancia. Esta idea no resultará fácil de entender llegados a este punto, pero ya los ha utilizado en el método isKeyDown. Se explicará la diferencia más adelante en el curso. 4
  • 5.
    Para acceder almétodo getRandomNumber, debemos indicar a java que puede encontrarse en la clase Greenfoot. Por lo tanto, debemos escribir Greenfoot.getRandomNumber(). 5
  • 6.
    Al hacer referenciaa la clase que estamos codificando, podemos utilizar la palabra opcional "this" para representar la clase actual. Así pues, cuando anteriormente utilizamos move(2), podríamos haber dicho this.move(2). "This" representa el objeto para el que estamos editando el código, pero es opcional y suele omitirse. 6
  • 7.
    Greenfoot.getRandomNumber(15) significa quedevolverá uno de los 15 números aleatorios entre el 0 y el 14. ¿Qué sucedería si deseásemos un número aleatorio entre el 1 y el 10? Podemos usar simplemente Greenfoot.getRandomNumber(10)+1; 7
  • 8.
  • 9.
  • 10.
    Al crear actores,se hereda de la clase Actor. Al crear mundos, se hereda de la clase World. Merece la pena conocer qué métodos están disponibles en ambos. 10
  • 11.
    Recuerde que elmétodo getRandomNumber(100) generará un número entre 0 y 99. 11
  • 12.
    Un error comúnal realizar una comparación de iguales consiste en agregar solamente un signo de igual "=". Este, a continuación, intenta asignar el segundo valor al primero y, en la mayoría de los casos, genera un error de sintaxis. 12
  • 13.
  • 14.
  • 15.
    Puede utilizar unoscuantos números aleatorios de su elección para probar la lógica del movimiento de la mosca utilizando un papel y un lápiz si no está convencido del rango que se obtendrá. 15
  • 16.
    Debemos decidir sinecesitamos dos sentencias IF o una sentencia if-else. Si desea que las dos secciones del código se puedan ejecutar, tenemos dos sentencias IF. Si solo desea que se ejecute una o la otra, se debe utilizar la sentencia if-else. 16
  • 17.
    En una sentenciaIF – ELSE, solo se ejecutará una de las sentencias de código. 17
  • 18.
    Tenga en cuentaque no aparece el punto y coma después del paréntesis de un comando IF. 18
  • 19.
  • 20.
    Más adelante veremosque existe un método más rápido mediante el comando "Save the World". 20
  • 21.
  • 22.
    Un constructor sedefine normalmente por public <nombre de la clase>( ) En el ejemplo anterior tenemos public BeeWorld() 22
  • 23.
    Se analizarán losconstructores en mayor detalle más adelante, pero proporcionan un mecanismo excelente para configurar valores por defecto para sus campos de clase en la instancia de objeto. 23
  • 24.
    Podemos modificar fácilmentelos valores del mundo aquí. Una vez cambiados, el escenario reflejará el nuevo tamaño tras una compilación. 24
  • 25.
    Como el constructorBeeWorld() solo se llama cuando se crea BeeWorld, este código solo se ejecuta una vez. 25
  • 26.
    Al llamar anew <nombre de la clase>(), busca un constructor para esa clase. Si no existe ninguno, usa los valores de campo de clase por defecto con el tipo por defecto, es decir, los números enteros se convierten en 0 26
  • 27.
    Si no sedefine ningún constructor para sus clases, el compilador Java genera uno por defecto. No lo verá en el código. 27
  • 28.
    La parte superiorizquierda es el punto (0,0) y la inferior derecha corresponde a las dimensiones del mundo. 28
  • 29.
    Podemos ver cómose crea una nueva instancia de la clase Bee y se posiciona en el punto (150, 100). 29
  • 30.
  • 31.
    Bee bee =new Bee() crea una nueva instancia Bee a la que se puede acceder a través de la variable de referencia denominada bee. Recordar que Java es sensible a mayúsculas y minúsculas, por lo que Bee y bee se tratan de forma diferente. Por lo tanto, en lugar de decir addObject (new Bee(), 100,100), se sustituye por Bee bee = new Bee(); addObject(bee, 100,100); De este modo se nos ofrecen otras opciones que analizaremos más adelante. 31
  • 32.
  • 33.
  • 34.