From 8a2c60bddb7d854aaef04ff3f0b69fde33c0443f Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Wed, 12 Jun 2019 15:27:13 +0200 Subject: Prevent infinite loop --- src/snake.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/snake.cpp b/src/snake.cpp index 9c3c4d0..5246a3c 100644 --- a/src/snake.cpp +++ b/src/snake.cpp @@ -187,10 +187,10 @@ GameCore::GameCore(QWidget *widget) // Remove tail from field if snake reached desired length if (snake->parts.size() >= snake->len) { const QPoint &p = snake->parts.front(); + snake->parts.pop_front(); if (FIELD(p.x(), p.y()) == snake->cell) { setField(p.x(), p.y(), &empty); } - snake->parts.pop_front(); } // Eat if (FIELD(snake->x, snake->y)->isFood()) { @@ -200,10 +200,10 @@ GameCore::GameCore(QWidget *widget) snake->len = 10; while (snake->parts.size() > snake->len) { const QPoint &p = snake->parts.front(); - if (FIELD(p.x(), p.y())->isFood()) - continue; - setField(p.x(), p.y(), &snakebrick); snake->parts.pop_front(); + if (!FIELD(p.x(), p.y())->isFood()) { + setField(p.x(), p.y(), &snakebrick); + } } addFood(); } else { -- cgit v1.2.3-55-g7522