I'm a little stuck in Moe at the point where I need to add command handling for player orders. In the previous iteration, each player got their own handler. That was nice because then setting that it was someone's turn was as easy as enabling the 'in turn' commands. It sucked, because almost all of the commands needed to know whose turn it was, which lead to a lot of binding for the particular commands. I'd like to make something a little more elegant than my current options.
1. Do binding like before. Effective, easy, but tedious.
2. Extend the handler to pass the player giving the orders as a parameter. Easy, but kind of limits the command methods, and will undoubtably yield methods that take a player param only to ignore it.
3. Have a common 'current turn' member of a game object. Hackish, and makes the handling functions need to know what game they're in, which isn't much benefit.
There's a few others floating around, but they're either too off the wall or too risky for me to use for something as important as command handling. I think there's an elegant solution I am merely overlooking either due to ignorance, sleep deprivation, or sheer skillessness; let's hope for sleep deprivation and if not that will at least help make a good design if not nice and elegant.
In other news, Elantris was good. It is a little different from the general d&d-esque fantasy I am partial to. It is also quite a bit different from the stereotypical elves and orcs fantasy that almost everyone is used to (and in some cases sick of). The storyline unfolds more like a traditional thriller or mystery (which happens to have magic). The stereotypical elves and orcs are replaced with stereotypical Japanese, Scandinavians, French, English, and Americans with new names; which at times is a bit more insulting than yet another fantasy elf.
The fantasy elements beyond that such as the world, magic system, and religions are novel (for me) and interesting. The characters are interesting and diverse, though they progress to similarity as the story progresses, and occasionally dip into cliche which is all the more striking given the relative absence of it throughout the lengthy story. All in all, well worth a $8 whimsy purchase.