Saturday, July 12, 2008

Consolidation

The original web app was written in an include-driven method, which has not translated well to Facebook integration. I have therefore consolidated most application code into a new global application class which handles processing. The includes merely call these application-level methods to perform processing.

In this way, I can derive a Facebook application class from a parent and override certain key virtual methods which control rendering, which Facebook is very particular about. Facebook only accepts a certain subset of HTML and javascript in its integrated applications.

Thursday, July 10, 2008

First Things First

After recreating the former schema and ironing out some more of the setup issues and before beginning the integration, I decided that I would need to add a much requested feature--AI.

I decided to work on two levels of AI, one really dirt simple bot, and another more advanced one. The simple AI took several programming sessions to implement.

It involved developing routines to generate all possible moves given a player's hand, and rewriting the code to allow retrieving the appropriate hand from an AI Player subclass of the general player class.

The second level of AI has been less straightforward and is only 60% complete thus far, despite certain assumptions I have made to ease the task.