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:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="O" />
</RadioGroup>
package com.example.jogo;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.RadioButton;
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("");
}
}
RadioButton rX = (RadioButton)getView().findViewById(R.id.rbX);
RadioButton rO = (RadioButton)getView().findViewById(R.id.rbO);
if(rX.isChecked()){
setLastPlay( BOLA );
}else{
if(rO.isChecked()){
setLastPlay( XIS );
}
}
}
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