Jogo da Velha com Java para Android

SOBRE

Nesta série de 11 aulas, desenvolveremos um Jogo da Velha com a linguagem Java voltado a ser executado na plataforma Android. A cada aula evoluiremos nosso código e estudaremos a razão existente para cada linha de código.

LISTA DAS AULAS

more ...


Definindo quem inicia com X e com O

Nesta aula, tendo a lógica do Jogo da Velha implementado, definiremos quem começará o jogo sendo X e quem será Bola.

Acrescentando RadioButton

<RadioGroup
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" >

    <RadioButton
        android:id="@+id/rbX"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="X" />

    <RadioButton
        android:id="@+id/rbO"
        android …
more ...

Configurações após a Finalização do Jogo

Nesta aula implementaremos alguns acabamentos ao jogo, como por exemplo, impedir que após o término da partida o tabuleiro permaneça clicável de tal forma que algum usuário consiga até, inverter o vencedor.

Acrescentar nop arquivo color.xml

<color name="black">#0000</color>
package com.example.jogo;


import android.app.Activity …
more ...

Traçando linha no final do jogo

Nesta aula implementaremos que após o término do jogo ocorrer, deverá ser traçado de alguma maneira os botões em linha, coluna ou diagonal que de fato finalizaram jogo.

Foi criado um arquivo na pasta value com o nome color.xml.

<?xml version="1.0" encoding="utf-8"?>
<resources>

    <color name="red …
more ...

Definindo um array que conterá as jogadas

Nesta aula definiremos o Array que conterá todas as jogadas já realizadas e será com essa estrutura que verificaremos, por exemplo, o término do jogo.

package com.example.jogo;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

public …
more ...

Definindo os Botões já Jogados

Nessa aula implementaremos que após determinado jogador jogar será a vez do seu adversário e vice-e-versa.

package com.example.jogo;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

public class Main extends Activity {

    //CONST DE CADA BOTAO
    private …
more ...

Adicionando o controle para iniciar a partida

Nessa aula utilizaremos a função getLastPlay() para sabermos quem foi o último a jogar e assim, definir se será Bola ou X que jogará na sequência.

Acrescentado no arquivo XML

Foi definido para cada botão.

android:enabled="flase"

Botão para inicializar a partida

<Button
    android:layout_width="150dp"
    android:layout_height="40dp …
more ...

Recuperando a Instância com a Função findViewWithTag()

Nesta aula iremos recuperar as instâncias dos botões adicionados ao tabuleiro do Jogo da Velha e entenderemos a importância da nomenclatura anteriormente definida aos botões.

Acrescentado no arquivo XML

andoid:onclick="clickQuadrado"

Acrescentado no arquivo main.java

package com.example.jogo;


import android.app.Activity;
import android.os.Bundle;
import …
more ...

Adicionando os Objetos Visuais através do XML

Nesta aula vamos criar o projeto em Android do nosso Jogo da Velha e adicionaremos alguns componentes visuais que fazem parte do tabuleiro do nosso Jogo. Por fim, iniciaremos a programação em Java de pequenas funcionalidades.

EXEMPLO FEITO EM AULA

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android …
more ...