Tetris external app (#1842)

* Tetris external app
* 4 levels
This commit is contained in:
Mark Thompson 2024-02-03 12:33:36 -06:00 committed by GitHub
parent f0f279eec5
commit c30a61441b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
10 changed files with 1138 additions and 12 deletions

View file

@ -0,0 +1,39 @@
#include "ui_tetris.hpp"
namespace ui::external_app::tetris {
#pragma GCC diagnostic push
// external code, so ignore warnings
#pragma GCC diagnostic ignored "-Weffc++"
#include "tetris.cpp"
#pragma GCC diagnostic pop
TetrisView::TetrisView(NavigationView& nav)
: nav_(nav) {
add_children({&dummy});
}
void TetrisView::paint(Painter& painter) {
(void)painter;
if (!initialized) {
initialized = true;
std::srand(LPC_RTC->CTIME0);
main();
}
}
void TetrisView::frame_sync() {
check_fall_timer();
set_dirty();
}
bool TetrisView::on_encoder(const EncoderEvent delta) {
return check_encoder(delta);
}
bool TetrisView::on_key(const KeyEvent key) {
return check_key(key);
}
} // namespace ui::external_app::tetris