C++ program: Conway's Game of Life.
In game.cpp, finish:
bool GameOfLife::alive_in_next_generation(int row, int col) {
// Rules:
// * If a cell has less than 2 live neighbors, it will die (or stay dead)
// * If a cell is alive and has 2 live neighbors, it will stay alive
// * If a cell has 3 live neighbors, it will be alive
// (either by staying alive or coming alive)
// * If a cell has more than 3 live neighbors, it will die (or stay dead)
// * If not otherwise mentioned, the cell is dead
//
// Live neighbors are calculated by looking at its octile neighbors. That is
// for a cell X, you look at the neighbors A-H as in:
//
// A B C
// D X E
// F G H
//
// Note that a cell does not itself count towards its own live neighbor count
}
void GameOfLife::simulate_step() {
// Clear out next by going through each row and column and set
// every value to false
// Calculate next by going through each row and column, except for the
// borders, and set the ith, jth entry in next to the result of the
// function alive based on current at i, j
// Swap current and next
}
std::ostream &operator<<(std::ostream &os, const GameOfLife &gol) {
// This function should print out the 2D array board.
// If you would like to print out a color block instead of a character,
// use
// std::cout << "
}