crocparty/game/game.c
2024-02-27 19:57:37 -08:00

65 lines
1.2 KiB
C

#include "art/game_player.h"
#include "art/game_tiles.h"
#include "device/device.h"
#include "map/game_map.h"
#include "game.h"
#include "sys/sys.h"
#include <stdio.h>
uint32_t game_frame;
game_bbox game_player_bbox = {
.x=0x9000,
// .y=0x5800,
.y=0x0000,
.w=0x1000,
.h=0x1000,
};
sys_i32 game_player_dx = 0;
sys_i32 game_player_dy = 0;
const char* game_title() {
return "Croc Party!";
}
void game_init() {
sys_init();
game_palette_init();
}
void game_destroy() {
sys_destroy();
}
void game_update() {
game_frame += 1;
game_player_dy += 1;
if (device_buttons[0]) { game_player_dx -= 16; }
if (device_buttons[1]) { game_player_dx += 16; }
game_collision collision = game_collision_move_to_contact(
&game_player_bbox,
game_player_dx,
game_player_dy
);
if (collision.collided_x) { game_player_dx = 0; }
if (collision.collided_y) { game_player_dy = 0; }
}
void game_draw() {
sys_cls(9);
sys_map_draw(map_game_map, spr_game_tiles, 0, 0, 0, 0, 32, 18);
sys_sprite_draw_ext(
spr_game_player,
(game_frame / 8) % 4 * 2,
game_player_bbox.x / 0x100,
game_player_bbox.y / 0x100,
2, 2,
false, false
);
}