From 827b1d10242c2cc3e9bfed96c26cf85311192620 Mon Sep 17 00:00:00 2001 From: narawat lamaiin Date: Tue, 31 Mar 2026 17:50:13 +0700 Subject: [PATCH] update --- guessing_game/src/etc2.rs | 59 +++++++++++++++++++++++++++++++++++++++ guessing_game/src/main.rs | 51 ++++++++++++++++++--------------- 2 files changed, 88 insertions(+), 22 deletions(-) create mode 100644 guessing_game/src/etc2.rs diff --git a/guessing_game/src/etc2.rs b/guessing_game/src/etc2.rs new file mode 100644 index 0000000..b7a6858 --- /dev/null +++ b/guessing_game/src/etc2.rs @@ -0,0 +1,59 @@ +/* --------------------------------------------- 100 -------------------------------------------- */ + +use rand::{Rng, thread_rng}; +use std::{cmp::Ordering, io::{self, stdin}}; + +fn main () { + +let mut myrng = thread_rng(); +let secret_number = myrng.gen_range(1..100); +println!("secret number is {secret_number}"); + loop { + let mut user_guess = String::new(); + let std_in = stdin(); + println!("please input you guess number"); + match std_in.read_line(&mut user_guess) { + Ok(_) => { + // The underscore _ means we don't care about the byte count + // We just care that it succeeded. + println!("You guessed: {}", user_guess); + }, + Err(error) => { + // Here we handle the error manually + println!("Problem reading input: {}", error); + } + } + + let userguess: u32 = match user_guess.trim().parse() { + Ok(num) => num, + Err(_) => { + println!("Can't parse"); + continue; + } + }; + + println!("userguess {userguess}"); + + let compare = match userguess.cmp(&secret_number) { + Ordering::Less => "less", + Ordering::Greater => "more", + Ordering::Equal => { + println!("yesssss"); + + "You win!" + } + }; + + println!("compare result {compare}"); + }; + +} + + + + + + + + + diff --git a/guessing_game/src/main.rs b/guessing_game/src/main.rs index a27400d..7244847 100644 --- a/guessing_game/src/main.rs +++ b/guessing_game/src/main.rs @@ -1,40 +1,47 @@ -/* --------------------------------------------- 100 -------------------------------------------- */ - use rand::{Rng, thread_rng}; -use std::io::{self, stdin}; +use std::{self, io::stdin}; -fn main () { -let mut myrng = thread_rng(); -let secret_number = myrng.gen_range(1..100); +fn main() { + let mut generator = thread_rng(); + let secret_number = generator.gen_range(1..100); + println!("secret number is {secret_number}"); loop { - let mut user_guess = String::new(); + println!("plese input you number"); + let mut user_guess = String::new(); let std_in = stdin(); - match std_in.read_line(&mut user_guess) { - Ok(_) => { - // The underscore _ means we don't care about the byte count - // We just care that it succeeded. - println!("You guessed: {}", user_guess); - }, - Err(error) => { - // Here we handle the error manually - println!("Problem reading input: {}", error); - } - } - println!("please input you guess number"); + std_in.read_line(&mut user_guess); + let mut user_guess: u32 = match user_guess.trim().parse() { + Ok(num) => num, + Err(_) => continue + }; + + user_guess.cmp(other) + + + + + + + - - } -} + + + + + + + +} \ No newline at end of file