Initialize chars.
This commit is contained in:
parent
f5a2f12990
commit
dcf82ab20c
@ -23,6 +23,21 @@ fn send<T: Write>(w: &mut T, f: &Frame) -> std::io::Result<()> {
|
|||||||
w.flush()
|
w.flush()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn paint_char(frame: &mut Frame, x: usize, y: usize, bitmap: &[u8], fg: Color, bg: Color) {
|
||||||
|
for i in 0..8 {
|
||||||
|
let b = bitmap[i];
|
||||||
|
for j in 0..8 {
|
||||||
|
frame[y * 8 + 7 - i][x * 8 + j] = {
|
||||||
|
if b & (1 << j) != 0 {
|
||||||
|
fg
|
||||||
|
} else {
|
||||||
|
bg
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
fn main() -> std::io::Result<()> {
|
fn main() -> std::io::Result<()> {
|
||||||
let args = args().collect::<Vec<_>>();
|
let args = args().collect::<Vec<_>>();
|
||||||
eprintln!("executing {}", args[0]);
|
eprintln!("executing {}", args[0]);
|
||||||
@ -53,6 +68,15 @@ fn main() -> std::io::Result<()> {
|
|||||||
let mut frame = repeat(repeat(Color::black()).take(x_size).collect::<Vec<_>>())
|
let mut frame = repeat(repeat(Color::black()).take(x_size).collect::<Vec<_>>())
|
||||||
.take(y_size)
|
.take(y_size)
|
||||||
.collect::<Vec<_>>();
|
.collect::<Vec<_>>();
|
||||||
|
for x in 0..(x_size / 8) {
|
||||||
|
for y in 0..(y_size / 8) {
|
||||||
|
let fg = colors[rng.gen_range(0, colors.len())];
|
||||||
|
let bg = colors[rng.gen_range(0, colors.len())];
|
||||||
|
let start_index = rng.gen_range(0, buffer.len() / 8) * 8;
|
||||||
|
let bitmap = &buffer[start_index..(start_index + 8)];
|
||||||
|
paint_char(&mut frame, x, y, bitmap, fg, bg);
|
||||||
|
}
|
||||||
|
}
|
||||||
loop {
|
loop {
|
||||||
if rng.gen::<f64>() < 0.02 {
|
if rng.gen::<f64>() < 0.02 {
|
||||||
let x = rng.gen_range(0, x_size / 8);
|
let x = rng.gen_range(0, x_size / 8);
|
||||||
@ -60,18 +84,8 @@ fn main() -> std::io::Result<()> {
|
|||||||
let fg = colors[rng.gen_range(0, colors.len())];
|
let fg = colors[rng.gen_range(0, colors.len())];
|
||||||
let bg = colors[rng.gen_range(0, colors.len())];
|
let bg = colors[rng.gen_range(0, colors.len())];
|
||||||
let start_index = rng.gen_range(0, buffer.len() / 8) * 8;
|
let start_index = rng.gen_range(0, buffer.len() / 8) * 8;
|
||||||
for i in 0..8 {
|
let bitmap = &buffer[start_index..(start_index + 8)];
|
||||||
let b = buffer[start_index + i];
|
paint_char(&mut frame, x, y, bitmap, fg, bg);
|
||||||
for j in 0..8 {
|
|
||||||
frame[y * 8 + 7 - i][x * 8 + j] = {
|
|
||||||
if b & (1 << j) != 0 {
|
|
||||||
fg
|
|
||||||
} else {
|
|
||||||
bg
|
|
||||||
}
|
|
||||||
};
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
let mut buf = Vec::with_capacity(x_size * y_size * 3);
|
let mut buf = Vec::with_capacity(x_size * y_size * 3);
|
||||||
|
Loading…
Reference in New Issue
Block a user