diff --git a/src/display.cpp b/src/display.cpp index 84f59653851a9aedea93a4aedb3def4227016609..0c667f46ef723e313bd8a1780988b8237f845f7c 100644 --- a/src/display.cpp +++ b/src/display.cpp @@ -65,12 +65,13 @@ void fadeOutGame(int brightness) void showEvolutions(int ticks) { - char msg[15] = "Life has ended"; - char evolutions[17]; - sprintf(evolutions, "Evolutions: %d", ticks); + char msg_game[15]; + sprintf(msg_game, "Game %d ended", gameEra); + char msg_evo[12]; + sprintf(msg_evo, "Ticks: %d", ticks); indexedLayer.setFont(font3x5); - indexedLayer.drawString((matrix.getScreenWidth() / 2) - (strlen(msg) * 4) / 2, (matrix.getScreenHeight() / 2) - 2 - 5, 1, msg); - indexedLayer.drawString((matrix.getScreenWidth() / 2) - (strlen(evolutions) * 4) / 2, (matrix.getScreenHeight() / 2) + 2, 1, evolutions); + indexedLayer.drawString((matrix.getScreenWidth() / 2) - (strlen(msg_game) * 4) / 2, (matrix.getScreenHeight() / 2) - 2 - 5, 1, msg_game); + indexedLayer.drawString((matrix.getScreenWidth() / 2) - (strlen(msg_evo) * 4) / 2, (matrix.getScreenHeight() / 2) + 2, 1, msg_evo); indexedLayer.swapBuffers(); } diff --git a/src/display.h b/src/display.h index fa9219233cc80d532ed192a79300703ef3c4f352..ecb82e32df2666e4092266c0d7a61c5011a53563 100644 --- a/src/display.h +++ b/src/display.h @@ -7,6 +7,7 @@ extern bool runGame; extern int brightnessPercent; +extern int gameEra; void setupDisplay(); void displayLoop(); diff --git a/src/gameoflife.cpp b/src/gameoflife.cpp index 89846b787d8c50e6a4948efa7c47640721c157ee..b455102fb49c6724358caea31d180790327a3acc 100644 --- a/src/gameoflife.cpp +++ b/src/gameoflife.cpp @@ -12,6 +12,7 @@ int arrayCopy[SCREEN_HEIGHT][SCREEN_WIDTH]; bool runGame = true; bool gameOver = false; +int gameEra = 0; int currentTick; int finalTicks; int cellsAliveNow; @@ -24,6 +25,7 @@ unsigned long currentMillis; void setupGameOfLife() { gameOver = false; + gameEra++; currentTick = 0; finalTicks = 0; cellsAliveBefore = 0; @@ -34,7 +36,7 @@ void setupGameOfLife() { addGlider(random(SCREEN_HEIGHT), random(SCREEN_WIDTH), g); } - logLine("Game of Life has been initialized"); + logLine("Initialized Game " + gameEra); } void createRandomMatrix(int (&a)[SCREEN_HEIGHT][SCREEN_WIDTH]) @@ -140,8 +142,8 @@ void gameLoop() if (currentTick % 2) { - char msg[61]; - sprintf(msg, "Cells alive now: %4d, before: %4d - No evolution since: %3d", cellsAliveNow, cellsAliveBefore, noEvolutionTicks); + char msg[66]; + sprintf(msg, "Tick: %4d, Cells now: %4d, before: %4d - No evolution since: %3d", currentTick, cellsAliveNow, cellsAliveBefore, noEvolutionTicks); logLine(msg); cellsAliveBefore = cellsAliveNow; } @@ -162,7 +164,7 @@ void gameLoop() currentMillis = millis(); showEndScreen(finalTicks); gameOver = true; - logLine("No Evolution detected anymore, ending Game of Life"); + logLine("Ending Game: " + gameEra); } } }