From 421fae1fb8e1e341e3c9d7d889f02d17709fb49b Mon Sep 17 00:00:00 2001 From: Aditya Gupta Date: Thu, 16 Oct 2025 12:42:13 +0530 Subject: [PATCH] feat: Added basic card comparison --- src/main.rs | 78 ++++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 60 insertions(+), 18 deletions(-) diff --git a/src/main.rs b/src/main.rs index aaa4454..2f8c2a0 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,32 +1,74 @@ use rand::Rng; -use std::cmp::Ordering; +// use std::cmp::Ordering; use std::io; fn main() { - println!("Guess the number"); - println!("Generating secret number"); - - let secret_number = rand::thread_rng().gen_range(1..=100); + // println!("Guess the number"); + // println!("Generating secret number"); + // + // let secret_number = rand::thread_rng().gen_range(1..=100); + // + // loop { + // println!("Please input your guess"); + // let mut guess = String::new(); + // + // io::stdin() + // .read_line(&mut guess) + // .expect("Failed to read line"); + // + // println!("You guessed: {guess}"); + // let guess: u32 = match guess.trim().parse() { + // Ok(num) => num, + // Err(_) => continue, + // }; + // match guess.cmp(&secret_number) { + // Ordering::Less => println!("Too small!"), + // Ordering::Greater => println!("Too big!"), + // Ordering::Equal => { + // println!("You win!"); + // break; + // } + // } + // } + // + let mut starting_balance = 50; loop { - println!("Please input your guess"); - let mut guess = String::new(); + let user_card = rand::thread_rng().gen_range(1..=13); + let cpu_card = rand::thread_rng().gen_range(1..=13); + println!("Your card: {user_card}"); + println!("1: I have better cards\n2: I have worse cards"); + + let mut user_action = String::new(); io::stdin() - .read_line(&mut guess) + .read_line(&mut user_action) .expect("Failed to read line"); - println!("You guessed: {guess}"); - let guess: u32 = match guess.trim().parse() { - Ok(num) => num, - Err(_) => continue, + let user_action = match user_action.trim() { + "1" => "better", + "2" => "worse", + _ => { + println!("Invalid input, please enter 1 or 2."); + continue; + } }; - match guess.cmp(&secret_number) { - Ordering::Less => println!("Too small!"), - Ordering::Greater => println!("Too big!"), - Ordering::Equal => { - println!("You win!"); - break; + + if user_action == "better" { + if user_card >= cpu_card { + starting_balance += 10; + println!("You win! New balance: {starting_balance}"); + } else { + starting_balance -= 10; + println!("You lose! New balance: {starting_balance}"); + } + } else { + if user_card <= cpu_card { + starting_balance += 10; + println!("You win! New balance: {starting_balance}"); + } else { + starting_balance -= 10; + println!("You lose! New balance: {starting_balance}"); } } }