mirror of
https://github.com/coding-horror/basic-computer-games.git
synced 2025-12-27 05:03:27 -08:00
🚀 half of game complete
This commit is contained in:
@@ -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)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user