Fixed bug in active_player calculation + other cleanups.
authorW. Trevor King <wking@drexel.edu>
Fri, 26 Mar 2010 02:54:47 +0000 (22:54 -0400)
committerW. Trevor King <wking@drexel.edu>
Fri, 26 Mar 2010 04:16:41 +0000 (00:16 -0400)
commit0c4319c886b969ac7f09131fced71e3dd98844cf
treed9160eea45e5e3f5bcd5b2913826bf1a2a49d8b0
parent99aba974403edde2086e1c929146a831486c554f
Fixed bug in active_player calculation + other cleanups.

Also
* Added docstrings to many classes and methods.
* Added NameMixin, breaking off .name portion of ID_CmpMixin.
* Removed unused contains_territory methods.
* _check_short_names comparison now case insensitive to match
  territory_by_name.
* Deck gains options num_wilds and type_names.
* Deck gains method shuffle.
* Deck and Hand scoring and production generalized.
* Many Player methods renamed (losing "phase_").
* Many Player methods gain log option, since the player might want to
  know what's been going on.
* Player methods phase_attack and phase fortify combined to form
  attack_and_fortify.  The idea is to let the player make as many
  decisions as they would like to in one fell swoop, and attacking
  and fortifying are very similar.
* Engine gains game_over method for easier subclassing.
* Engine deal method more flexible, now single player.  Also takes
  over player hand manipulation from Player.draw (formerly
  phase_draw).  The idea is to have Engine do all possible Player
  manipulation; Player methods are just for making decisions and
  notification.
* test function adjusted to work with
  python -c 'import risk.base as b; b.test()'
risk/base.py
risk/log.py