From 46fa862e04bc43311ba79ef3db70abf9014b9104 Mon Sep 17 00:00:00 2001 From: tom barrett Date: Sun, 3 Feb 2019 05:45:35 -0600 Subject: bringing to 2018 --- src/client/mining.rs | 52 +++++++++++++++++++++++++++++++--------------------- 1 file changed, 31 insertions(+), 21 deletions(-) (limited to 'src/client/mining.rs') diff --git a/src/client/mining.rs b/src/client/mining.rs index 221f7ce..5515f3a 100644 --- a/src/client/mining.rs +++ b/src/client/mining.rs @@ -1,16 +1,16 @@ -extern crate termion; extern crate serde_json; +extern crate termion; -use std::net::TcpStream; use self::termion::async_stdin; -use std::io::{BufReader, BufRead}; -use std::io::{stdout, Read, Write}; use self::termion::raw::IntoRawMode; +use std::io::{stdout, Read, Write}; +use std::io::{BufRead, BufReader}; +use std::net::TcpStream; -use server::mining::MiningData; -use modules::mining::MiningStatus; +use crate::modules::mining::MiningStatus; +use crate::server::mining::MiningData; -pub fn client_mining(mut stream : TcpStream, mut buff_r : BufReader) { +pub fn client_mining(mut stream: TcpStream, mut buff_r: BufReader) { let stdout = stdout(); let mut stdout = stdout.lock().into_raw_mode().unwrap(); let mut stdin = async_stdin().bytes(); @@ -18,24 +18,34 @@ pub fn client_mining(mut stream : TcpStream, mut buff_r : BufReader) loop { let mut recv = String::new(); buff_r.read_line(&mut recv).unwrap(); - let data : MiningData = serde_json::from_str(&recv.replace("\n", "")).unwrap(); + let data: MiningData = serde_json::from_str(&recv.replace("\n", "")).unwrap(); write!(stdout, "{}", termion::clear::All).unwrap(); - let clear = termion::cursor::Goto(1,1); + let clear = termion::cursor::Goto(1, 1); - match data.has_astroid_target { - true => match data.is_within_range { - true => match data.astroid_has_minerals { - true => match data.status { - MiningStatus::None => write!(stdout, "{}Press F to begin mining.", clear).unwrap(), - _ => write!(stdout, "{}Press F to stop mining.", clear).unwrap(), - }, - false => write!(stdout, "{}Astroid has ran out of minerals.", clear).unwrap(), + if data.has_astroid_target { + if data.is_within_range { + if data.astroid_has_minerals { + match data.status { + MiningStatus::None => { + write!(stdout, "{}Press F to begin mining.", clear).unwrap() + } + _ => write!(stdout, "{}Press F to stop mining.", clear).unwrap(), + }; + } else { + write!(stdout, "{}Astroid has ran out of minerals.", clear).unwrap(); } - false => write!(stdout, "{}Astroid must be within range of {}.", clear, data.range).unwrap(), - }, - false => write!(stdout, "{}Ship has no astroid targeted.", clear).unwrap(), + } else { + write!( + stdout, + "{}Astroid must be within range of {}.", + clear, data.range + ) + .unwrap(); + } + } else { + write!(stdout, "{}Ship has no astroid targeted.", clear).unwrap(); } if let Some(c) = stdin.next() { @@ -46,7 +56,7 @@ pub fn client_mining(mut stream : TcpStream, mut buff_r : BufReader) break; } send.push_str("\n"); - stream.write(send.as_bytes()).unwrap(); + stream.write_all(send.as_bytes()).unwrap(); } stdout.flush().unwrap(); -- cgit v1.2.3