X-Git-Url: https://git.ucc.asn.au/?p=progcomp2012.git;a=blobdiff_plain;f=judge%2Fmanager%2Fstratego.cpp;h=0e299cbf10035b7df77814a621c1beb7047a4c1e;hp=7894378e01981ff103023646e2b4c7bc75cd8222;hb=3b7e8befa3c75a9ac0aac03dc527c6637dd5fcd7;hpb=037a4b52ab76fe90955d671604238e02f3e4f5a2 diff --git a/judge/manager/stratego.cpp b/judge/manager/stratego.cpp index 7894378..0e299cb 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) { @@ -233,7 +234,7 @@ void Board::Draw(const Piece::Colour & reveal, bool showRevealed) } Graphics::ClearScreen(); - + float scale = (float)(Piece::textures[(int)(Piece::NOTHING)].width()) / (float)(GRID_SIZE); for (int y=0; y < height; ++y) { for (int x=0; x < width; ++x) @@ -248,7 +249,8 @@ void Board::Draw(const Piece::Colour & reveal, bool showRevealed) || (piece->beenRevealed && showRevealed)) { //Display the piece - Piece::textures[(int)(piece->type)].DrawColour(x*32,y*32,0,1, Piece::GetGraphicsColour(piece->colour)); + + Piece::textures[(int)(piece->type)].DrawColour(x*GRID_SIZE*scale,y*GRID_SIZE*scale,0,scale, Piece::GetGraphicsColour(piece->colour)); } else @@ -256,16 +258,16 @@ void Board::Draw(const Piece::Colour & reveal, bool showRevealed) switch (piece->colour) { case Piece::RED: - Piece::textures[(int)(Piece::NOTHING)].DrawColour(x*32,y*32,0,1, Piece::GetGraphicsColour(piece->colour)); + Piece::textures[(int)(Piece::NOTHING)].DrawColour(x*GRID_SIZE*scale,y*GRID_SIZE*scale,0,scale, Piece::GetGraphicsColour(piece->colour)); break; case Piece::BLUE: - Piece::textures[(int)(Piece::NOTHING)].DrawColour(x*32,y*32,0,1, Piece::GetGraphicsColour(piece->colour)); + Piece::textures[(int)(Piece::NOTHING)].DrawColour(x*GRID_SIZE*scale,y*GRID_SIZE*scale,0,scale, Piece::GetGraphicsColour(piece->colour)); break; case Piece::NONE: - Piece::textures[(int)(Piece::BOULDER)].DrawColour(x*32,y*32,0,1, Piece::GetGraphicsColour(piece->colour)); + Piece::textures[(int)(Piece::BOULDER)].DrawColour(x*GRID_SIZE*scale,y*GRID_SIZE*scale,0,scale, Piece::GetGraphicsColour(piece->colour)); break; case Piece::BOTH: - Piece::textures[(int)(Piece::BOULDER)].DrawColour(x*32,y*32,0,1, Piece::GetGraphicsColour(piece->colour)); + Piece::textures[(int)(Piece::BOULDER)].DrawColour(x*GRID_SIZE*scale,y*GRID_SIZE*scale,0,scale, Piece::GetGraphicsColour(piece->colour)); break; } }