Advertisement
n3rovik

какая-то ебучая хуйня с угадыванием чисел НА ЛУЧШЕМ ЯЗЫКЕ НА ПЛАНЕТЕ

Feb 14th, 2023 (edited)
1,721
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Rust 1.57 KB | Gaming | 0 0
  1. use std::io;
  2. use core::num;
  3. use std::io::Write;
  4. use std::process;
  5. use std::u8;
  6. use rand::prelude::*;
  7.  
  8. fn exit_program(msg: &str) -> u8 {
  9.     println!("{}", msg);
  10.     process::exit(0x0100);
  11. }
  12.  
  13. fn main() -> io::Result<()> {
  14.     print!("Введите число от 1 до 10: ");
  15.     io::stdout().flush().unwrap();
  16.  
  17.     let mut user_input = String::new();
  18.     let mut rng = rand::thread_rng();
  19.     let stdin = io::stdin();
  20.     stdin.read_line(&mut user_input)?;
  21.  
  22.     let guessed_num = user_input.trim().parse::<u8>();
  23.     let guessed_num = match guessed_num {
  24.         Ok(num) => num,
  25.         Err(err) => match err.kind() {
  26.             num::IntErrorKind::PosOverflow => exit_program("Вы ввели слишком большое число! 😡😡😡"),
  27.             num::IntErrorKind::Empty => exit_program("Вы не ввели число! 😡😡😡"),
  28.             num::IntErrorKind::InvalidDigit => exit_program("Вы ввели нечисловое значение! 😡😡😡"),
  29.             other => panic!("Произошла ошибка: {:?}", other),
  30.         },
  31.     };
  32.  
  33.     if guessed_num > 10 {
  34.         exit_program("Вы ввели слишком большое число! 😡😡😡");
  35.     }
  36.  
  37.     if guessed_num == 0 {
  38.         exit_program("Вы ввели cлишком маленькое число! 😡😡😡");
  39.     }
  40.  
  41.     if guessed_num == rng.gen_range(1..10) {
  42.         println!("Вы угадали число! 🥳🥳🥳");
  43.     } else {
  44.         println!("Вы не угадали число! 😭😭😭");
  45.     }
  46.  
  47.     Ok(())
  48. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement