In my last post I announced a challenge: the first pull request on my TicTacToe for AL GitHub repository that contains a properly written event handler with “AI” that either beats the human player or ends in a draw gets a special reward. Honestly, I didn’t expect to see any submissions there, because NAV community is not too GitHub savvy. I rarely get any hands up in the air when in my sessions or workshops I ask who uses GitHub. But, three forks arrived soon and one submission quickly followed. It provides a clean and working solution that properly applies the handler pattern and never loses a game.
And, the winner is: Bartel de Leeuw!
Bartel has provided a good solution that satisfies all of the criteria: it never loses a game, it wins if given a chance by the human player, and it properly handles the handler pattern, thus providing a loosely bound AI algorithm for the game. I kept good on my promise too, so Bartel has got a standing ovation from my family (all the audience I had available at the time, and they did give me a strange look at first before they joined me in cheering and applauding), and here’s a public acknowledgement on my blog. I’ll also always use his solution and mention him when presenting control add-ins demos, or NAV event-driven architectures.
That’s it, now back to serious stuff.