restore updatemap function to do a few tests

This commit is contained in:
quenousimporte 2025-04-18 16:02:28 +02:00
parent 52b79e3e5f
commit 8d4fb191c6
1 changed files with 77 additions and 0 deletions

77
w/w.c
View File

@ -601,6 +601,83 @@ char gentile(int x, int y)
return TILE_UNUSED; return TILE_UNUSED;
} }
int ddl = 0;
void updatemap()
{
//ddl--;
int x = state.position.x;
int y = state.position.y;
// north
char c = gentile(x, y - 1);
if (c == TILE_FREE)
{
ddl++;
gentile(x - 1, y - 2);
gentile(x + 1, y - 2);
}
else if (c == TILE_DOOR)
{
ddl++;
}
else if (c != TILE_UNUSED)
{
ddl--;
}
// south
c = gentile(x, y + 1);
if (c == TILE_FREE)
{
ddl++;
gentile(x - 1, y + 2);
gentile(x + 1, y + 2);
}
else if (c == TILE_DOOR)
{
ddl++;
}
else if (c != TILE_UNUSED)
{
ddl--;
}
// east
c = gentile(x + 1, y);
if (c == TILE_FREE)
{
ddl++;
gentile(x + 2, y - 1);
gentile(x + 2, y + 1);
}
else if (c == TILE_DOOR)
{
ddl++;
}
else if (c != TILE_UNUSED)
{
ddl--;
}
// west
c = gentile(x - 1, y);
if (c == TILE_FREE)
{
ddl++;
gentile(x - 2, y - 1);
gentile(x - 2, y + 1);
}
else if (c == TILE_DOOR)
{
ddl++;
}
else if (c != TILE_UNUSED)
{
ddl--;
}
}
void dfs(int x, int y) void dfs(int x, int y)
{ {
if (charatpos(x,y) != TILE_START) if (charatpos(x,y) != TILE_START)