From 0a474f59d887e857a9575bf81592ad4915b75dd6 Mon Sep 17 00:00:00 2001 From: Wolfgang Hottgenroth Date: Sat, 2 Mar 2024 18:37:39 +0100 Subject: [PATCH] changed pixel bit added --- test01.c | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/test01.c b/test01.c index 618f091..377ecfe 100644 --- a/test01.c +++ b/test01.c @@ -14,7 +14,7 @@ uint8_t canvas[CANVAS_WIDTH][CANVAS_HEIGHT]; #define I_HEIGHT 4 #define I_WIDTH 1 -#define I_COLOR 1 +#define I_COLOR 2 typedef enum {e_O, e_I} t_shape; @@ -50,6 +50,7 @@ void showCanvas() { for (uint8_t y = 0; y < CANVAS_HEIGHT; y++) { for (uint8_t x = 0; x < CANVAS_WIDTH; x++) { printf("%02x ", canvas[x][y]); + canvas[x][y] &= ~0x80; } printf("\n"); } @@ -107,24 +108,25 @@ void drawObject() { } } // draw + // the bit7 set marks changed pixels switch (object.shape) { case e_O: switch (object.rotation) { case 0: - canvas[object.x][object.y] = object.O[0][0]; - canvas[object.x][object.y+1] = object.O[0][1]; - canvas[object.x+1][object.y] = object.O[1][0]; - canvas[object.x+1][object.y+1] = object.O[1][1]; + canvas[object.x][object.y] = object.O[0][0] | 0x80; + canvas[object.x][object.y+1] = object.O[0][1] | 0x80; + canvas[object.x+1][object.y] = object.O[1][0] | 0x80; + canvas[object.x+1][object.y+1] = object.O[1][1] | 0x80; break; } break; case e_I: switch (object.rotation) { case 0: - canvas[object.x][object.y] = object.O[0][0]; - canvas[object.x][object.y+1] = object.O[0][1]; - canvas[object.x][object.y+2] = object.O[0][2]; - canvas[object.x][object.y+3] = object.O[0][3]; + canvas[object.x][object.y] = object.O[0][0] | 0x80; + canvas[object.x][object.y+1] = object.O[0][1] | 0x80; + canvas[object.x][object.y+2] = object.O[0][2] | 0x80; + canvas[object.x][object.y+3] = object.O[0][3] | 0x80; break; } break; @@ -163,6 +165,7 @@ int checkCanvasBordersForObject() { } int checkOtherObjectsTouchedForObject() { + return 0; // return true if another object is touched int res = 0;