320 bg = NamedColor::black;
321 fg = NamedColor::white;
322 symbol = NamedSymbol::none;
332 this->symbol = symbol;
402 std::string encoding =
"raw";
404 void initializeGrid() {
405 for (
int i = 0;
i < gridSize[0];
i++) {
406 for (
int j = 0;
j < gridSize[1];
j++) {
407 setBGColor(
i,
j, NamedColor::black);
408 setFGColor(
i,
j, NamedColor::black);
409 setSymbol(
i,
j, NamedSymbol::none);
423 (*this)[row][col].setBGColor(color);
427 return (*
this)[row][col].getBGColor();
431 return (*
this)[row][col].getFGColor();
435 return (*
this)[row][col].getSymbol();
446 (*this)[row][col].setFGColor(color);
456 (*this)[row][col].setSymbol(symbol);
468 setFGColor(row, col, color);
469 setSymbol(row, col, symbol);
490 string getRAWRepresentation()
const {
493 std::vector<unsigned char> bgbuf;
494 std::vector<unsigned char> fgbuf;
495 std::vector<unsigned char> symbolbuf;
497 for (
int i = 0;
i < gridSize[0];
i++) {
498 for (
int j = 0;
j < gridSize[1];
j++) {
499 bgbuf.push_back(static_cast<unsigned char>(getBGColor(
i,
j)));
500 fgbuf.push_back(static_cast<unsigned char>(getFGColor(
i,
j)));
501 symbolbuf.push_back(static_cast<unsigned char>(getSymbol(
i,
j)));
507 std::string symbolstr =
base64::encode (&(symbolbuf[0]), symbolbuf.size());
526 std::string json_str;
535 json_str += getRAWRepresentation();
virtual const string getDStype() const override
Return the data structure type.
Definition: GameGrid.h:473
void setSymbol(int row, int col, NamedSymbol symbol)
Definition: GameGrid.h:455
This is a class in BRIDGES for representing an (n x n)game grid.
Definition: GameGrid.h:400
void setFGColor(NamedColor fg)
Set foreground color using NamedColor Enum argument.
Definition: GameGrid.h:347
void setBGColor(NamedColor bg)
Set background color using NamedColor Enum argument.
Definition: GameGrid.h:339
NamedColor getBGColor(int row, int col) const
Definition: GameGrid.h:426
string encode(BYTE const *buf, unsigned int bufLen)
Definition: base64.h:59
const string COLON
Definition: DataStructure.h:51
void drawSymbol(int row, int col, NamedSymbol symbol, NamedColor color)
Definition: GameGrid.h:466
const string OPEN_BOX
Definition: DataStructure.h:54
const string CLOSE_CURLY
Definition: DataStructure.h:53
virtual const string getDataStructureRepresentation() const override
Definition: GameGrid.h:525
This is a class in BRIDGES for representing an (n x n) grid.
Definition: Grid.h:31
void setFGColor(int row, int col, NamedColor color)
Definition: GameGrid.h:445
NamedSymbol getSymbol() const
Get cell symbol.
Definition: GameGrid.h:379
NamedColor getFGColor() const
Get foreground color of cell.
Definition: GameGrid.h:371
these methods convert byte arrays in to base64 codes and are used in BRIDGES to represent the color a...
Definition: alltypes.h:4
GameCell()
constructor
Definition: GameGrid.h:319
const string CLOSE_BOX
Definition: DataStructure.h:55
NamedColor
Definition: GameGrid.h:14
void setSymbol(NamedSymbol s)
Set symbol using int argument.
Definition: GameGrid.h:355
NamedSymbol
Definition: GameGrid.h:164
NamedSymbol getSymbol(int row, int col) const
Definition: GameGrid.h:434
NamedColor getBGColor() const
Get background color of cell.
Definition: GameGrid.h:363
This class represents a single cell of the Game Grid.
Definition: GameGrid.h:312
GameCell(NamedColor bg, NamedColor fg, NamedSymbol symbol)
Definition: GameGrid.h:329
const string COMMA
Definition: DataStructure.h:50
void setBGColor(int row, int col, NamedColor color)
Definition: GameGrid.h:422
NamedColor getFGColor(int row, int col) const
Definition: GameGrid.h:430
const string QUOTE
Definition: DataStructure.h:49
GameGrid(int nbrow=10, int nbcol=10)
Definition: GameGrid.h:481
std::string JSONencode(const T &d)
Definition: JSONutil.h:37