Use same value for spread as lolcat.

This commit is contained in:
2016-09-01 08:45:50 +02:00
parent ff78008e2c
commit e2d78f42d0

View File

@@ -9,15 +9,15 @@ use rand::{thread_rng, Rng};
use ansi_term::Colour::RGB;
fn main() {
let r = thread_rng().gen_range(0, 256);
let mut s = thread_rng().gen_range(0.0, 256.0);
let stdin = io::stdin();
for (n, line) in stdin.lock().lines().enumerate() {
let line = line.unwrap();
for line in stdin.lock().lines() {
s += 0.8;
for (o, c) in line.chars().enumerate() {
let (red, green, blue) = rainbow(0.1, r + n + o);
for (n, c) in line.unwrap().chars().enumerate() {
let (red, green, blue) = rainbow(0.1, s + n as f32);
print!("{}", RGB(red, green, blue).paint(c.to_string()));
}
@@ -26,10 +26,10 @@ fn main() {
}
}
fn rainbow(frec: f32, i: usize) -> (u8, u8, u8) {
let red = (f32::sin(frec * i as f32) * 127.0 + 128.0) as u8;
let green = (f32::sin(frec * i as f32 + 2.0 * PI / 3.0) * 127.0 + 128.0) as u8;
let blue = (f32::sin(frec * i as f32 + 4.0 * PI / 3.0) * 127.0 + 128.0) as u8;
fn rainbow(frec: f32, i: f32) -> (u8, u8, u8) {
let red = (f32::sin(frec * i) * 127.0 + 128.0) as u8;
let green = (f32::sin(frec * i + 2.0 * PI / 3.0) * 127.0 + 128.0) as u8;
let blue = (f32::sin(frec * i + 4.0 * PI / 3.0) * 127.0 + 128.0) as u8;
(red, green, blue)
}