better box drawing
This commit is contained in:
parent
3bd28451e9
commit
6ab78f2b1c
1 changed files with 34 additions and 8 deletions
|
|
@ -216,7 +216,7 @@ impl Display for GameState {
|
|||
self.p2.walls_left,
|
||||
d2.at(self.p2.x(), self.p2.y())
|
||||
)?;
|
||||
writeln!(f, "┏━━┬━━┬━━┬━━┬━━┬━━┬━━┬━━┬━━┓")?;
|
||||
writeln!(f, "╭──┬──┬──┬──┬──┬──┬──┬──┬──╮")?;
|
||||
for y in 0..9 {
|
||||
if y > 0 {
|
||||
write!(f, "├")?;
|
||||
|
|
@ -224,23 +224,49 @@ impl Display for GameState {
|
|||
let wall = if self.walls.can_walk_between(x, y - 1, x, y) {
|
||||
' '
|
||||
} else {
|
||||
'━'
|
||||
'─'
|
||||
};
|
||||
write!(f, "{wall}{wall}")?;
|
||||
if x != 8 {
|
||||
write!(f, "╋")?;
|
||||
let wall_above = !self.walls.can_walk_between(x, y, x + 1, y);
|
||||
let wall_below =
|
||||
y != 0 && !self.walls.can_walk_between(x, y - 1, x + 1, y - 1);
|
||||
let wall_left = y != 0 && !self.walls.can_walk_between(x, y, x, y - 1);
|
||||
let wall_right =
|
||||
y != 0 && !self.walls.can_walk_between(x + 1, y, x + 1, y - 1);
|
||||
|
||||
match (wall_above, wall_below, wall_left, wall_right) {
|
||||
(false, false, false, false) => write!(f, "·")?,
|
||||
(false, true, false, false) => write!(f, "╵")?,
|
||||
(true, false, false, false) => write!(f, "╷")?,
|
||||
(false, false, true, false) => write!(f, "╴")?,
|
||||
(false, false, false, true) => write!(f, "╶")?,
|
||||
(true, true, false, false) => write!(f, "│")?,
|
||||
(false, false, true, true) => write!(f, "─")?,
|
||||
(false, true, true, false) => write!(f, "┐")?,
|
||||
(true, false, false, true) => write!(f, "└")?,
|
||||
(true, false, true, false) => write!(f, "┘")?,
|
||||
(false, true, false, true) => write!(f, "┌")?,
|
||||
(true, true, true, false) => write!(f, "┤")?,
|
||||
(false, true, true, true) => write!(f, "┬")?,
|
||||
(true, false, true, true) => write!(f, "┴")?,
|
||||
(true, true, false, true) => write!(f, "├")?,
|
||||
(true, true, true, true) => write!(f, "┼")?,
|
||||
}
|
||||
|
||||
// write!(f, "┼")?;
|
||||
}
|
||||
}
|
||||
write!(f, "┤\n┃")?;
|
||||
write!(f, "┤\n│")?;
|
||||
} else {
|
||||
write!(f, "┃")?;
|
||||
write!(f, "│")?;
|
||||
}
|
||||
for x in 0..9 {
|
||||
if x > 0 {
|
||||
let wall = if self.walls.can_walk_between(x - 1, y, x, y) {
|
||||
' '
|
||||
} else {
|
||||
'┃'
|
||||
'│'
|
||||
};
|
||||
write!(f, "{wall}")?;
|
||||
}
|
||||
|
|
@ -254,9 +280,9 @@ impl Display for GameState {
|
|||
};
|
||||
write!(f, "{player}")?;
|
||||
}
|
||||
writeln!(f, "┃")?;
|
||||
writeln!(f, "│")?;
|
||||
}
|
||||
writeln!(f, "┗━━┴━━┴━━┴━━┴━━┴━━┴━━┴━━┴━━┛")?;
|
||||
writeln!(f, "╰──┴──┴──┴──┴──┴──┴──┴──┴──╯")?;
|
||||
Ok(())
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue