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;
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 final String QUADRADO = "quadrado";
private final String BOLA = "O";
private final String XIS = "X";
private String lastPlay = "X";
private View view;
int [][] estadoFinal = new int [][]{
{1,2,3},
{4,5,6},
{7,8,9},
{1,4,7},
{2,5,8},
{3,6,9},
{1,5,9},
{3,5,7},
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setView(getLayoutInflater().inflate(R.layout.main, null));
setContentView( getView());
}
public void clickquadrado(View v){
if(!isFim()){
if (((Button)v).getText().equals( "" )){
if(getLastPlay().equals(XIS)){
((Button)v).setText( BOLA );
setLastPlay(BOLA);
}else{
((Button)v).setText( XIS );
setLastPlay(XIS);
}
}else{
Toast.makeText( getView().getContext(),"Escolha outro quadrado, esse est� ocupado!", Toast.LENGTH_LONG).show();
}
isFim();
}
}
public Button getQuadrado(int tagNum){
return (Button)getView().findViewWithTag("QUADRADO"+tagNum);
}
public void newGame(View v){
setEnableQuadrado(true);
setColorBlack();
for(int i=1; i<=9; ++i){
if(getQuadrado(i)!=null){
getQuadrado(i).setText("");
}
}
}
public void setEnableQuadrado(boolean b){
for(int i=1; i<=9; ++i){
if(getQuadrado(i)!=null){
getQuadrado(i).setEnabled( b );
}
}
}
public void setColorQuadrados(int btn, int colorX){
getQuadrado(btn).setTextColor(getResources().getColor(colorX));
}
public void setColorBlack(){
for(int i=0; i<=9; ++i){
if(getQuadrado(i)!=null){
setColorQuadrados(i,R.color.black);
}
}
}
public boolean isFim(){
for(int x=0; x<=7; ++x){
String s1 = getQuadrado(estadoFinal[x][0]).getText().toString();
String s2 = getQuadrado(estadoFinal[x][1]).getText().toString();
String s3 = getQuadrado(estadoFinal[x][2]).getText().toString();
if ((!s1.equals(""))&&
(!s2.equals(""))&&
(!s3.equals(""))){
if(s1.equals(s2)&& s2.equals(s3)){
//pinta os botoes
setColorQuadrados(estadoFinal[x][0],R.color.red);
setColorQuadrados(estadoFinal[x][1],R.color.red);
setColorQuadrados(estadoFinal[x][2],R.color.red);
Toast.makeText(getView().getContext(),"Fim do jogo!", Toast.LENGTH_LONG).show();
return true;
}
}
}return false;
}
public String getLastPlay() {
return lastPlay;
}
public void setLastPlay(String lastPlay) {
this.lastPlay = lastPlay;
}
public View getView() {
return view;
}
public void setView(View view) {
this.view = view;
}
}
Tags android, java, jogo, jogo da velha
Comentários
comments powered by Disqus