Está en la página 1de 34

Fecha de la versin: Agosto de 2015

Actualizaciones:

La seleccin aleatoria nos permite crear juegos que variarn en cada partida y, por lo tanto, son ms
divertidos.
Los mtodos estticos son mtodos que pertenecen a una clase en lugar de a una instancia. Esta idea no
resultar fcil de entender llegados a este punto, pero ya los ha utilizado en el mtodo isKeyDown. Se
explicar la diferencia ms adelante en el curso.

Para acceder al mtodo getRandomNumber, debemos indicar a java que puede encontrarse en la clase
Greenfoot. Por lo tanto, debemos escribir Greenfoot.getRandomNumber().

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), podramos haber dicho
this.move(2).
"This" representa el objeto para el que estamos editando el cdigo, pero es opcional y suele omitirse.

Greenfoot.getRandomNumber(15) significa que devolver uno de los 15 nmeros aleatorios entre el 0 y el


14.
Qu sucedera si desesemos un nmero aleatorio entre el 1 y el 10? Podemos usar simplemente
Greenfoot.getRandomNumber(10)+1;

Al crear actores, se hereda de la clase Actor.


Al crear mundos, se hereda de la clase World. Merece la pena conocer qu mtodos estn disponibles en
ambos.

10

Recuerde que el mtodo getRandomNumber(100) generar un nmero entre 0 y 99.

11

Un error comn al realizar una comparacin de iguales consiste en agregar solamente un signo de igual "=".
Este, a continuacin, intenta asignar el segundo valor al primero y, en la mayora de los casos, genera un
error de sintaxis.

12

13

14

Puede utilizar unos cuantos nmeros aleatorios de su eleccin para probar la lgica del movimiento de la
mosca utilizando un papel y un lpiz 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
cdigo 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 cdigo.

17

Tenga en cuenta que no aparece el punto y coma despus del parntesis de un comando IF.

18

19

Ms adelante veremos que existe un mtodo ms rpido 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 analizarn los constructores en mayor detalle ms adelante, pero proporcionan un mecanismo


excelente para configurar valores por defecto para sus campos de clase en la instancia de objeto.

23

Podemos modificar fcilmente los valores del mundo aqu. Una vez cambiados, el escenario reflejar el
nuevo tamao tras una compilacin.

24

Como el constructor BeeWorld() solo se llama cuando se crea BeeWorld, este cdigo 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 nmeros enteros se convierten
en 0

26

Si no se define ningn constructor para sus clases, el compilador Java genera uno por defecto. No lo ver
en el cdigo.

27

La parte superior izquierda es el punto (0,0) y la inferior derecha corresponde a las dimensiones del
mundo.

28

Podemos ver cmo 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 travs de la variable de
referencia denominada bee. Recordar que Java es sensible a maysculas y minsculas, 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 ms adelante.

31

32

33

34

También podría gustarte