pub fn wall_glyph(map: &Map, x: i32, y: i32) -> u16 {
    if x < 1 || x > map.width - 2 || y < 1 || y > map.height - 2 as i32 {
        return 35;
    }
    let mut mask: u8 = 0;

    // ↑
    if is_revealed_and_wall(map, x, y - 1) {
        mask += 1;
    }
    // ↓
    if is_revealed_and_wall(map, x, y + 1) {
        mask += 2;
    }
    // ←
    if is_revealed_and_wall(map, x - 1, y) {
        mask += 4;
    }
    // →
    if is_revealed_and_wall(map, x + 1, y) {
        mask += 8;
    }

    match mask {
        0 => 9,    //  '○' Pillar because we can't see neighbors
        1 => 186,  //  '║' Wall only to the north
        2 => 186,  //  '║' Wall only to the south
        3 => 186,  //  '║' Wall to the north and south
        4 => 205,  //  '═' Wall only to the west
        5 => 188,  //  '╝' Wall to the north and west
        6 => 187,  //  '╗' Wall to the south and west
        7 => 185,  //  '╣' Wall to the north, south and west
        8 => 205,  //  '═' Wall only to the east
        9 => 200,  //  '╚' Wall to the north and east
        10 => 201, //  '╔' Wall to the south and east
        11 => 204, //  '╠' Wall to the north, south and east
        12 => 205, //  '═' Wall to the east and west
        13 => 202, //  '╩' Wall to the east, west, and south
        14 => 203, //  '╦' Wall to the east, west, and north
        15 => 206, //  '╬' walls all around
        _ => 35,   //  '#' Missed something
    }
}
// "Next, we check each of the 4 directions and add to the mask. We're
// adding numbers corresponding to each of the first four bits in
// binary - so 1,2,4,8. This means that our final number will store
// whether or not we have each of the four possible neighbors. For
// example, a value of 3 means that we have neighbors to the north and
// south."
"Next, we check each of the 4 directions and add to the mask. We're
adding numbers corresponding to each of the first four bits in
binary - so 1,2,4,8. This means that our final number will store
whether or not we have each of the four possible neighbors. For
example, a value of 3 means that we have neighbors to the north and
south."
" Next we check each of the 4 directions and add to the mask . We ' re adding numbers corresponding to each of the first four bits in binary - so 1 2 4 8 . This means that our final number will store whether or not we have each of the four possible neighbors . For example a value of 3 means that we have neighbors to the north and south . "
pub fn wall_glyph(map: &Map, x: i32, y: i32) -> u16 {
    if x < 1 || x > map.width - 2 || y < 1 || y > map.height - 2 as i32 {
        return 35;
    }
    let mut mask: u8 = 0;
    // ↑
    if is_revealed_and_wall(map, x, y - 1) {
        mask += 1;
    }
    // ↓
    if is_revealed_and_wall(map, x, y + 1) {
        mask += 2;
    }
    // ←
    if is_revealed_and_wall(map, x - 1, y) {
        mask += 4;
    }
    // →
    if is_revealed_and_wall(map, x + 1, y) {
        mask += 8;
    }
    match mask {
        0 => 9,    //  '○' Pillar because we can't see neighbors
        1 => 186,  //  '║' Wall only to the north
        2 => 186,  //  '║' Wall only to the south
        3 => 186,  //  '║' Wall to the north and south
        4 => 205,  //  '═' Wall only to the west
        5 => 188,  //  '╝' Wall to the north and west
        6 => 187,  //  '╗' Wall to the south and west
        7 => 185,  //  '╣' Wall to the north, south and west
        8 => 205,  //  '═' Wall only to the east
        9 => 200,  //  '╚' Wall to the north and east
        10 => 201, //  '╔' Wall to the south and east
        11 => 204, //  '╠' Wall to the north, south and east
        12 => 205, //  '═' Wall to the east and west
        13 => 202, //  '╩' Wall to the east, west, and south
        14 => 203, //  '╦' Wall to the east, west, and north
        15 => 206, //  '╬' walls all around
        _ => 35,   //  '#' Missed something
    }
}
pub fn wall_glyph ( map : & Map , x : i32 , y : i32 ) -> u16 { if x < 1 || x > map . width - 2 || y < 1 || y > map . height - 2 as i32 { return 35 ; } let mut mask : u8 = 0 ; // ↑ if is_revealed_and_wall ( map , x , y - 1 ) { mask += 1 ; } // ↓ if is_revealed_and_wall ( map , x , y + 1 ) { mask += 2 ; } // ← if is_revealed_and_wall ( map , x - 1 , y ) { mask += 4 ; } // → if is_revealed_and_wall ( map , x + 1 , y ) { mask += 8 ; } match mask { 0 => 9 , //  '○' Pillar because we can't see neighbors 1 => 186 , //  '║' Wall only to the north 2 => 186 , //  '║' Wall only to the south 3 => 186 , //  '║' Wall to the north and south 4 => 205 , //  '═' Wall only to the west 5 => 188 , //  '╝' Wall to the north and west 6 => 187 , //  '╗' Wall to the south and west 7 => 185 , //  '╣' Wall to the north, south and west 8 => 205 , //  '═' Wall only to the east 9 => 200 , //  '╚' Wall to the north and east 10 => 201 , //  '╔' Wall to the south and east 11 => 204 , //  '╠' Wall to the north, south and east 12 => 205 , //  '═' Wall to the east and west 13 => 202 , //  '╩' Wall to the east, west, and south 14 => 203 , //  '╦' Wall to the east, west, and north 15 => 206 , //  '╬' walls all around _ => 35 , //  '#' Missed something } }
"Next, we check each of the 4 directions and add to the mask.
" Next we check each of the 4 directions and add to the mask .
map
&Map
x
i32
y
i32
map
&Map
x
i32
y
i32