<h1>Tic-Tac-Latin!</h1> <h3>This is a true story, so names have been altered.</h3> My latin teacher, Mr. Latin, created his own proprietary (no joke) tic tac toe variant let's call it tic-tac-latin. The game is simple, it is essentially tic tac toe played on a four by four grid. <h1>Formal rule declaration</h1> A line is considered any of a row column or diagonal. There are two symbols 'x' and 'o' <br> You score when you have three of your symbol and one of the other character. <br><br> These are some ways to score <pre> X--O OO-- <b>XXXO</b> XOOX <b>O</b>-XX -<b>O</b>-- --<b>X</b>- ---<b>O</b> </pre> These do not score <pre> ---- XXXX ---- OOOO ---- XXX- ---- OOO- </pre> You win the game iff you score and in the process do not score for your opponent. <h1>Challenge</h1> Solve this game. Your job is to provide a way to garantee a win (or tie). <br/> <br/> Your solution may choose to either start first or second, and should either be an interactive game where the user inputs moves and the corresponding display changes or it may be a function or program which takes input as a game state, and outputs a new board or a description of their move. <br/> Submissions must be deterministic, and do not necessarily need to supply a proof of optimality, but if they get cracked (by being beaten) your submissions will be considered invalid (you may leave it up, but add (cracked) in the headline. <hr/> This is a non-trivial task, so any valid submission is impressive and is worthy of an accepted tick, but I will make code golf the primary winning criterion. First the quality of play is looked at, (i.e whether it garuntees a win or draw). Winning is obviously better than drawing. All of the worse candidates (if any) get eliminated. Then the shortest answer is selected. The winner is chosen by going down this list till one winner is chosen. -Only Solved implementation which always wins.<br/> -Shortest solved implemenation which always wins<br/> -Only implementation<br/> -Shortest implementation<br/>