java code for tic tac toe game

 package com.py.MyTicTacToe;


import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {

//0 - O;
//1 - X;

boolean gameactive = true;


int activePlayer =0;

int [] gameState = {2,2,2,2,2,2,2,2,2};
//0 - O
//1 - X
//2 - null
int [][] winningPositions ={{0,1,2},{3,4,5},{6,7,8},{0,3,6},{1,4,7},{3,6,9},{1,5,9},{3,5,7}};


public void playerTap(View view){
ImageView img = (ImageView)view;
int tappedImage = Integer.parseInt(img.getTag().toString());
if(!gameactive){
gameReset(view);
}
if (gameState[tappedImage]==2&&gameactive) {
gameState[tappedImage] = activePlayer;
img.setTranslationY(-1000f);
if (activePlayer == 0) {
activePlayer = 1;
img.setImageResource(R.drawable.o);
TextView status = findViewById(R.id.status);
status.setText("O's turn - Tap to play !!");
} else {
activePlayer = 0;
img.setImageResource(R.drawable.xx);
TextView status = findViewById(R.id.status);
status.setText("x's turn - Tap to play !!");
}
}
img.animate().translationYBy(1000f).setDuration(300);

//check if somebody won
for (int [] winposition:winningPositions){
if(gameState[winposition[0]]==gameState[winposition[1]]&&gameState[winposition[1]]==gameState[winposition[2]]&& gameState[winposition[0]]!=2) {
String winstr;
gameactive=false;
if (gameState[winposition[0]] == 0) {
winstr = "O has won !!";
}
else {
winstr = "X has won !!";
}
//update the status bar
TextView status = findViewById(R.id.status);
status.setText(winstr);
}}
}

public void gameReset(View view){
activePlayer = 0;
gameactive = true;
int [] gameState = {2,2,2,2,2,2,2,2,2};
((ImageView)findViewById(R.id.imageView9)).setImageResource(0);
((ImageView)findViewById(R.id.imageView1)).setImageResource(0);
((ImageView)findViewById(R.id.imageView2)).setImageResource(0);
((ImageView)findViewById(R.id.imageView3)).setImageResource(0);
((ImageView)findViewById(R.id.imageView4)).setImageResource(0);
((ImageView)findViewById(R.id.imageView5)).setImageResource(0);
((ImageView)findViewById(R.id.imageView6)).setImageResource(0);
((ImageView)findViewById(R.id.imageView7)).setImageResource(0);
((ImageView)findViewById(R.id.imageView8)).setImageResource(0);

TextView status = findViewById(R.id.status);
status.setText ("x's turn - Tap to play !!");

}

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

}
}

Comments

Popular Posts