Rename
This commit is contained in:
parent
cf3362dabb
commit
f1c06e512d
48
src/life.cpp
48
src/life.cpp
@ -54,17 +54,17 @@ std::string fileRead(const char *filePath) {
|
||||
return content;
|
||||
}
|
||||
|
||||
enum UserAction { ANIMATE, TICK, QUIT };
|
||||
enum MenuAction { ANIMATE, TICK, QUIT };
|
||||
|
||||
UserAction askUserForANIMATE() {
|
||||
MenuAction askMenu() {
|
||||
while (true) {
|
||||
std::string userInput = input("a)nimate, t)ick, q)uit? ");
|
||||
if (userInput == "a")
|
||||
return UserAction::ANIMATE;
|
||||
return MenuAction::ANIMATE;
|
||||
else if (userInput == "t")
|
||||
return UserAction::TICK;
|
||||
return MenuAction::TICK;
|
||||
else if (userInput == "q")
|
||||
return UserAction::QUIT;
|
||||
return MenuAction::QUIT;
|
||||
std::cout << "The input '" << userInput << "' is an invalid option!\n";
|
||||
}
|
||||
}
|
||||
@ -88,12 +88,12 @@ enum Cell { ALIVE, DEAD };
|
||||
void gridPrint(Grid<Cell> &grid) {
|
||||
std::stringstream ss;
|
||||
|
||||
for (int idxRow = 0; idxRow < grid.numRows(); idxRow++) {
|
||||
for (int idxCol = 0; idxCol < grid.numCols(); idxCol++) {
|
||||
char sign = grid.get(idxRow, idxCol) == Cell::ALIVE ? 'X' : '-';
|
||||
for (int row = 0; row < grid.numRows(); row++) {
|
||||
for (int col = 0; col < grid.numCols(); col++) {
|
||||
char sign = grid.get(row, col) == Cell::ALIVE ? 'X' : '-';
|
||||
ss << sign;
|
||||
}
|
||||
if (idxRow == grid.numRows() - 1)
|
||||
if (row == grid.numRows() - 1)
|
||||
ss << std::endl;
|
||||
else
|
||||
ss << '\n';
|
||||
@ -176,10 +176,10 @@ int main() {
|
||||
std::cerr << "No column, row header, in the file!" << std::endl;
|
||||
return 1;
|
||||
}
|
||||
int rows, columns;
|
||||
int headerRows, headerColumns;
|
||||
try {
|
||||
rows = std::stoi(lines[0]);
|
||||
columns = std::stoi(lines[1]);
|
||||
headerRows = std::stoi(lines[0]);
|
||||
headerColumns = std::stoi(lines[1]);
|
||||
} catch (const std::invalid_argument &e) {
|
||||
std::cerr << "Column or row wasn't a number" << std::endl;
|
||||
return 1;
|
||||
@ -189,24 +189,24 @@ int main() {
|
||||
}
|
||||
|
||||
int possibleRows = lines.size() - 2;
|
||||
if (possibleRows < rows) {
|
||||
if (possibleRows < headerRows) {
|
||||
std::cerr << "There's less rows (" << possibleRows
|
||||
<< ") than described in the header! (" << rows << ')'
|
||||
<< ") than described in the header! (" << headerRows << ')'
|
||||
<< std::endl;
|
||||
return 1;
|
||||
}
|
||||
|
||||
Grid<Cell> grid(columns, rows);
|
||||
for (int x = 0; x < rows; x++) {
|
||||
Grid<Cell> grid(headerColumns, headerRows);
|
||||
for (int x = 0; x < headerRows; x++) {
|
||||
std::string &row = lines[x + 2];
|
||||
if (columns > row.size()) {
|
||||
if (headerColumns > row.size()) {
|
||||
std::cerr << "There's less columns (" << row.size()
|
||||
<< "), than described in the header! (" << rows << ')'
|
||||
<< "), than described in the header! (" << headerRows << ')'
|
||||
<< std::endl;
|
||||
return 1;
|
||||
}
|
||||
|
||||
for (int y = 0; y < columns; y++) {
|
||||
for (int y = 0; y < headerColumns; y++) {
|
||||
char sign = row[y];
|
||||
|
||||
switch (sign) {
|
||||
@ -225,15 +225,15 @@ int main() {
|
||||
}
|
||||
gridPrint(grid);
|
||||
|
||||
UserAction ANIMATE;
|
||||
while ((ANIMATE = askUserForANIMATE()) != UserAction::QUIT) {
|
||||
MenuAction action;
|
||||
while ((action = askMenu()) != MenuAction::QUIT) {
|
||||
// We don't have to handle QUIT, since we do in the while check
|
||||
switch (ANIMATE) {
|
||||
case UserAction::TICK:
|
||||
switch (action) {
|
||||
case MenuAction::TICK:
|
||||
grid = gridTick(grid);
|
||||
gridPrint(grid);
|
||||
break;
|
||||
case UserAction::ANIMATE:
|
||||
case MenuAction::ANIMATE:
|
||||
for (int i = 0; i < ANIMATION_N_GENERATIONS; i++) {
|
||||
grid = gridTick(grid);
|
||||
clearConsole();
|
||||
|
Loading…
x
Reference in New Issue
Block a user