diff options
author | Dennis Kobert <dennis@kobert.dev> | 2019-12-20 06:48:31 +0100 |
---|---|---|
committer | Dennis Kobert <dennis@kobert.dev> | 2019-12-20 06:48:31 +0100 |
commit | 898a7f80a3dd22ef4844893b38589b819c037f30 (patch) | |
tree | c544d9c16f95092817d0190bcde4dc675b0501a2 /src/solvers.rs | |
parent | a39405f8e26bdd4db304fe1ea13dccf9400d0445 (diff) | |
parent | 4fa0425d237f0a55d9d3d08138f2a5854eb3130f (diff) |
Merge branch 'master' of kobert:/var/repos/babelbitset
Diffstat (limited to 'src/solvers.rs')
-rw-r--r-- | src/solvers.rs | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/src/solvers.rs b/src/solvers.rs index 7e17b38..cf46030 100644 --- a/src/solvers.rs +++ b/src/solvers.rs @@ -14,6 +14,7 @@ impl Wall { v.push(1); v }; + let heights = vec![0, 1, 0, 2, 1, 0, 2, 2, 1]; Self { heights } } @@ -32,20 +33,18 @@ impl Wall { pub fn output(&self, n: u32, h: u32) { let mut stones = vec![0; n as usize]; + let mut toggle = 0; + let colors = ["\x1b[31m", "\x1b[32m", "\x1b[33m", "\x1b[34m", "\x1b[35m", "\x1b[36m"]; for row in 0..h { self.calculate_row(row, &mut stones); for &len in stones.iter() { - if len <= 1 { - print!("◼"); - } else if len > 1 { - print!("◢"); - for _ in 0..(len - 2) { - print!("◼"); - } - print!("◣"); + print!("{}", colors[toggle]); + toggle = (toggle + 1) % colors.len(); + for _ in 0..len { + print!("◙"); } } - println!(""); + println!("\x1b[m"); } } } |