mirror of
https://github.com/coding-horror/basic-computer-games.git
synced 2025-12-22 07:10:42 -08:00
Merge branch 'coding-horror:main' into main
This commit is contained in:
@@ -1,3 +1,7 @@
|
|||||||
Original source downloaded [from Vintage Basic](http://www.vintage-basic.net/games.html)
|
Original source downloaded [from Vintage Basic](http://www.vintage-basic.net/games.html)
|
||||||
|
|
||||||
Conversion to [Rust](https://www.rust-lang.org/) by Alex Kotov [mur4ik18@github](https://github.com/mur4ik18).
|
Conversion to [Rust](https://www.rust-lang.org/) by Alex Kotov [mur4ik18@github](https://github.com/mur4ik18).
|
||||||
|
|
||||||
|
Further edits by
|
||||||
|
|
||||||
|
- Berker Şal [berkersal@github](https://github.com/berkersal)
|
||||||
|
|||||||
@@ -54,7 +54,7 @@ fn main() {
|
|||||||
|
|
||||||
loop {
|
loop {
|
||||||
println!("YOU NOW HAVE {} DOLLARS.", &mut user_bank);
|
println!("YOU NOW HAVE {} DOLLARS.", &mut user_bank);
|
||||||
println!("HERE ARE YOUR NEXT TWO CARDS:");
|
println!("\nHERE ARE YOUR NEXT TWO CARDS:");
|
||||||
// get new random cards
|
// get new random cards
|
||||||
let cards = CardsPool::new();
|
let cards = CardsPool::new();
|
||||||
|
|
||||||
@@ -74,23 +74,25 @@ fn main() {
|
|||||||
println!("{}", cards.2);
|
println!("{}", cards.2);
|
||||||
|
|
||||||
if cards.is_in_win_range() {
|
if cards.is_in_win_range() {
|
||||||
println!("YOU WIN!!!\n");
|
println!("\nYOU WIN!!!");
|
||||||
user_bank += user_bet;
|
user_bank += user_bet;
|
||||||
} else {
|
} else {
|
||||||
println!("SORRY, YOU LOSE\n");
|
println!("\nSORRY, YOU LOSE");
|
||||||
user_bank -= user_bet;
|
user_bank -= user_bet;
|
||||||
}
|
}
|
||||||
|
|
||||||
if user_bank == 0 {
|
if user_bank == 0 {
|
||||||
println!("\nSORRY, FRIEND, BUT YOU BLEW YOUR WAD.\n");
|
println!("\nSORRY, FRIEND, BUT YOU BLEW YOUR WAD.");
|
||||||
println!("TRY AGAIN? (yes OR no)");
|
println!("\nTRY AGAIN? (YES OR NO)");
|
||||||
let mut input = String::new();
|
let mut input = String::new();
|
||||||
io::stdin().read_line(&mut input).expect("Incorrect input");
|
io::stdin().read_line(&mut input).expect("Incorrect input");
|
||||||
|
|
||||||
if "yes" == input {
|
if input.trim().to_lowercase() == "yes" {
|
||||||
user_bank = 100;
|
user_bank = 100;
|
||||||
|
println!();
|
||||||
} else {
|
} else {
|
||||||
println!("O.K., HOPE YOU HAD FUN!");
|
println!("\nO.K., HOPE YOU HAD FUN!");
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -99,33 +101,39 @@ fn main() {
|
|||||||
fn hello() {
|
fn hello() {
|
||||||
println!(" 🂡 ACEY DUCEY CARD GAME 🂱");
|
println!(" 🂡 ACEY DUCEY CARD GAME 🂱");
|
||||||
println!("CREATIVE COMPUTING - MORRISTOWN, NEW JERSEY");
|
println!("CREATIVE COMPUTING - MORRISTOWN, NEW JERSEY");
|
||||||
println!(" ACEY-DUCEY IS PLAYED IN THE FOLLOWING MANNER");
|
println!("ACEY-DUCEY IS PLAYED IN THE FOLLOWING MANNER");
|
||||||
println!("THE DEALER (COMPUTER) DEALS TWO CARDS FACE UP");
|
println!("THE DEALER (COMPUTER) DEALS TWO CARDS FACE UP");
|
||||||
println!("YOU HAVE AN OPTION TO BET OR NOT BET DEPENDING");
|
println!("YOU HAVE AN OPTION TO BET OR NOT BET DEPENDING");
|
||||||
println!("ON WHETHER OR NOT YOU FEEL THE CARD WILL HAVE");
|
println!("ON WHETHER OR NOT YOU FEEL THE CARD WILL HAVE");
|
||||||
println!("A VALUE BETWEEN THE FIRST TWO.");
|
println!("A VALUE BETWEEN THE FIRST TWO.");
|
||||||
println!("IF YOU DO NOT WANT TO BET IN A ROUND, ENTER 0");
|
println!("IF YOU DO NOT WANT TO BET IN A ROUND, ENTER 0");
|
||||||
println!("\n\n\n");
|
println!("\n\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
fn get_bet(user_bank: u16) -> u16 {
|
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)");
|
loop {
|
||||||
|
println!("\nWHAT IS YOUR BET? ENTER 0 IF YOU DON'T WANT TO BET (CTRL+C TO EXIT)");
|
||||||
let bet: u16;
|
let bet: u16;
|
||||||
let mut input = String::new();
|
let mut input = String::new();
|
||||||
|
|
||||||
io::stdin()
|
io::stdin()
|
||||||
.read_line(&mut input)
|
.read_line(&mut input)
|
||||||
.expect("Sorry your input incorrect");
|
.expect("CANNOT READ INPUT!");
|
||||||
|
|
||||||
// XXX: Unhandled input
|
match input.trim().parse::<u16>() {
|
||||||
bet = input.trim().parse::<u16>().unwrap();
|
Ok(i) => bet = i,
|
||||||
match bet {
|
Err(e) => {
|
||||||
0 => bet,
|
println!("CHECK YOUR INPUT! {}!", e.to_string().to_uppercase());
|
||||||
bet if bet < user_bank => bet,
|
continue;
|
||||||
_ => {
|
|
||||||
println!("SORRY, MY FRIEND, BUT YOU BET TOO MUCH.");
|
|
||||||
println!("YOU HAVE ONLY {} DOLLARS TO BET.", user_bank);
|
|
||||||
get_bet(user_bank)
|
|
||||||
}
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
match bet {
|
||||||
|
bet if bet <= user_bank => return bet,
|
||||||
|
_ => {
|
||||||
|
println!("\nSORRY, MY FRIEND, BUT YOU BET TOO MUCH.");
|
||||||
|
println!("YOU HAVE ONLY {} DOLLARS TO BET.", user_bank);
|
||||||
|
}
|
||||||
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user