1+ package com .enginedroid .tictactoe ;
2+
3+ import static android .widget .Toast .*;
4+
5+ import androidx .appcompat .app .AppCompatActivity ;
6+
7+ import android .annotation .SuppressLint ;
8+ import android .os .Bundle ;
9+ import android .os .Handler ;
10+ import android .view .View ;
11+ import android .widget .Button ;
12+ import android .widget .Toast ;
13+
14+ public class MainActivity extends AppCompatActivity {
15+
16+ Button btn1 , btn2 , btn3 , btn4 , btn5 , btn6 , btn7 , btn8 , btn9 ;
17+ String b1 , b2 , b3 , b4 , b5 , b6 , b7 , b8 , b9 ;
18+ int flag = 0 , count =0 ;
19+
20+ @ SuppressLint ("MissingInflatedId" )
21+ @ Override
22+ protected void onCreate (Bundle savedInstanceState ) {
23+ super .onCreate (savedInstanceState );
24+ setContentView (R .layout .activity_main );
25+ btn1 = findViewById (R .id .btn1 );
26+ btn2 = findViewById (R .id .btn2 );
27+ btn3 = findViewById (R .id .btn3 );
28+ btn4 = findViewById (R .id .btn4 );
29+ btn5 = findViewById (R .id .btn5 );
30+ btn6 = findViewById (R .id .btn6 );
31+ btn7 = findViewById (R .id .btn7 );
32+ btn8 = findViewById (R .id .btn8 );
33+ btn9 = findViewById (R .id .btn9 );
34+ }
35+
36+ public void Check (View view ){
37+ Button btnCurrent = (Button ) view ;
38+ boolean win = false ;
39+
40+ if (btnCurrent .getText ().toString ().equals ("" )) {
41+ count ++;
42+ if (flag == 0 ) {
43+ btnCurrent .setText ("X" );
44+ flag = 1 ;
45+ } else {
46+ btnCurrent .setText ("O" );
47+ flag = 0 ;
48+ }
49+ if (count > 4 ) {
50+ b1 = btn1 .getText ().toString ();
51+ b2 = btn2 .getText ().toString ();
52+ b3 = btn3 .getText ().toString ();
53+ b4 = btn4 .getText ().toString ();
54+ b5 = btn5 .getText ().toString ();
55+ b6 = btn6 .getText ().toString ();
56+ b7 = btn7 .getText ().toString ();
57+ b8 = btn8 .getText ().toString ();
58+ b9 = btn9 .getText ().toString ();
59+ if (b1 .equals (b2 ) && b2 .equals (b3 ) && !b1 .equals ("" )) {
60+ makeText (this , b1 + " is won!" , LENGTH_SHORT ).show ();
61+
62+ win = true ;
63+ Disable ();
64+ } else if (b4 .equals (b5 ) && b5 .equals (b6 ) && !b4 .equals ("" )) {
65+ makeText (this , b4 + " is won!" , LENGTH_SHORT ).show ();
66+ win = true ;
67+ Disable ();
68+ } else if (b7 .equals (b8 ) && b8 .equals (b9 ) && !b7 .equals ("" )) {
69+ makeText (this , b7 + " is won!" , LENGTH_SHORT ).show ();
70+ win = true ;
71+ Disable ();
72+ } else if (b1 .equals (b4 ) && b4 .equals (b7 ) && !b1 .equals ("" )) {
73+ makeText (this , b1 + " is won!" , LENGTH_SHORT ).show ();
74+ win = true ;
75+ Disable ();
76+ } else if (b2 .equals (b5 ) && b5 .equals (b8 ) && !b2 .equals ("" )) {
77+ makeText (this , b2 + " is won!" , LENGTH_SHORT ).show ();
78+ win = true ;
79+ Disable ();
80+ } else if (b3 .equals (b6 ) && b6 .equals (b9 ) && !b3 .equals ("" )) {
81+ makeText (this , b3 + " is won!" , LENGTH_SHORT ).show ();
82+ win = true ;
83+ Disable ();
84+ } else if (b1 .equals (b5 ) && b5 .equals (b9 ) && !b1 .equals ("" )) {
85+ makeText (this , b1 + " is won!" , LENGTH_SHORT ).show ();
86+ win = true ;
87+ Disable ();
88+ } else if (b3 .equals (b5 ) && b5 .equals (b7 ) && !b3 .equals ("" )) {
89+ makeText (this , b3 + " is won!" , LENGTH_SHORT ).show ();
90+ win = true ;
91+ Disable ();
92+ }
93+ }
94+ if (count == 9 && !win ) {
95+ Toast .makeText (getApplicationContext (), "Match Draw" , LENGTH_SHORT ).show ();
96+ Disable ();
97+ }
98+ }
99+ }
100+
101+ public void Disable (){
102+ btn1 .setEnabled (false );
103+ btn2 .setEnabled (false );
104+ btn3 .setEnabled (false );
105+ btn4 .setEnabled (false );
106+ btn5 .setEnabled (false );
107+ btn6 .setEnabled (false );
108+ btn7 .setEnabled (false );
109+ btn8 .setEnabled (false );
110+ btn9 .setEnabled (false );
111+ new Handler ().postDelayed (this ::Clear , 1500 );
112+ }
113+ public void Clear (){
114+ btn1 .setEnabled (true );
115+ btn2 .setEnabled (true );
116+ btn3 .setEnabled (true );
117+ btn4 .setEnabled (true );
118+ btn5 .setEnabled (true );
119+ btn6 .setEnabled (true );
120+ btn7 .setEnabled (true );
121+ btn8 .setEnabled (true );
122+ btn9 .setEnabled (true );
123+ btn1 .setText ("" );
124+ btn2 .setText ("" );
125+ btn3 .setText ("" );
126+ btn4 .setText ("" );
127+ btn5 .setText ("" );
128+ btn6 .setText ("" );
129+ btn7 .setText ("" );
130+ btn8 .setText ("" );
131+ btn9 .setText ("" );
132+ flag = 0 ;
133+ count = 0 ;
134+ }
135+ }
0 commit comments