#include "entity.h" #include "player.h" #include "wall.h" #include #include void main(void) { struct Player player; struct Wall walls[5]; player_init(&player, 16, 32); wall_init(&walls[0], 16, 0, DWIDTH - 32, 16); wall_init(&walls[1], 16, DHEIGHT - 16, DWIDTH - 32, 16); wall_init(&walls[2], 0, 0, 16, DHEIGHT); wall_init(&walls[3], DWIDTH - 16, 0, 16, DHEIGHT); wall_init(&walls[4], DWIDTH / 2 - 24, DHEIGHT - 64, 48, 48); do { const int previous_x = player.x; const int previous_y = player.y; dclear(C_BLACK); entity_grid_draw_hitboxes(); dupdate(); clearevents(); player.x += keydown(KEY_RIGHT) - keydown(KEY_LEFT); player.y += keydown(KEY_DOWN) - keydown(KEY_UP); if (entity_collide(&player)) { player.x = previous_x; player.y = previous_y; } } while (!keydown(KEY_EXIT)); return; }