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
Post a Comment