Académique Documents
Professionnel Documents
Culture Documents
EL TABLERO
Objetivo: Completa tu proyecto de la semana pasada para jugar contra
un jugador automtico sin comprobar, de momento, el final de una
partida, basta con que se pueda colocar una ficha del color adecuado
(distinto al color del jugador automtico) al pulsar en la casilla
correspondiente. Para ello, lgicamente, debers comprobar que la
casilla es accesible.
Continuamos con el desarrollo de nuestro juego dando vida al tablero
que hemos diseado en la entrega anterior. Como has podido estudiar
en las ltimas unidades, la forma ms sencilla de ejecutar un mtodo
cuando se pulsa un botn de la interfaz es asignar el nombre del mtodo
al atributo android:onClick del botn correspondiente. As es como
vamos a dotar de funcionalidad al tablero del juego Conecta 4 en esta
entrega del proyecto.
Para completar esta entrega te sugerimos que partas del proyecto
anterior para reutilizar el fichero de diseo que ya has creado y, si te
sientes con fuerzas, incluso optimizarlo mediante un fichero de estilo,
como te explicamos en el punto nmero 1. Si quieres ir directamente al
grano, puedes pasar al punto nmero 2 para aadir al proyecto una
nueva clase (Game) donde iremos colocando todo lo relativo a las reglas
del juego.
1. ESTILOS
Antes de avanzar en este sentido, veamos cmo simplificar el fichero de
diseo de la entrega anterior mediante la definicin de estilos. Si lo
prefieres, puedes saltar directamente a la seccin "2. Lgica del juego".
En nuestra entrega anterior el fichero de diseo constaba de filas de
botones con un aspecto parecido al siguiente:
Para evitar tener que repetir cdigo innecesariamente resulta muy til
crear un nuevo estilo dentro del fichero styles.xml de la
carpeta /res/values. Un estilo permite asignar de una vez el valor de
un subconjunto de atributos. Ms concretamente, el estilo consta de una
serie de items, cada uno correspondiente a un atributo al que se asigna
un valor. El siguiente fichero introduce el estiloC4Button:
Game
Una pieza fundamental de tu juego ser el tablero, un array de enteros
que refleja el estado del tablero, es decir, qu casillas estn ocupadas y
cules estn libres:
int tablero[][];
Por ejemplo, puedes marcar las posiciones libres con 0, las ocupadas por
la mquina con 1 y las ocupadas por el jugador con 2. No olvides utilizar
variablesfinal para almacenar estos valores constantes, en lugar de
literales.
No se trata de que implementes en este momento la lgica completa del
juego sino que programes algunos de los mtodos fundamentales para,
al menos, ir colocando fichas y que la interfaz del tablero las muestre
con colores diferentes de acuerdo con el jugador. Dejaremos para ms
adelante los mtodos que detectan si se han colocado cuatro fichas en
lnea.
Para empezar, en esta entrega debers programar al menos los
siguientes mtodos dentro de la clase Game:
MainActivity
Pasemos ahora a la actividad MainActivity. Una de sus nuevas
incorporaciones es el array de identificadores, similar a la del proyecto
cha cha cha, que necesitars para acceder a los botones del tablero
mediante sus coordenadas: