package Ġcom . vl x stud ios . kotlin basic ss Ċ Ċ import Ġjava . util . function . ToInt Function Ċ Ċ var ĠX ando Ġ= ĠarrayOf (" 1 "," 2 "," 3 "," 4 "," 5 "," 6 "," 7 "," 8 "," 9 ") Ċ var ĠW inner : String ? Ġ= Ġnull Ċ var Ġgame Over : ĠBoolean Ġ= Ġfalse Ċ var Ġcount : Int = 0 Ċ var Ġplayer : String ? Ġ= Ġ" X " Ċ var Ġplaced : ĠBoolean Ġ= Ġfalse Ċ Ċ fun Ġmain () Ċ { ĊĠĠĠ Ġdisplay Matrix () ĊĠĠĠ Ġget user inn ut () Ċ } ĊĊ Ċ fun Ġdisplay Matrix (){ ĊĠĠĠ Ġprintln ( Ġ" Ġ"+ Ġ ĠX ando [ 0 ] Ġ+" Ġ"+ X ando [ 1 ] +" Ġ"+ X ando [ 2 ]) ĊĠĠĠ Ġprintln ( Ġ" Ġ"+ Ġ ĠX ando [ 3 ] Ġ+" Ġ"+ X ando [ 4 ] +" Ġ"+ X ando [ 5 ]) ĊĠĠĠ Ġprintln ( Ġ" Ġ"+ Ġ ĠX ando [ 6 ] Ġ+" Ġ"+ X ando [ 7 ] +" Ġ"+ X ando [ 8 ]) Ċ } Ċ fun Ġget user inn ut () Ċ { ĊĊĠĠĠ Ġwhile (! game Over ) ĊĠĠĠ Ġ{ ĊĊĠĠĠĠĠĠĠ Ġprintln (" Please ĠEnter Ġyour ĠNumber Ġin Ġwhich Ġyou Ġwant Ġto Ġplace Ġ$ player ") ĊĠĠĠĠĠĠĠ Ġvar Ġa : Int Ġ= Ġread Line () !!. toInt () ĊĠĠĠĠĠĠĠ Ġif ( X ando [ a - 1 ] Ġ== Ġ" X " Ġ|| ĠX ando [ a - 1 ] Ġ== Ġ" O ") ĊĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhile Ġ(! placed ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ{ Ġprintln ("$ a Ġis Ġalready ĠOcc up ied ĠPlease Ġfeed Ġinto Ġanother ĠPlace ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġa Ġ= Ġread Line () !!. toInt () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplaced Ġ= Ġ!( X ando [ a - 1 ] Ġ== Ġ" X " Ġ|| ĠX ando [ a - 1 ] Ġ== Ġ" O ") ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ/* ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsame ĠState ME nt Ġas ĠA bove ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif ( X ando [ a - 1 ] Ġ== Ġ" X " Ġ|| ĠX ando [ a - 1 ] Ġ== Ġ" O ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplaced Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplaced Ġ= true ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠX ando [ a - 1 ] Ġ= Ġplayer . toString (); ĊĠĠĠĠĠĠĠ Ġdisplay Matrix () ĊĠĠĠĠĠĠĠ ĠSwitch Player () ĊĠĠĠĠĠĠĠ Ġcount ++ ĊĠĠĠĠĠĠĠ Ġif ( count Ġ> Ġ 2 ) ĊĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcheck X () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcheck O () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġif ( Winner Ġ== Ġ" X " Ġ|| ĠW inner Ġ== Ġ" O ") ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġprintln (" Winner Ġis Ġ$ Winner ") ĊĠĠĠ Ġ} Ċ Ċ } Ċ Ċ fun ĠSwitch Player ( Ġ) Ċ { ĊĠĠĠ Ġif ( player Ġ== Ġ" X ") ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġplayer Ġ= Ġ" O " ĊĠĠĠ Ġ} ĊĠĠĠ Ġelse Ġif Ġ( player Ġ== Ġ" O ") ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġplayer Ġ= Ġ" X " ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ Ġplayer Ġ= Ġ" X " ĊĠĠĠ Ġ} ĊĊ Ċ } ĊĊ Ċ fun Ġ Ġcheck X () Ċ { ĊĠĠĠ Ġif ( X ando [ 0 ]= =" X " Ġ&& ĠX ando [ 1 ] Ġ= =" X " Ġ Ġ&& ĠX ando [ 2 ]= =" X ") ĊĠĠĠ Ġ{ ĠW inner Ġ= Ġ" X " ĊĠĠĠĠĠĠĠ Ġgame Over = true Ġ} ĊĠĠĠ Ġif ( X ando [ 3 ]= =" X " Ġ&& ĠX ando [ 4 ] Ġ= =" X " Ġ Ġ&& ĠX ando [ 5 ]= =" X "){ ĠW inner Ġ= Ġ" X " ĊĠĠĠĠĠĠĠ Ġgame Over = true Ġ} ĊĠĠĠ Ġif ( X ando [ 6 ]= =" X " Ġ&& ĠX ando [ 7 ] Ġ= =" X " Ġ Ġ&& ĠX ando [ 8 ]= =" X ") Ġ{ ĠW inner Ġ= Ġ" X " ĊĠĠĠĠĠĠĠ Ġgame Over = true Ġ} ĊĠĠĠ Ġif ( X ando [ 0 ]= =" X " Ġ&& ĠX ando [ 3 ] Ġ= =" X " Ġ Ġ&& ĠX ando [ 6 ]= =" X "){ ĠW inner Ġ= Ġ" X " ĊĠĠĠĠĠĠĠ Ġgame Over = true Ġ} ĊĠĠĠ Ġif ( X ando [ 1 ]= =" X " Ġ&& ĠX ando [ 4 ] Ġ= =" X " Ġ Ġ&& ĠX ando [ 7 ]= =" X ") Ġ{ ĠW inner Ġ= Ġ" X " ĊĠĠĠĠĠĠĠ Ġgame Over = true Ġ} ĊĠĠĠ Ġif ( X ando [ 2 ]= =" X " Ġ&& ĠX ando [ 5 ] Ġ= =" X " Ġ Ġ&& ĠX ando [ 8 ]= =" X "){ ĠW inner Ġ= Ġ" X " ĊĠĠĠĠĠĠĠ Ġgame Over = true Ġ} ĊĠĠĠ Ġif ( X ando [ 0 ]= =" X " Ġ&& ĠX ando [ 4 ] Ġ= =" X " Ġ Ġ&& ĠX ando [ 8 ]= =" X ") Ġ{ ĠW inner Ġ= Ġ" X " ĊĠĠĠĠĠĠĠ Ġgame Over = true Ġ} ĊĠĠĠ Ġif ( X ando [ 2 ]= =" X " Ġ&& ĠX ando [ 4 ] Ġ= =" X " Ġ Ġ&& ĠX ando [ 6 ]= =" X ") Ġ{ ĠW inner Ġ= Ġ" X " ĊĠĠĠĠĠĠĠ Ġgame Over = true Ġ} Ċ } Ċ fun Ġ Ġcheck O () Ċ { ĊĠĠĠ Ġif ( X ando [ 0 ]= =" O " Ġ&& ĠX ando [ 1 ] Ġ= =" O " Ġ Ġ&& ĠX ando [ 2 ]= =" O ") Ġ{ ĠW inner Ġ= Ġ" O " ĊĠĠĠĠĠĠĠ Ġgame Over = true Ġ} ĊĠĠĠ Ġif ( X ando [ 3 ]= =" O " Ġ&& ĠX ando [ 4 ] Ġ= =" O " Ġ Ġ&& ĠX ando [ 5 ]= =" O ") Ġ Ġ{ ĠW inner Ġ= Ġ" O " ĊĠĠĠĠĠĠĠ Ġgame Over = true Ġ} ĊĠĠĠ Ġif ( X ando [ 6 ]= =" O " Ġ&& ĠX ando [ 7 ] Ġ= =" O " Ġ Ġ&& ĠX ando [ 8 ]= =" O ") Ġ{ ĠW inner Ġ= Ġ" O " ĊĠĠĠĠĠĠĠ Ġgame Over = true Ġ} ĊĠĠĠ Ġif ( X ando [ 0 ]= =" O " Ġ&& ĠX ando [ 3 ] Ġ= =" O " Ġ Ġ&& ĠX ando [ 6 ]= =" O ") Ġ Ġ{ ĠW inner Ġ= Ġ" O " ĊĠĠĠĠĠĠĠ Ġgame Over = true Ġ} ĊĠĠĠ Ġif ( X ando [ 1 ]= =" O " Ġ&& ĠX ando [ 4 ] Ġ= =" O " Ġ Ġ&& ĠX ando [ 7 ]= =" O ") Ġ{ ĠW inner Ġ= Ġ" O " ĊĠĠĠĠĠĠĠ Ġgame Over = true Ġ} ĊĠĠĠ Ġif ( X ando [ 2 ]= =" X " Ġ&& ĠX ando [ 5 ] Ġ= =" X " Ġ Ġ&& ĠX ando [ 8 ]= =" O ") Ġ Ġ{ ĠW inner Ġ= Ġ" O " ĊĠĠĠĠĠĠĠ Ġgame Over = true Ġ} ĊĠĠĠ Ġif ( X ando [ 0 ]= =" O " Ġ&& ĠX ando [ 4 ] Ġ= =" O " Ġ Ġ&& ĠX ando [ 8 ]= =" O ") Ġ{ ĠW inner Ġ= Ġ" O " ĊĠĠĠĠĠĠĠ Ġgame Over = true Ġ} ĊĠĠĠ Ġif ( X ando [ 2 ]= =" O " Ġ&& ĠX ando [ 4 ] Ġ= =" O " Ġ Ġ&& ĠX ando [ 6 ]= =" O ") Ġ{ ĠW inner Ġ= Ġ" O " ĊĠĠĠĠĠĠĠ Ġgame Over = true Ġ} Ċ }