diff --git a/CMakeLists.txt b/CMakeLists.txt index 9beb035..c0ae3c8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -11,6 +11,7 @@ find_package(Gint 2.1 REQUIRED) set(SOURCES src/main.c + src/levels.c # ... ) # Shared assets, fx-9860G-only assets and fx-CG-50-only assets @@ -23,6 +24,7 @@ set(ASSETS_fx ) set(ASSETS_cg assets-cg/img/player.png + assets-cg/img/wall.png # ... ) diff --git a/assets-cg/img/fxconv-metadata.txt b/assets-cg/img/fxconv-metadata.txt index e3a556a..c9cc173 100644 --- a/assets-cg/img/fxconv-metadata.txt +++ b/assets-cg/img/fxconv-metadata.txt @@ -1,3 +1,7 @@ player.png: type: bopti-image - name: img_player \ No newline at end of file + name: img_player + +wall.png: + type: bopti-image + name: img_wall \ No newline at end of file diff --git a/assets-cg/img/player.png b/assets-cg/img/player.png index 5660e4b..e011918 100644 Binary files a/assets-cg/img/player.png and b/assets-cg/img/player.png differ diff --git a/assets-cg/img/wall.png b/assets-cg/img/wall.png new file mode 100644 index 0000000..64558f6 Binary files /dev/null and b/assets-cg/img/wall.png differ diff --git a/src/levels.c b/src/levels.c new file mode 100644 index 0000000..ba6bf4c --- /dev/null +++ b/src/levels.c @@ -0,0 +1,18 @@ +const int level[16][16] = { + {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, + {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1}, + {1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1}, + {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1}, + {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1}, + {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1}, + {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1}, + {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1}, + {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1}, + {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1}, + {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1}, + {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1}, + {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1}, + {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1}, + {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1}, + {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1} +}; \ No newline at end of file diff --git a/src/main.c b/src/main.c index a52b83b..dbd9174 100644 --- a/src/main.c +++ b/src/main.c @@ -4,6 +4,9 @@ int main(void) { extern bopti_image_t img_player; + extern bopti_image_t img_wall; + + extern int level[16][16]; int running = 1; @@ -15,12 +18,22 @@ int main(void) while(running) { dclear(C_BLACK); + // drawing the player dimage(player_x, player_y, &img_player); + + // drawing the level + for(int m = 0; m < 16; ++m){ + for(int n = 0; n < 16; ++n){ + if(level[m][n]) { + dimage(m * 12, n * 12, &img_wall); + } + } + } + dupdate(); clearevents(); - // trying to move the player >w< player_x += keydown(KEY_RIGHT) - keydown(KEY_LEFT); player_y += keydown(KEY_DOWN) - keydown(KEY_UP);