Anda di halaman 1dari 4

Dpto.

Produccin Multimedial - Tecnologa Multimedia 1 - 2016


TP 5 - Arreglos (2016)
Qu son los arreglos?
Supongamos que deseamos armar un tablero de Ajedrez. Como primera instancia
tendramos que pensar en poder dibujar el tablero. Resuelto esto, deberamos poder
agregar las fichas, y en este punto es donde hacemoshincapi. En el Ajedrez tenemos 16
fichas para cada uno de los jugadores, y si queremos mantener una variable para cada
una de ellas, tendramos que arrancar haciendo esto:
Ficha ficha1 = new Ficha("peon","negro");
Ficha ficha2 = new Ficha("peon","negro");
.......
Ficha ficha36 = new Ficha("rey","blanco");
De esta manera, se nos presentan 36 variables diferente, las cuales tendramos que
ir manejando de forma nica en el desarrollo del programa. Aqu es donde aparecen los
Arreglos. Estos nos proveen la facilidad de tener una sola variable donde contener
muchas del mismo tipo.
La declaracin de un arreglo posee la siguiente forma:
int [] nombreVariable = new int [dimension]
El nombre de la variable lo podemos definir nosotros como cualquier otra variable.
La dimensin es la cantidad de posiciones que queremos que almacene el arreglo.
Debemos tener en cuenta que la dimensin siempre se declara antes de usar el arreglo,
y una vez definida esta no puede ser modificada. Los elementos de una arreglo siempre
comienzan en la posicin 0 y terminan en la posicin dimensin - 1. El tipo de este
arreglo definido es entero (int), pudiendo declararlo de cualquier tipo los mismos:
int [] arregloDeEnteros = new int [10] ; //Un arreglo de enteros con 10
elementos.
boolean [] arregloDeBool = new boolean [1]; //Un arreglo de booleanos
con 1 elemento.

Una vez declarado el arreglo, debemos asignarle elementos al mismo. La forma es


la siguiente:
int [] arregloDeEnteros = new int [10]; //Definicin
arregloDeEnteros[0] = 0;
arregloDeEnteros[1] = 1;
arregloDeEnteros[2] = 4;
arregloDeEnteros[3] = 9;
arregloDeEnteros[4] = 16;
arregloDeEnteros[5] = 25;
arregloDeEnteros[6] = 36;
.....

De esta manera, hemos asignado valores a cada una de las posiciones del arreglo,
pero para poder hacerlo de forma ms prctica, podemos usar los ciclos FOR para poder
recorrer el arreglo y asignar a cada una de las posiciones el valor correspondiente:
for(int indice = 0; indice < 10; indice ++){
arregloDeEnteros[indice ] = indice * indice ;
}
Los arreglos pueden ser definidos de forma unidimensional (de 1 dimensin) o de
varias dimensiones. Al hablar de varias dimensiones estamos diciendo que tendremos un
arreglo con otro arreglo dentro cuando sea de dos dimensiones. Cuando hablamos de 3
dimensiones, ser un arreglo, con otro arreglo dentro, con otro arreglo dentro. Veamos
los siguientes ejemplos:
int [] arreglo1 = new int [10]; //Este es un arreglo de 1 dimensin con longitud 10
para guardar enteros
int [][] arreglo2 = new int [10][5];
//Este es un arreglo de 2 dimensiones con
longitud 10 el primer arreglo, y cada uno de estos arreglos tendr 1 arreglo de 5
elementos. Dentro de estos ltimos recin podremos guardar los enteros.
int [][][] arreglo3 = new int [10][5][8]; //Este es un arreglo de 3 dimensiones con
longitud 10 el primer arreglo, y cada uno de estos arreglos tendr 1 arreglo de 5
elementos. Dentro de estos habr otro arreglo de 8 elementos, y dentro de
este ltimo podremos guardar los enteros.
Para poder guardar elementos dentro de estos arreglos debemos hacerlo de la
siguiente forma:
//Arreglo de 1 Dimensin
for(int indiceI = 0; indiceI < 10; indiceI ++){
arreglo1[indiceI ] = valorEntero;
}
//Arreglo de 2 Dimensiones
for(int indiceI = 0; indiceI < 10; indiceI ++){
for(int indiceJ = 0; indiceJ < 5; indiceJ ++){
arreglo1[indiceI][indiceJ] = valorEntero;
}
}
//Arreglo de 3 Dimensiones
for(int indiceI = 0; indiceI < 10; indiceI ++){
for(int indiceJ = 0; indiceJ < 5; indiceJ ++){
for(int indiceK = 0; indiceK < 8; indiceK ++){
arreglo1[indiceI][indiceJ][indiceK] = valorEntero;
}
}
}
Ejercicios:

1) Armar un arreglo con 10 palabras. El programa debe encargarse de recorrer el arreglo


