diff options
author | Andreas Kling <awesomekling@gmail.com> | 2019-04-20 04:00:32 +0200 |
---|---|---|
committer | Andreas Kling <awesomekling@gmail.com> | 2019-04-20 04:00:32 +0200 |
commit | 6ef8e2df5a6c5689d6993cfb5395e7d334a2bc90 (patch) | |
tree | df5c36381440c34a5d5ab5eafbf1ad1c8e3bbf10 /Games | |
parent | 09c087177c533c06f3726c63b749cb291db3f542 (diff) | |
download | serenity-6ef8e2df5a6c5689d6993cfb5395e7d334a2bc90.zip |
Snake: Use a vegetable icon for the fruit.
Diffstat (limited to 'Games')
-rw-r--r-- | Games/Snake/SnakeGame.cpp | 8 | ||||
-rw-r--r-- | Games/Snake/SnakeGame.h | 3 |
2 files changed, 10 insertions, 1 deletions
diff --git a/Games/Snake/SnakeGame.cpp b/Games/Snake/SnakeGame.cpp index 5f5541ef08..4aad4e553a 100644 --- a/Games/Snake/SnakeGame.cpp +++ b/Games/Snake/SnakeGame.cpp @@ -1,11 +1,13 @@ #include "SnakeGame.h" #include <LibGUI/GPainter.h> +#include <SharedGraphics/GraphicsBitmap.h> #include <stdlib.h> #include <time.h> SnakeGame::SnakeGame(GWidget* parent) : GWidget(parent) { + m_fruit_bitmap = GraphicsBitmap::load_from_file("/res/icons/snake/paprika.png"); srand(time(nullptr)); reset(); } @@ -19,6 +21,7 @@ void SnakeGame::reset() m_head = { m_rows / 2, m_columns / 2 }; m_tail.clear_with_capacity(); m_length = 2; + m_score = 0; m_velocity_queue.clear(); stop_timer(); start_timer(120); @@ -83,6 +86,7 @@ void SnakeGame::timer_event(CTimerEvent&) if (m_head == m_fruit) { ++m_length; + ++m_score; spawn_fruit(); } update(); @@ -141,7 +145,9 @@ void SnakeGame::paint_event(GPaintEvent& event) for (auto& coord : m_tail) painter.fill_rect(cell_rect(coord), Color::from_rgb(0xaaaa00)); - painter.fill_rect(cell_rect(m_fruit), Color::Red); + painter.draw_scaled_bitmap(cell_rect(m_fruit), *m_fruit_bitmap, m_fruit_bitmap->rect()); + + painter.draw_text(rect(), String::format("Score: %u", m_score), TextAlignment::TopLeft, Color::White); } void SnakeGame::game_over() diff --git a/Games/Snake/SnakeGame.h b/Games/Snake/SnakeGame.h index 20c926ff70..3102e029e9 100644 --- a/Games/Snake/SnakeGame.h +++ b/Games/Snake/SnakeGame.h @@ -50,4 +50,7 @@ private: Coordinate m_fruit; int m_length { 0 }; + unsigned m_score { 0 }; + + RetainPtr<GraphicsBitmap> m_fruit_bitmap; }; |