créer le projet

cargo new plus_moins

on obtient cela : dans le projet plus_moins

➜  plus_moins git:(master) ✗ tree
.
├── Cargo.lock
├── Cargo.toml
└── src
    └── main.rs

1 directory, 3 files
➜  plus_moins git:(master) ✗ 

Cargo.toml

[package]
name = "plus_moins"
version = "0.1.0"
edition = "2021"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
rand = "0.9.2"

/src/main.rs

use rand::Rng;
use std::io;

fn main() {
    println!("🎯 JEU DU PLUS OU MOINS 🎯");
    println!("Devinez le nombre entre 1 et 100 !");
    
    //let nombre_secret = rand::thread_rng().gen_range(1..=100);
    //let mut tentatives = 0;

    // Utilisez les nouvelles fonctions
    let nombre_secret = rand::rng().random_range(1..=100);
    let mut tentatives = 0;


    loop {
        println!("\nEntrez votre proposition :");
        
        let mut supposition = String::new();
        
        io::stdin()
            .read_line(&mut supposition)
            .expect("Échec de la lecture de la ligne");
        
        // Conversion en nombre
        let supposition: u32 = match supposition.trim().parse() {
            Ok(num) => num,
            Err(_) => {
                println!("❌ Veuillez entrer un nombre valide !");
                continue;
            }
        };
        
        tentatives += 1;
        
        // Comparaison
        match supposition.cmp(&nombre_secret) {
            std::cmp::Ordering::Less => println!("📈 PLUS ! ({} < ?)", supposition),
            std::cmp::Ordering::Greater => println!("📉 MOINS ! ({} > ?)", supposition),
            std::cmp::Ordering::Equal => {
                println!("🎉 BRAVO ! Vous avez trouvé en {} tentative(s) !", tentatives);
                println!("✨ Le nombre était bien {} !", nombre_secret);
                break;
            }
        }
        
        // Indice supplémentaire après quelques tentatives
        if tentatives == 5 {
            let parite = if nombre_secret % 2 == 0 { "pair" } else { "impair" };
            println!("💡 Indice : le nombre est {} !", parite);
        }
    }
    
    println!("\nMerci d'avoir joué ! 👋");
}
cargo build
cargo run