package Ġcom . h ie uw u . t ict act oe Ċ Ċ import Ġandroid . graphics . Color Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . Button Ċ import Ġandroid . widget . Toast Ċ Ċ class ĠMainActivity Ġ: ĠAppCompatActivity () Ġ{ ĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ main ) ĊĠĠĠ Ġ} ĊĊĠĠĠĠ Ġfun Ġbtn Click ( view : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġselected Button Ġ= Ġview Ġas ĠButton ĊĠĠĠĠĠĠĠ Ġvar Ġcell ID Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġwhen Ġ( selected Button . id ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . button Ġ-> Ġcell ID Ġ= Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . button 2 Ġ-> Ġcell ID Ġ= Ġ 2 ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . button 3 Ġ-> Ġcell ID Ġ= Ġ 3 ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . button 4 Ġ-> Ġcell ID Ġ= Ġ 4 ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . button 5 Ġ-> Ġcell ID Ġ= Ġ 5 ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . button 6 Ġ-> Ġcell ID Ġ= Ġ 6 ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . button 7 Ġ-> Ġcell ID Ġ= Ġ 7 ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . button 8 Ġ-> Ġcell ID Ġ= Ġ 8 ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . button 9 Ġ-> Ġcell ID Ġ= Ġ 9 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġplay Game ( cell ID , Ġselected Button ) ĊĠĠĠĠ Ġ} ĊĠĠĠ Ġvar ĠPlayer 1 Ġ= ĠArrayList < Int >() ĊĠĠĠ Ġvar ĠPlayer 2 Ġ= ĠArrayList < Int >() ĊĠĠĠ Ġvar ĠActive Player Ġ= Ġ 1 ĊĠĠĠ Ġfun Ġplay Game ( cell Id : ĠInt , Ġselected Button : ĠButton ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( Active Player Ġ== Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġselected Button . text Ġ= Ġ" X " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġselected Button . set BackgroundColor ( Color . GREEN ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPlayer 1 . add ( cell Id ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠActive Player Ġ= Ġ 2 ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġselected Button . text Ġ= Ġ" O " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġselected Button . set BackgroundColor ( Color . BLUE ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPlayer 2 . add ( cell Id ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠActive Player Ġ= Ġ 1 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġselected Button . isEnabled Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġcheck Winner () ĊĠĠĠ Ġ} ĊĠĠĠ Ġfun Ġcheck Winner Ġ() Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġwinner Ġ= Ġ- 1 ĊĠĠĠĠĠĠĠ Ġ// Check Ġfor Ġrow Ġ 1 ĊĠĠĠĠĠĠĠ Ġif Ġ( Player 1 . contains ( 1 ) Ġ&& ĠPlayer 1 . contains ( 2 ) Ġ&& ĠPlayer 1 . contains ( 3 )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwinner Ġ= Ġ 1 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( Player 2 . contains ( 1 ) Ġ&& ĠPlayer 2 . contains ( 2 ) Ġ&& ĠPlayer 2 . contains ( 3 )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwinner Ġ= Ġ 2 ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// Check Ġfor Ġrow Ġ 2 ĊĠĠĠĠĠĠĠ Ġif Ġ( Player 1 . contains ( 4 ) Ġ&& ĠPlayer 1 . contains ( 5 ) Ġ&& ĠPlayer 1 . contains ( 6 )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwinner Ġ= Ġ 1 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( Player 2 . contains ( 4 ) Ġ&& ĠPlayer 2 . contains ( 5 ) Ġ&& ĠPlayer 2 . contains ( 6 )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwinner Ġ= Ġ 2 ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// Check Ġfor Ġrow Ġ 3 ĊĠĠĠĠĠĠĠ Ġif Ġ( Player 1 . contains ( 7 ) Ġ&& ĠPlayer 1 . contains ( 8 ) Ġ&& ĠPlayer 1 . contains ( 9 )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwinner Ġ= Ġ 1 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( Player 2 . contains ( 7 ) Ġ&& ĠPlayer 2 . contains ( 8 ) Ġ&& ĠPlayer 2 . contains ( 9 )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwinner Ġ= Ġ 2 ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// Check Ġfor Ġcol Ġ 1 ĊĠĠĠĠĠĠĠ Ġif Ġ( Player 1 . contains ( 1 ) Ġ&& ĠPlayer 1 . contains ( 4 ) Ġ&& ĠPlayer 1 . contains ( 7 )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwinner Ġ= Ġ 1 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( Player 2 . contains ( 1 ) Ġ&& ĠPlayer 2 . contains ( 4 ) Ġ&& ĠPlayer 2 . contains ( 7 )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwinner Ġ= Ġ 2 ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// Check Ġfor Ġrow Ġ 2 ĊĠĠĠĠĠĠĠ Ġif Ġ( Player 1 . contains ( 2 ) Ġ&& ĠPlayer 1 . contains ( 5 ) Ġ&& ĠPlayer 1 . contains ( 8 )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwinner Ġ= Ġ 1 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( Player 2 . contains ( 2 ) Ġ&& ĠPlayer 2 . contains ( 5 ) Ġ&& ĠPlayer 2 . contains ( 8 )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwinner Ġ= Ġ 2 ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// Check Ġfor Ġcol ĊĠĠĠĠĠĠĠ Ġif Ġ( Player 1 . contains ( 3 ) Ġ&& ĠPlayer 1 . contains ( 6 ) Ġ&& ĠPlayer 1 . contains ( 9 )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwinner Ġ= Ġ 1 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( Player 2 . contains ( 3 ) Ġ&& ĠPlayer 2 . contains ( 6 ) Ġ&& ĠPlayer 2 . contains ( 9 )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwinner Ġ= Ġ 2 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( winner Ġ!= Ġ- 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( winner Ġ== Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( this ," Player Ġ 1 Ġwin ", Toast . LENGTH _ LONG ). show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( this ," Player Ġ 2 Ġwin ", Toast . LENGTH _ LONG ). show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