|
|
|
@ -43,9 +43,9 @@ iswall(coordxy x, coordxy y)
|
|
|
|
|
{
|
|
|
|
|
int type;
|
|
|
|
|
|
|
|
|
|
if (!isok(x, y))
|
|
|
|
|
return 0;
|
|
|
|
|
type = levl[x][y].typ;
|
|
|
|
|
if (!isok(x, y)) // Check if the specified coordinates are valid
|
|
|
|
|
return 0; // Return false if not
|
|
|
|
|
type = levl[x][y].typ;// Get the type of the cell at the specified coordinates
|
|
|
|
|
return (IS_WALL(type) || IS_DOOR(type)
|
|
|
|
|
|| type == SDOOR || type == IRONBARS);
|
|
|
|
|
}
|
|
|
|
@ -280,12 +280,12 @@ wallification(coordxy x1, coordxy y1, coordxy x2, coordxy y2)
|
|
|
|
|
static boolean
|
|
|
|
|
okay(coordxy x, coordxy y, coordxy dir)
|
|
|
|
|
{
|
|
|
|
|
mz_move(x, y, dir);
|
|
|
|
|
mz_move(x, y, dir);
|
|
|
|
|
mz_move(x, y, dir); // Move the player one space in the given direction
|
|
|
|
|
mz_move(x, y, dir); // Move the player another space in the same direction
|
|
|
|
|
if (x < 3 || y < 3 || x > gx.x_maze_max || y > gy.y_maze_max
|
|
|
|
|
|| levl[x][y].typ != STONE)
|
|
|
|
|
return FALSE;
|
|
|
|
|
return TRUE;
|
|
|
|
|
return FALSE;// Return false if the player is not on a valid location
|
|
|
|
|
return TRUE;// Return true if the player is on a valid location
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* find random starting point for maze generation */
|
|
|
|
@ -294,7 +294,7 @@ maze0xy(coord *cc)
|
|
|
|
|
{
|
|
|
|
|
cc->x = 3 + 2 * rn2((gx.x_maze_max >> 1) - 1);
|
|
|
|
|
cc->y = 3 + 2 * rn2((gy.y_maze_max >> 1) - 1);
|
|
|
|
|
return;
|
|
|
|
|
return;// Return after storing the generated coordinates
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static boolean
|
|
|
|
|