🚀 half of game complete

This commit is contained in:
mur4ik18
2022-02-16 00:52:33 +02:00
parent a97e36e4e3
commit 28afbb35aa

View File

@@ -1,9 +1,43 @@
use std::io;
use std::process;
use rand::{Rng, prelude::ThreadRng};
struct CardsPool {
first: u8,
second: u8,
third: u8
}
impl CardsPool {
fn new(rng: &mut ThreadRng)-> CardsPool{
CardsPool{
first: rng.gen_range(2..15),
second: rng.gen_range(2..15),
third: rng.gen_range(2..15)
}
}
}
fn main() {
// user start bank
let mut user_bank: u16 = 100;
let mut rng = rand::thread_rng();
loop {
println!("YOU NOW HAVE {} DOLLARS.", &mut user_bank);
println!("HERE ARE YOUR NEXT TWO CARDS:");
// get new random cards
let cards = CardsPool::new(&mut rng);
println!("{}", card_name(cards.first));
println!("{}", card_name(cards.second));
let mut user_bet: u16;
user_bet = get_bet(user_bank);
if user_bet == 0 {
println!("CHICKEN!!!");
continue;
}
println!("{}", card_name(cards.third));
}
}
fn hello() {
@@ -26,3 +60,26 @@ fn card_name(card: u8) -> String {
_ => card.to_string()
}
}
fn get_bet(user_bank: u16) -> u16 {
println!("WHAT IS YOUR BET? ENTER 0 IF YOU DON'T WANT TO BET (CTRL+C TO EXIT)");
let mut bet: u16;
let mut input = String::new();
io::stdin()
.read_line(&mut input)
.expect("Sorry your input incorrect");
bet = input.trim().parse::<u16>().unwrap();
match bet {
0 => bet,
bet if bet < user_bank => bet,
_ => {
println!("SORRY, MY FRIEND, BUT YOU BET TOO MUCH.");
println!("YOU HAVE ONLY {} DOLLARS TO BET.", user_bank);
get_bet(user_bank)
}
}
}