X-Git-Url: https://git.ucc.asn.au/?p=progcomp2012.git;a=blobdiff_plain;f=judge%2Fmanager%2Fcontroller.cpp;h=e31c1eefb992962a02bf5e4094df8e210a310a21;hp=d2687927e1301de5284af71f2dc0bafc05b4c806;hb=HEAD;hpb=476617a8222c8c56404c12a65dd75c55b8019542 diff --git a/judge/manager/controller.cpp b/judge/manager/controller.cpp index d268792..e31c1ee 100644 --- a/judge/manager/controller.cpp +++ b/judge/manager/controller.cpp @@ -62,6 +62,14 @@ MovementResult Controller::Setup(const char * opponentName) { return MovementResult::BAD_RESPONSE; //You need to include a flag! } + + //Added 9/04/12 - Check all pieces that can be placed are placed + for (int ii = 0; ii <= (int)(Piece::BOMB); ++ii) + { + if (usedUnits[ii] != Piece::maxUnits[ii]) + return MovementResult::BAD_RESPONSE; //You must place ALL possible pieces + } + return MovementResult::OK; @@ -87,13 +95,16 @@ MovementResult Controller::MakeMove(string & buffer) buffer += " OK"; return MovementResult::OK; } + */ + //Restored SURRENDER 9/04/12, because... it kind of seems necessary? if (buffer == "SURRENDER") { buffer += " OK"; return MovementResult::SURRENDER; } - */ - + + + int x; int y; string direction=""; stringstream s(buffer); s >> x; @@ -101,6 +112,9 @@ MovementResult Controller::MakeMove(string & buffer) s >> direction; + + + Board::Direction dir; if (direction == "UP") { @@ -120,6 +134,7 @@ MovementResult Controller::MakeMove(string & buffer) } else { + if (Game::theGame->allowIllegalMoves) return MovementResult::OK; else