e imprimir cada una de las palabras. Al hacer click, debe limpiar la pantalla y solo
imprimir las palabras que se encuentran en posiciones impares. Las mismas deben
imprimirse en pantalla, una debajo de otro.
2) Armar un programa con un arreglo que contiene 10 posiciones. Al presionar un
nmero del teclado, se debe incrementar en 1 la posicin correspondiente al nmero
presionado, as, si presiono el 5, se incrementar en uno la posicin 5. Todo debe ser
impreso en la pantalla, indicando cada una de las posiciones y la cantidad de presiones
hechas.
3) Armar un arreglo de 5 elementos. Cada arreglo debe contener un arreglo de 10
elementos tambin. El primer arreglo con 10 elementos debe contener nmeros
aleatorios entre 0 y 9. Los mismos deben ser impresos en la pantalla.
Al hacer click, se deben multiplicar los 10 elementos por 2, y guardarlos en el siguiente
arreglo, e imprimirlos.
Ej:
arreglo5 = [
[9,4,2,6,2,9,4,2,6,2], //Nmeros Aleatorios
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
..
]
Primer Click
arreglo5 = [
[9,4,2,6,2,9,4,2,6,2], //Nmeros Aleatorios
[18,8,4,12,4,18,8,4,12,4],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
..
]
Segundo Click
arreglo5 = [
[9,4,2,6,2,9,4,2,6,2], //Nmeros Aleatorios
[18,8,4,12,4,18,8,4,12,4],
[36,16,8,24,8,36,16,8,24,8],
[0,0,0,0,0,0,0,0,0,0],
..
]
4) Armar un arreglo de 10 x 10 elementos. Imprimir en la pantalla, una grilla que
represente el arreglo, e imprima en el centro de cada celda de la grilla el nmero que
contiene el arreglo en esa posicin relativa.

Al hacer click en cada una de esas celdas, se debe incrementar en 1 el valor del arreglo
relativo a esa posicin.
5) Armar un programa que permita dibujar 10 cuadrados consecutivos con borde negro y
fondo negro. Cambiar el framerate del programa a 1. Por cada secuencia del draw() se
tiene que ir pintando cada uno de los cuadrados de color negro. De esta manera en la
primer secuencia todos los cuadrados estn en negro; la siguiente se pintara el primer
cuadrado; la tercera el segundo cuadrado.
6) Armar una grilla de cuadrados con fondo blanco y borde negro de 40px X 40px cada
uno, y de 10 cuadrados de alto y 10 de ancho. Al pasar por alguna de las zonas de
cualquier cuadrado con el mouse, este debe cambiar de color (a negro) y mantener el
mismo al salir de la zona. Si deseamos hacer esto para 100 cuadrados X 100 cuadrados,
que debemos cambiar? Qu es lo que se nota al incrementar 10 veces la cantidad de
cuadrados?
7) Realizar un programa que dibuje 10 cuadrados que se mueven horizontalmente en la
pantalla, rebotando en los bordes. Los cinco tienen que arrancar en la mismo posicin de
X y diferente de Y.
8) Modificar el ejercicio anterior para que la direccin y velocidad de inicio sea aleatoria.
Al hacer click en cualquier cuadrado, la direccin debe cambiar, as como su color de
fondo.
9) Armar un laberinto. El mismo debe constar de un personaje que debe tratar salir del
mismo. El personaje debe controlarse con las flechas del teclado.
10) Armar un programa que permita que a medida que se hace click en la pantalla, en
esa posicin aparezca una elipse, que se mueva en direccin aleatoria hacia cualquier
borde, y empiece a rebotar contra estos. Por cada click que se haga, debe aparecer una
elipse nueva que rebote contra los bordes.
11) Dibujar 6 rectngulos en la pantalla, ubicados en forma vertical en el centro de la
misma. Al hacer click en uno de ellos, debe cambiar de color de relleno. Aparte, debo
poder moverlo en la pantalla hacia la izquierda o hacia la derecha, pero con las flechas
del teclado. Tener en cuenta que solo debe moverse el que est seleccionado
actualmente. Si se hace click en otro, el ltimo seleccionado debe volver al color previo a
la seleccin.
12) Armar un tablero de Ajedrez. En el mismo se deben poder ubicar los peones
correspondientes.
13) Realizar un juego de TA-TE-TI. El mismo debe permitir dibujar un tablero de 3 filas por
3 columnas. Al hacer click en una celda se debe dibujar una X, y al siguiente turno un
crculo. Al terminar cada jugada se debe verificar si se ha completado una inea o
diagonal con las mismas figuras
14) Realizar el Juego de la batalla Naval. El mismo debe constar de un tablero de 10 X 10
celdas. El mismo tendr barcos que ocupan una sola posicin. El programa debe
encargarse de ubicarlos en el tablero en posiciones aleatorias, nunca superponiendo uno
sobre otro. Los mismos no deben mostrarse donde estn ubicados.
En cada celda debe haber una mira que represente los lugares donde se puede
disparar.
Al hacer click en cualquier celda con mira me debe aparecer una imagen que
represente agua o hundido. Debe mostrarse un indicador de la cantidad de tiros
realizados.

Anda mungkin juga menyukai