From c67973638f894abb061178acd54d1b34101872ab Mon Sep 17 00:00:00 2001 From: jiehaoxuan <3113993691@qq.com> Date: Sun, 3 Dec 2023 20:43:46 +0800 Subject: [PATCH] dbridge.c wh --- src/NetHack_3.7/src/dbridge.c | 58 ++++++++++++++++------------------- 1 file changed, 27 insertions(+), 31 deletions(-) diff --git a/src/NetHack_3.7/src/dbridge.c b/src/NetHack_3.7/src/dbridge.c index 9855ca0..c10a809 100644 --- a/src/NetHack_3.7/src/dbridge.c +++ b/src/NetHack_3.7/src/dbridge.c @@ -1,3 +1,4 @@ +//2023/12/3 wh /* NetHack 3.7 dbridge.c $NHDT-Date: 1596498153 2020/08/03 23:42:33 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.47 $ */ /* Copyright (c) 1989 by Jean-Christophe Collet */ /* NetHack may be freely redistributed. See license for details. */ @@ -58,72 +59,67 @@ is_pool(coordxy x, coordxy y) return FALSE; } -boolean -is_lava(coordxy x, coordxy y) +boolean is_lava(coordxy x, coordxy y) { schar ltyp; - if (!isok(x, y)) - return FALSE; - ltyp = levl[x][y].typ; + if (!isok(x, y)) // If the coordinates are not within the game map + return FALSE; // Return FALSE to indicate that it is not lava + ltyp = levl[x][y].typ; // Get the terrain type at the coordinates if (ltyp == LAVAPOOL || ltyp == LAVAWALL || (ltyp == DRAWBRIDGE_UP && (levl[x][y].drawbridgemask & DB_UNDER) == DB_LAVA)) - return TRUE; - return FALSE; + return TRUE; // Return TRUE if the terrain type is lava or a drawbridge over lava + return FALSE; // Otherwise, return FALSE } -boolean -is_pool_or_lava(coordxy x, coordxy y) +boolean is_pool_or_lava(coordxy x, coordxy y) { if (is_pool(x, y) || is_lava(x, y)) - return TRUE; + return TRUE; // Return TRUE if the location is a pool or lava else - return FALSE; + return FALSE; // Otherwise, return FALSE } -boolean -is_ice(coordxy x, coordxy y) +boolean is_ice(coordxy x, coordxy y) { schar ltyp; - if (!isok(x, y)) - return FALSE; - ltyp = levl[x][y].typ; + if (!isok(x, y)) // If the coordinates are not within the game map + return FALSE; // Return FALSE to indicate that it is not ice + ltyp = levl[x][y].typ; // Get the terrain type at the coordinates if (ltyp == ICE || (ltyp == DRAWBRIDGE_UP && (levl[x][y].drawbridgemask & DB_UNDER) == DB_ICE)) - return TRUE; - return FALSE; + return TRUE; // Return TRUE if the terrain type is ice or a drawbridge over ice + return FALSE; // Otherwise, return FALSE } -boolean -is_moat(coordxy x, coordxy y) +boolean is_moat(coordxy x, coordxy y) { schar ltyp; - if (!isok(x, y)) - return FALSE; - ltyp = levl[x][y].typ; + if (!isok(x, y)) // If the coordinates are not within the game map + return FALSE; // Return FALSE to indicate that it is not a moat + ltyp = levl[x][y].typ; // Get the terrain type at the coordinates if (!Is_juiblex_level(&u.uz) && (ltyp == MOAT || (ltyp == DRAWBRIDGE_UP && (levl[x][y].drawbridgemask & DB_UNDER) == DB_MOAT))) - return TRUE; - return FALSE; + return TRUE; // Return TRUE if the terrain type is a moat or a drawbridge over a moat (excluding Juiblex's level) + return FALSE; // Otherwise, return FALSE } -schar -db_under_typ(int mask) +schar db_under_typ(int mask) { switch (mask & DB_UNDER) { case DB_ICE: - return ICE; + return ICE; // Return the terrain type as ice if the mask corresponds to ice case DB_LAVA: - return LAVAPOOL; + return LAVAPOOL; // Return the terrain type as lava if the mask corresponds to lava case DB_MOAT: - return MOAT; + return MOAT; // Return the terrain type as a moat if the mask corresponds to a moat default: - return STONE; + return STONE; // Return the terrain type as stone for other cases } }