mirror of
https://github.com/coding-horror/basic-computer-games.git
synced 2025-12-29 06:05:36 -08:00
Init
intro / instructions getting bets
This commit is contained in:
10
75_Roulette/rust/Cargo.toml
Normal file
10
75_Roulette/rust/Cargo.toml
Normal file
@@ -0,0 +1,10 @@
|
||||
[package]
|
||||
name = "rust"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
|
||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||
|
||||
[dependencies]
|
||||
morristown = "0.1.2"
|
||||
rand = "0.8.5"
|
||||
55
75_Roulette/rust/src/main.rs
Normal file
55
75_Roulette/rust/src/main.rs
Normal file
@@ -0,0 +1,55 @@
|
||||
mod util;
|
||||
|
||||
use morristown::Instructions;
|
||||
use util::INSTRUCTIONS;
|
||||
|
||||
fn main() {
|
||||
morristown::print_intro("ROULETTE");
|
||||
|
||||
let date = morristown::prompt_multi(
|
||||
"ENTER CURRENT DATE (AS IN 'JANUARY 23, 1978)",
|
||||
",",
|
||||
Some((2, 2)),
|
||||
);
|
||||
|
||||
Instructions::new_multiline(
|
||||
true,
|
||||
false,
|
||||
"DO YOU WANT INSTRUCTIONS?",
|
||||
INSTRUCTIONS.to_vec(),
|
||||
)
|
||||
.print();
|
||||
|
||||
let mut house: usize = 100000;
|
||||
let mut player: usize = 1000;
|
||||
|
||||
loop {
|
||||
let bet_count = morristown::prompt_number_range::<u8>("HOW MANY BETS?", 1, std::u8::MAX);
|
||||
let mut bets = Vec::new();
|
||||
|
||||
for i in 1..=bet_count {
|
||||
loop {
|
||||
let msg = format!("NUMBER {}?", i);
|
||||
let bet_input =
|
||||
morristown::prompt_multi_number::<usize>(msg.as_str(), ",", Some((2, 2)));
|
||||
let (num, bet) = (bet_input[0], bet_input[1]);
|
||||
|
||||
if num <= 50 && bet < 500 && bet <= player && bet > 0 {
|
||||
bets.push(bet_input);
|
||||
} else if bets.contains(&bet_input) {
|
||||
println!("YOU MADE THAT BET ONCE ALREADY, DUM-DUM");
|
||||
} else {
|
||||
println!("INVALID BET. TRY AGAIN");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*SPIN AND CHECK RESULTS */
|
||||
|
||||
/*CHECK PLAYER AND HOUSE WALLETS */
|
||||
|
||||
/*ASK FOR PLAY AGAIN */
|
||||
|
||||
/*IF NOT PRINT THE CHECK */
|
||||
}
|
||||
}
|
||||
41
75_Roulette/rust/src/util.rs
Normal file
41
75_Roulette/rust/src/util.rs
Normal file
@@ -0,0 +1,41 @@
|
||||
pub const INSTRUCTIONS: [&str; 38] = [
|
||||
"\nTHIS IS THE BETTING LAYOUT",
|
||||
"\n(*=RED)\n",
|
||||
"1*\t2\t3*",
|
||||
"4\t5*\t6",
|
||||
"7*\t8\t9*",
|
||||
"10\t11\t12*",
|
||||
"---------------------",
|
||||
"13\t14*\t15",
|
||||
"16*\t17\t18*",
|
||||
"19*\t20\t21*",
|
||||
"22\t23*\t24",
|
||||
"---------------------",
|
||||
"25*\t26\t27*",
|
||||
"28\t29\t30*",
|
||||
"31\t32*\t33",
|
||||
"34*\t35\t36*",
|
||||
"---------------------",
|
||||
"\t\t00\t0\n",
|
||||
"TYPES OF BETS\n",
|
||||
"THE NUMBERS 1 TO 36 SIGNIFY A STRAIGHT BET",
|
||||
"ON THAT NUMBER",
|
||||
"THESE PAY OFF 35:1\n",
|
||||
"THE 2:1 BETS ARE:",
|
||||
"37) 1-12\t40) FIRST COLUMN",
|
||||
"38) 13-24\t41) SECOND COLUMN",
|
||||
"39) 25-36\t42) THIRD COLUMN\n",
|
||||
"THE EVEN MONEY BETS ARE:",
|
||||
"43) 1-18\t46) ODD",
|
||||
"44) 19-36\t47) RED",
|
||||
"45) EVEN\t48) BLACK\n",
|
||||
"\n49)0 AND 50)00 PAY OFF 35:1",
|
||||
"NOTE: 0 AND 00 DO NOT COUNT UNDER ANY",
|
||||
"\tBETS EXCEPT THEIR OWN\n",
|
||||
"WHEN I ASK FOR EACH BET,TYPE THE NUMBER",
|
||||
"AND THE AMOUNT,SEPARATED BY A COMMA",
|
||||
"FOR EXAMPLE:TO BET $500 ON BLACK,TYPE 48,500",
|
||||
"WHEN I ASK FOR A BET\n",
|
||||
"MINIMUM BET IS $5,MAXIMUM IS $500\n"
|
||||
];
|
||||
|
||||
Reference in New Issue
Block a user