mirror of
https://github.com/RGBCube/serenity
synced 2025-07-24 21:57:35 +00:00
Snake: Use a vegetable icon for the fruit.
This commit is contained in:
parent
09c087177c
commit
6ef8e2df5a
3 changed files with 10 additions and 1 deletions
|
@ -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()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue