From: Sam Moore Date: Fri, 2 Mar 2012 14:21:05 +0000 (+0800) Subject: Made printed board consistent with graphical board X-Git-Url: https://git.ucc.asn.au/?p=progcomp2012.git;a=commitdiff_plain;h=e73b3387632709982d8586bb34c62db186740e58 Made printed board consistent with graphical board I made the graphical board draw function reveal pieces that had been involved in combat. But I didn't reflect this in the printed board, until now. Pointed out by [SLX] --- diff --git a/judge/manager/stratego.cpp b/judge/manager/stratego.cpp index 7894378..c9716cf 100644 --- a/judge/manager/stratego.cpp +++ b/judge/manager/stratego.cpp @@ -157,7 +157,7 @@ void Board::Print(FILE * stream, const Piece::Colour & reveal) * @param stream - the stream to print information to * @param reveal - Pieces matching this colour will have their identify revealed, other pieces will be shown as '#' */ -void Board::PrintPretty(FILE * stream, const Piece::Colour & reveal) +void Board::PrintPretty(FILE * stream, const Piece::Colour & reveal, bool showRevealed) { for (int y=0; y < height; ++y) { @@ -168,7 +168,8 @@ void Board::PrintPretty(FILE * stream, const Piece::Colour & reveal) { fprintf(stream, "."); } - else if (piece->colour != Piece::NONE && (piece->colour == reveal || reveal == Piece::BOTH)) + else if ((piece->colour != Piece::NONE && (piece->colour == reveal || reveal == Piece::BOTH)) + || (piece->beenRevealed && showRevealed)) { switch (piece->colour) { diff --git a/judge/manager/stratego.h b/judge/manager/stratego.h index 098540c..f439e80 100644 --- a/judge/manager/stratego.h +++ b/judge/manager/stratego.h @@ -109,7 +109,7 @@ class Board virtual ~Board(); //Destructor void Print(FILE * stream, const Piece::Colour & reveal=Piece::BOTH); //Print board - void PrintPretty(FILE * stream, const Piece::Colour & reveal=Piece::BOTH); //Print board using colour + void PrintPretty(FILE * stream, const Piece::Colour & reveal=Piece::BOTH, bool showRevealed=true); //Print board using colour #ifdef BUILD_GRAPHICS void Draw(const Piece::Colour & reveal=Piece::BOTH, bool showRevealed = true); //Draw board