313 bg = NamedColor::black;
314 fg = NamedColor::white;
315 symbol = NamedSymbol::none;
321 this->symbol = symbol;
367 std::string encoding =
"raw";
369 void initializeGrid() {
370 for (
int i = 0;
i < gridSize[0];
i++) {
371 for (
int j = 0;
j < gridSize[1];
j++) {
372 setBGColor(
i,
j, NamedColor::black);
373 setFGColor(
i,
j, NamedColor::black);
374 setSymbol(
i,
j, NamedSymbol::none);
388 (*this)[row][col].setBGColor(color);
392 return (*
this)[row][col].getBGColor();
396 return (*
this)[row][col].getFGColor();
400 return (*
this)[row][col].getSymbol();
411 (*this)[row][col].setFGColor(color);
421 (*this)[row][col].setSymbol(symbol);
433 setFGColor(row, col, color);
434 setSymbol(row, col, symbol);
455 string getRAWRepresentation()
const {
458 std::vector<unsigned char> bgbuf;
459 std::vector<unsigned char> fgbuf;
460 std::vector<unsigned char> symbolbuf;
462 for (
int i = 0;
i < gridSize[0];
i++) {
463 for (
int j = 0;
j < gridSize[1];
j++) {
464 bgbuf.push_back(static_cast<unsigned char>(getBGColor(
i,
j)));
465 fgbuf.push_back(static_cast<unsigned char>(getFGColor(
i,
j)));
466 symbolbuf.push_back(static_cast<unsigned char>(getSymbol(
i,
j)));
472 std::string symbolstr =
base64::encode (&(symbolbuf[0]), symbolbuf.size());
491 std::string json_str;
500 json_str += getRAWRepresentation();
virtual const string getDStype() const override
Definition: GameGrid.h:438
void setSymbol(int row, int col, NamedSymbol symbol)
Definition: GameGrid.h:420
Definition: GameGrid.h:365
void setFGColor(NamedColor fg)
Definition: GameGrid.h:336
void setBGColor(NamedColor bg)
Definition: GameGrid.h:328
NamedColor getBGColor(int row, int col) const
Definition: GameGrid.h:391
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:431
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:490
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:410
NamedSymbol getSymbol() const
Definition: GameGrid.h:356
NamedColor getFGColor() const
Definition: GameGrid.h:352
these methods convert byte arrays in to base64 codes and are used in BRIDGES to represent the color a...
Definition: alltypes.h:4
GameCell()
Definition: GameGrid.h:312
const string CLOSE_BOX
Definition: DataStructure.h:55
NamedColor
Definition: GameGrid.h:21
void setSymbol(NamedSymbol s)
Definition: GameGrid.h:344
NamedSymbol
Definition: GameGrid.h:171
NamedSymbol getSymbol(int row, int col) const
Definition: GameGrid.h:399
NamedColor getBGColor() const
Definition: GameGrid.h:348
Definition: GameGrid.h:306
GameCell(NamedColor bg, NamedColor fg, NamedSymbol symbol)
Definition: GameGrid.h:318
const string COMMA
Definition: DataStructure.h:50
void setBGColor(int row, int col, NamedColor color)
Definition: GameGrid.h:387
NamedColor getFGColor(int row, int col) const
Definition: GameGrid.h:395
const string QUOTE
Definition: DataStructure.h:49
GameGrid(int nbrow=10, int nbcol=10)
Definition: GameGrid.h:446
std::string JSONencode(const T &d)
Definition: JSONutil.h:37