<aside>

What we need to remake this game?

APIs:

draw_text(font, "Hello, Sailor!\n");
draw_sprite(sprite, x, y);

play_sound("click.wav"); // maybe some meteprogramming here

</aside>

梳理思路

Rendering API

draw_tile_sprite :: (
    sprite: Sprite_Id,
    grid_x: int,
    grid_y: int
);
for y: 0..level.height-1 {
    for x: 0..level.width-1 {
        tile := get_tile(level, x, y);

        draw_tile(tile, x, y);
    }
}

Sprites

2026-08-24_00-43-45.png

Level (map)

100x100

2026-08-24_00-44-35.png

High level deisgn

Conent Layer

############
#....B.....#
#..P.......#
#..........#
############

World Layer

111111222222
111111222222
111111222222
111111222222
111111222222

Art

前后的世界可以不同,也就是两层世界。

切换的风格可以采用 : https://www.bilibili.com/video/BV1YjXkYmER1