From 6fdc89da369bf9d525faea46998b669a5bd5c730 Mon Sep 17 00:00:00 2001 From: Dave Van den Eynde Date: Sun, 17 Jan 2021 09:45:32 +0100 Subject: [PATCH] Adding sparks --- src/main.cpp | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index 2b1a59f..be068cc 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -100,12 +100,18 @@ void loop() { for(int y = 0; y < FIRE_HEIGHT - 1; y++) for(int x = 0; x < FIRE_WIDTH; x++) { - fire[y][x] = - ((fire[(y + 1) % FIRE_HEIGHT][(x - 1 + FIRE_WIDTH) % FIRE_WIDTH] - + fire[(y + 1) % FIRE_HEIGHT][(x) % FIRE_WIDTH] - + fire[(y + 1) % FIRE_HEIGHT][(x + 1) % FIRE_WIDTH] - + fire[(y + 2) % FIRE_HEIGHT][(x) % FIRE_WIDTH]) - * 32) / 132; + // Once in a great while, add in a white spot. + if (random(100000000) < y * y) { // Desperate attempt to bias then to the bottom. + fire[y][x] = 255; + } + else { + fire[y][x] = + ((fire[(y + 1) % FIRE_HEIGHT][(x - 1 + FIRE_WIDTH) % FIRE_WIDTH] + + fire[(y + 1) % FIRE_HEIGHT][(x) % FIRE_WIDTH] + + fire[(y + 1) % FIRE_HEIGHT][(x + 1) % FIRE_WIDTH] + + fire[(y + 2) % FIRE_HEIGHT][(x) % FIRE_WIDTH]) + * 32) / 132; + } } // Draw fire