Modified Turn Response Protocol, added handling for SIGPIPE, changed placeholder...
authorSam Moore <matches@ucc.asn.au>
Wed, 30 Nov 2011 04:36:18 +0000 (12:36 +0800)
committerSam Moore <matches@ucc.asn.au>
Wed, 30 Nov 2011 04:36:18 +0000 (12:36 +0800)
commit2ab27eb698cfd57977cc9cc25edcbfbeb3b1b1ee
tree7b9bf3e4f06d19ff1760c423f8fe018d44b3e4bb
parentf91a915d6f64f9d35e867d26e8ddb9c1b1ab0c1e
Modified Turn Response Protocol, added handling for SIGPIPE, changed placeholder images

The "outcome" of a move is now listed as:

TYPE [ATTACKER_RANK] [DEFENDER_RANK]

Where ATTACKER_RANK and DEFENDER_RANK will be present if TYPE is one of: KILLS, DIES, BOTHDIE, and indicate the ranks of the pieces involved.
This involved adding a class MovementResult, which stores the ranks of pieces in addition to an enum, replacing the enum Board::MovementResult

The sample agent "forfax" was causing broken pipes, which caused the manager program to exit.
I added a handler for SIGPIPE in manager/main.cpp to ensure that the manager program reports a DEFAULT victory to the other AI, and exits gracefully.
However, I still don't know WHY forfax causes broken pipes, but hopefully its a problem with forfax and not with the manager program.

I edited the images used by the graphical display to show the ordered ranks of the pieces, rather than some obscure characters.
Unfortunately I have just realised that the enum used for Piece::Type stores ranks in the wrong order.
In the actual game, LOWER numbers are better, in my enum, HIGHER numbers are better.
To make things more confusing, I made the printed ATTACKER_RANK and DEFENDER_RANK correspond to the traditional numbering, not the enum numbering...
24 files changed:
manager/controller.cpp
manager/controller.h
manager/forfax [new symlink]
manager/images/piece10.bmp
manager/images/piece11.bmp
manager/images/piece12.bmp
manager/images/piece13.bmp
manager/images/piece2.bmp
manager/images/piece3.bmp
manager/images/piece4.bmp
manager/images/piece5.bmp
manager/images/piece6.bmp
manager/images/piece7.bmp
manager/images/piece8.bmp
manager/images/piece9.bmp
manager/main.cpp
manager/movementresult.h [new file with mode: 0644]
manager/program.cpp
manager/program.h
manager/stratego.cpp
manager/stratego.h
samples/forfax/forfax.cpp
samples/forfax/main.cpp
web/index.html

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