<prompt> Tekeleza mchezo msingi wa Tic-Tac-Toe katika Python kwa kutumia kanuni za upangaji zinazolenga kitu. Mchezo unapaswa kuauni wachezaji wawili wanaochukua zamu kwenye safu ya amri, kuonyesha hali ya sasa ya ubao baada ya kila hatua, na kutambua wakati mchezaji ameshinda au mchezo ni sare.PLINFORMAT  <response>: darasa la TicTacToe: def __init__binafsi: self.board kwa _ masafa3 kwa _ masafa3 self.current_player X def display_boardbinafsi: kwa safu katika ubao binafsi: chapa.jiungesafu chapa - 5 def is_valid_movebinafsi, safu, safu: return self.boardrowcol def make_movebinafsi, safu, safu: ikiwa sio self.is_valid_movesafu, safu: kurudi Uongo self.boardrowcol self.current_player ikiwa self.check_winner: chapa fMchezaji self.current_player ameshinda! kurudi Kweli ikiwa self.check_draw: chapa Ni kuchora! kurudi Kweli self.switch_player kurudi Uongo def check_winnerbinafsi: kwa safu katika ubao binafsi: ikiwa safu0 safu1 safu2 ! : kurudi Kweli kwa col katika safu3: ikiwa self.board0col self.board1col self.board2col ! : kurudi Kweli ikiwa self.board00 self.board11 self.board22 ! : kurudi Kweli ikiwa self.board02 self.board11 self.board20 ! : kurudi Kweli kurudi Uongo def check_drawself: kwa safu katika ubao binafsi: kwa seli katika safu: ikiwa seli : kurudi Uongo kurudi Kweli def switch_playerbinafsi: ikiwa self.current_player X: self.current_player O kwingine: self.current_player X def kucheza binafsi: chapa Karibu kwa Tic Tac Toe! bodi_ya_maonyesho binafsi wakati Kweli: safu intinputfPlayer self.current_player, weka safu mlalo 0-2: col intinputfPlayer self.current_player, weka safu wima 0-2: ikiwa 0 safu 3 na 0 col 3: ikiwa self.make_movesafu, safu: bodi_ya_maonyesho binafsi mapumziko bodi_ya_maonyesho binafsi kwingine: printIngizo batili. Tafadhali jaribu tena.kama __name__ __main__: mchezo TicTacToe mchezo.cheza 