package Ġt ic _ tac _ to e . game _ client Ċ Ċ import Ġt ic _ tac _ to e . game _ client . mode . Game Mode Ċ import Ġt ic _ tac _ to e . game _ client . user _ interface . User Interface Ċ Ċ class ĠGame Client ( private Ġval Ġio : ĠUser Interface ) Ġ{ ĊĠĠĠ Ġfun Ġstart ( game Modes : ĠMap < String , ĠGame Mode >) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġselected Mode Ġ= Ġio . get Game Mode ( game Modes ) ĊĠĠĠĠĠĠĠ Ġval Ġend State Ġ= Ġselected Mode . play () ĊĠĠĠĠĠĠĠ Ġval Ġwinner Ġ= Ġend State . current Player ĊĠĠĠĠĠĠĠ Ġif Ġ( winner Ġ== Ġ 0 ) Ġio . display Message (" The Ġgame Ġended Ġin Ġa Ġdraw !") ĊĠĠĠĠĠĠĠ Ġelse Ġio . display Message (" Con gr ats ĠPlayer Ġ$ winner , Ġyou Ġwin !") ĊĠĠĠĠĠĠĠ Ġval Ġplay Again Ġ= Ġio . confirm (" Would Ġyou Ġlike Ġto Ġplay Ġagain ?") ĊĠĠĠĠĠĠĠ Ġif Ġ( play Again ) Ġstart ( game Modes ) ĊĠĠĠ Ġ} Ċ }