Add code to use the charset in ROM

This commit is contained in:
hkz 2025-07-22 14:59:09 +02:00
commit 4ea5c7147e
9 changed files with 60 additions and 4 deletions

View file

@ -26,6 +26,10 @@ void init(void) {
memset((void*)DISPLAY_PAGE_2, 0, DISPLAY_PAGE_SIZE);
}
#define MOVES_TEXT_X 28
#define MOVES_TEXT_Y 14
#define MOVES_TEXT_WIDTH 4
__task int main(void) {
uint16_t moves_count = 0;
@ -37,6 +41,7 @@ __task int main(void) {
reset_game();
draw_game_background();
draw_number(moves_count, MOVES_TEXT_WIDTH, MOVES_TEXT_X, MOVES_TEXT_Y);
draw_tiles();
while(1) { // Game loop
@ -45,22 +50,22 @@ __task int main(void) {
switch(read_kb()) {
case K_UP:
BELL1();
ddraw_field_borders_on_buffer(0x1F);
ddraw_field_borders_on_buffer(0x0E);
state = step_game(UP);
break;
case K_DOWN:
BELL1();
ddraw_field_borders_on_buffer(0x2F);
ddraw_field_borders_on_buffer(0x0D);
state = step_game(DOWN);
break;
case K_LEFT:
BELL1();
ddraw_field_borders_on_buffer(0x4F);
ddraw_field_borders_on_buffer(0x0B);
state = step_game(LEFT);
break;
case K_RIGHT:
BELL1();
ddraw_field_borders_on_buffer(0x8F);
ddraw_field_borders_on_buffer(0x07);
state = step_game(RIGHT);
break;
default:
@ -73,6 +78,9 @@ __task int main(void) {
// If we have won, break out of this loop
if(state.done) break;
// Draw the number of moves
draw_number(moves_count, MOVES_TEXT_WIDTH, MOVES_TEXT_X, MOVES_TEXT_Y);
// Draw the moved tiles
draw_tiles();