From 29938fd712e474a9a968f8a735080ecca708c8bd Mon Sep 17 00:00:00 2001 From: Brandon Thomas Date: Thu, 14 Jan 2021 20:41:40 -0500 Subject: [PATCH] color based on time --- src/main.rs | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/src/main.rs b/src/main.rs index f9fd579..3293020 100644 --- a/src/main.rs +++ b/src/main.rs @@ -6,7 +6,7 @@ mod color; use point::Point; use std::thread; use zmq::{Error, Socket, Context, DONTWAIT}; -use std::time::Duration; +use std::time::{Duration, SystemTime, UNIX_EPOCH}; use crate::color::Color; const SOCKET_ADDRESS : &'static str = "tcp://127.0.0.1:8888"; @@ -29,9 +29,11 @@ fn main() { let mut reconnect = false; let mut fail_count = 0; let mut messaging_state = MessagingState::Sending; + let mut color = Color::Blue; loop { - let point = Point::at_random_range(-1000.0f32, 1000.0f32, Color::Blue); + let color = get_color(); + let point = Point::at_random_range(-1000.0f32, 1000.0f32, color); let bytes = point.to_bytes(); //println!("Point : {}", point.debug_string()); @@ -113,4 +115,22 @@ fn reconnect_socket(context: &Context, socket: Socket, address: &str) -> Socket } return socket; +} + +fn get_color() -> Color { + let start = SystemTime::now(); + let timestamp = start + .duration_since(UNIX_EPOCH) + .expect("Time should work."); + + let seconds = timestamp.as_secs(); + + match seconds % 10 { + 0 | 1 => Color::Black, + 2 | 3 => Color::Blue, + 4 | 5 => Color::Red, + 6 | 7 => Color::Green, + 8 | 9 => Color::White, + _ => Color::White, + } } \ No newline at end of file