[RULE CHANGE] *Victory by "attrition"* + Bug fixes
authorSam Moore <matches@ucc.asn.au>
Sat, 24 Dec 2011 10:59:38 +0000 (18:59 +0800)
committerSam Moore <matches@ucc.asn.au>
Sat, 24 Dec 2011 10:59:38 +0000 (18:59 +0800)
commite1153eebe8cfd0c881cef2ff8fca63f130e736b3
tree03cbb073a800f11f22b9876e182417f5815778ff
parentde72851794e06d2e179799b95e1ea2955b9560b1
[RULE CHANGE] *Victory by "attrition"* + Bug fixes

Minor bugs in the manager program fixed.
Changed some messages for clarity, can't remember what, look at diff.

Added VICTORY_ATTRITION; victory by destroying all of the opponents _mobile_ pieces
 (ie: Everything except Bombs/Flag)

This means we don't get results of DRAW or DRAW_DEFAULT when one AI destroys all the other's mobile pieces.
Since those games would last up to 5000 turns, this saves a lot of wasted time.

AI should still respond with "NO_MOVE" when they have no mobile pieces.

Made timeout value adjustable by an argument switch, '-T'
Altered simulate.py to use a timeout variable and supply the switch to the manager program.

So now I don't need to recompile and commit the manager program every time I want to test a different timeout value on mufasa!

Mufasa is now on game 3 of the test round, out of 12. After FIVE HOURS.
This particular game has lasted 1132 turns, with BLUE making "NO_MOVE" for the last 600 or so.
The new victory condition will stop this sort of thing :)

Merry Christmas!
12 files changed:
judge/manager/Makefile
judge/manager/controller.cpp
judge/manager/game.cpp
judge/manager/game.h
judge/manager/graphics.h
judge/manager/main.cpp
judge/manager/movementresult.h
judge/manager/program.cpp
judge/manager/stratego.cpp
judge/manager/stratego.h
judge/simulator/simulate.py
web/doc/manager_manual.txt

UCC git Repository :: git.ucc.asn.au