Snake: Use a vegetable icon for the fruit.

This commit is contained in:
Andreas Kling 2019-04-20 04:00:32 +02:00
parent 09c087177c
commit 6ef8e2df5a
Notes: sideshowbarker 2024-07-19 14:38:58 +09:00
3 changed files with 10 additions and 1 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 168 B

View file

@ -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()

View file

@ -50,4 +50,7 @@ private:
Coordinate m_fruit;
int m_length { 0 };
unsigned m_score { 0 };
RetainPtr<GraphicsBitmap> m_fruit_bitmap;
};