static void doWork() { string headerText = "Press 'Space' to generate a spin or 'Escape' to exit\n"; Console.WriteLine(headerText); Random rand = new Random(); int randSelect = rand.Next(0, 37); RouletteWheel rwInst = new RouletteWheel(); RouletteElement selection = rwInst.rouletteWheel[randSelect]; ConsoleKeyInfo option = new ConsoleKeyInfo(); bool quit = false; while (!quit) { option = Console.ReadKey(); Console.Clear(); Console.WriteLine(headerText); switch (option.Key) { case ConsoleKey.Spacebar: selection = rwInst.rouletteWheel[randSelect]; randSelect = rand.Next(0, 38); rwInst.WinningBets(selection); break; case ConsoleKey.Escape: quit = true; Console.WriteLine("GoodBye"); break; } } }
static void Main(string[] args) { Console.WriteLine("Tip: Multiple values must be separated by a single space\n"); Bet myBet = new Bet(); RouletteWheel myRoulette = new RouletteWheel(); myRoulette.DropBall(myBet); }
static void Main(string[] args) { RouletteWheel rouletteWheel = new RouletteWheel(); rouletteWheel.PrintBetTable(); (string number, string color)ball = rouletteWheel.SpinWheel(); Console.WriteLine($"Ball Landed on\t: {ball}"); Console.WriteLine($"Winning bets!"); DisplatResults(ball); }
static void Main(string[] args) { RouletteWheel roulette = new RouletteWheel(new Random(2)); for (int i = 0; i < 20; i++) { int slot = roulette.RandomSlot(); Color color = RouletteWheel.SlotColor(slot); string text = RouletteWheel.SlotText(slot); Console.WriteLine("{0} {1}", text, color); } }
public static RouletteWheel[] ConstructWheel() { RouletteWheel[] gameWheel = new RouletteWheel[38]; gameWheel[0] = new RouletteWheel(0, "green"); gameWheel[1] = new RouletteWheel(1, "red"); gameWheel[2] = new RouletteWheel(2, "black"); gameWheel[3] = new RouletteWheel(3, "red"); gameWheel[4] = new RouletteWheel(4, "black"); gameWheel[5] = new RouletteWheel(5, "red"); gameWheel[6] = new RouletteWheel(6, "black"); gameWheel[7] = new RouletteWheel(7, "red"); gameWheel[8] = new RouletteWheel(8, "black"); gameWheel[9] = new RouletteWheel(9, "red"); gameWheel[10] = new RouletteWheel(10, "black"); gameWheel[11] = new RouletteWheel(11, "black"); gameWheel[12] = new RouletteWheel(12, "red"); gameWheel[13] = new RouletteWheel(13, "black"); gameWheel[14] = new RouletteWheel(14, "red"); gameWheel[15] = new RouletteWheel(15, "black"); gameWheel[16] = new RouletteWheel(16, "red"); gameWheel[17] = new RouletteWheel(17, "black"); gameWheel[18] = new RouletteWheel(18, "red"); gameWheel[19] = new RouletteWheel(19, "red"); gameWheel[20] = new RouletteWheel(20, "black"); gameWheel[21] = new RouletteWheel(21, "red"); gameWheel[22] = new RouletteWheel(22, "black"); gameWheel[23] = new RouletteWheel(23, "red"); gameWheel[24] = new RouletteWheel(24, "black"); gameWheel[25] = new RouletteWheel(25, "red"); gameWheel[26] = new RouletteWheel(26, "black"); gameWheel[27] = new RouletteWheel(27, "red"); gameWheel[28] = new RouletteWheel(28, "black"); gameWheel[29] = new RouletteWheel(29, "black"); gameWheel[30] = new RouletteWheel(30, "red"); gameWheel[31] = new RouletteWheel(31, "black"); gameWheel[32] = new RouletteWheel(32, "red"); gameWheel[33] = new RouletteWheel(33, "black"); gameWheel[34] = new RouletteWheel(34, "red"); gameWheel[35] = new RouletteWheel(35, "black"); gameWheel[36] = new RouletteWheel(36, "red"); gameWheel[37] = new RouletteWheel(00, "green"); return(gameWheel); }
static void Main(string[] args) { RouletteWheel rw = new RouletteWheel(); List <IBet> bets = new List <IBet>(); int val = 0; while (val != -1) { Console.WriteLine("Please select a menu option below or -1 to exit: "); Console.WriteLine(" 0) Roll Wheel"); Console.WriteLine(" 1) Number Bet"); Console.WriteLine(" 2) Even or Odd Bet"); Console.WriteLine(" 3) Color Bet"); Console.WriteLine(" 4) Lows & Highs Bet"); Console.WriteLine(" 5) Dozens Bet"); Console.WriteLine(" 6) Columns Bet"); Console.WriteLine(" 7) Street Bet"); Console.WriteLine(" 8) 6 Numbers Bet"); Console.WriteLine(" 9) Split Bet"); Console.WriteLine("10) Corner Bet"); val = int.Parse(Console.ReadLine()); switch (val) { case -1: break; case 0: Number winningNumber = rw.RollWheel(); Console.WriteLine("The ball landed on: " + winningNumber); foreach (IBet bet in bets) { if (bet.DidWin(winningNumber) == true) { Console.WriteLine("Winner! " + bet); } } bets.Clear(); break; case 1: Console.WriteLine("Please enter the value to bet that number:"); bets.Add(new NumberBet(Console.ReadLine())); break; case 2: Console.WriteLine("Please type odd or even to place your bet:"); bets.Add(new OddOrEvenBet(Console.ReadLine())); break; case 3: Console.WriteLine("Please enter the color to place the bet:"); bets.Add(new ColorBet(Console.ReadLine().ToLower())); break; case 4: Console.WriteLine("Please pick type low or high to place the bet:"); bets.Add(new LowsHighBet(Console.ReadLine().ToLower())); break; case 5: Console.WriteLine("Please pick the row: (1 = (1-12), 2 = (13-24), 3 = (25-36))"); string methodFeeder = Console.ReadLine(); int input = int.Parse(methodFeeder); if (input > 3) { Console.WriteLine("Please enter an appropriate choice"); methodFeeder = Console.ReadLine(); } bets.Add(new DozensBet(methodFeeder)); break; case 6: Console.WriteLine("Please pick the column from the left to right"); bets.Add(new ColumnBet(Console.ReadLine())); break; case 7: Console.WriteLine("Please pick the street by spelling out the nth street row"); bets.Add(new StreetBet(Console.ReadLine())); break; case 8: Console.WriteLine("Please pick the 6 numbers bet by providing the starting number value"); bets.Add(new DoubleRowsBet(Console.ReadLine())); break; case 9: Console.WriteLine("Please pick the lowest number of the split"); bets.Add(new SplitBet(Console.ReadLine())); break; case 10: Console.WriteLine("Please enter the numbers of the corner bet separated by commas and no spaces"); bets.Add(new CornerBet(Console.ReadLine())); break; } } }
public PlayGame() { WriteText.StartGameText(); QuitGame(!Menu.YesOrNo(Console.ReadLine())); Console.Clear(); RouletteWheel[] gameWheel = RouletteWheel.ConstructWheel(); RouletteWheel binResult; ConsoleSpinner spinner = new ConsoleSpinner(); spinner.Delay = 300; Stopwatch s = new Stopwatch(); int time = 7; int userBetSelection; int intChoice; string stringChoice; int moneyBet; bool userDecision = true; WriteText.EnterAmountOfMoney(); Player user = new Player(Validation.InRangeCashAmount(UserInput.GetNumber())); Console.Clear(); // Loop will keep running as long as the user keeps sayin yes to new bets while (userDecision) { // I will be getting the spin result from the start in order for my bet methods to work properly // When the wheel spins in code, it doesn't matter to the user // I'll display wheel spinning after bets are placed // to make the user think the wheel spun after bets are placed binResult = RouletteWheel.SpinWheel(gameWheel); List <int> ListOfBetResults = new List <int>(); // once user tpyes no at the end of the loop it will then exit the loop while (userDecision) { Console.Clear(); GameBoard.DrawBoard(); WriteText.TypesOfBetsText(); WriteText.GetBetChoice(); userBetSelection = UserInput.GetNumber(); // Once a user picks a number the switch will pick the correct bet // Each case will draw a board and output how to bet // The bet is placed, then determines if its a win or lose then adds the money to a list to be added later switch (userBetSelection) { case 1: Console.Clear(); GameBoard.DrawBoard(); WriteText.NumbersChoice(); WriteText.EnterChoice(); intChoice = Validation.NumbersChoiceValidation(UserInput.GetNumber()); WriteText.EnterBetAmount(); moneyBet = Validation.InRangeCashAmount(UserInput.GetNumber()); ListOfBetResults.Add(user.PlaceMoneyBet(moneyBet, Bet.Number(intChoice, binResult.BinNumber))); break; case 2: Console.Clear(); GameBoard.DrawBoard(); WriteText.EvensOddsChoice(); WriteText.EnterChoice(); stringChoice = Validation.EvenOddValidation(UserInput.GetString()); WriteText.EnterBetAmount(); moneyBet = Validation.InRangeCashAmount(UserInput.GetNumber()); ListOfBetResults.Add(user.PlaceMoneyBet(moneyBet, Bet.EvensOdds(stringChoice, binResult.BinNumber))); break; case 3: Console.Clear(); GameBoard.DrawBoard(); WriteText.RedsBlacksChoice(); WriteText.EnterChoice(); stringChoice = Validation.RedBlackValidation(UserInput.GetString()); WriteText.EnterBetAmount(); moneyBet = Validation.InRangeCashAmount(UserInput.GetNumber()); ListOfBetResults.Add(user.PlaceMoneyBet(moneyBet, Bet.RedsBlacks(stringChoice, binResult.BinColor))); break; case 4: Console.Clear(); GameBoard.DrawBoard(); WriteText.LowsHighsChoice(); WriteText.EnterChoice(); stringChoice = Validation.LowHighValidation(UserInput.GetString()); WriteText.EnterBetAmount(); moneyBet = Validation.InRangeCashAmount(UserInput.GetNumber()); ListOfBetResults.Add(user.PlaceMoneyBet(moneyBet, Bet.LowsHighs(stringChoice, binResult.BinNumber))); break; case 5: Console.Clear(); GameBoard.DrawBoard(); WriteText.DozensChoice(); WriteText.EnterChoice(); stringChoice = Validation.DozensValidation(UserInput.GetString()); WriteText.EnterBetAmount(); moneyBet = Validation.InRangeCashAmount(UserInput.GetNumber()); ListOfBetResults.Add(user.PlaceMoneyBet(moneyBet, Bet.Dozens(stringChoice, binResult.BinNumber))); break; case 6: Console.Clear(); GameBoard.DrawBoard(); WriteText.ColumnsChoice(); WriteText.EnterChoice(); stringChoice = Validation.DozensValidation(UserInput.GetString()); WriteText.EnterBetAmount(); moneyBet = Validation.InRangeCashAmount(UserInput.GetNumber()); ListOfBetResults.Add(user.PlaceMoneyBet(moneyBet, Bet.Columns(stringChoice, binResult.BinNumber))); break; case 7: Console.Clear(); GameBoard.DrawBoard(); WriteText.StreetChoice(); WriteText.EnterChoice(); intChoice = Validation.StreetValidation(UserInput.GetNumber()); WriteText.EnterBetAmount(); moneyBet = Validation.InRangeCashAmount(UserInput.GetNumber()); ListOfBetResults.Add(user.PlaceMoneyBet(moneyBet, Bet.Street(intChoice, binResult.BinNumber))); break; case 8: Console.Clear(); GameBoard.DrawBoard(); WriteText.SixNumbersChoice(); WriteText.EnterChoice(); intChoice = UserInput.GetNumber(); WriteText.EnterBetAmount(); moneyBet = Validation.InRangeCashAmount(UserInput.GetNumber()); ListOfBetResults.Add(user.PlaceMoneyBet(moneyBet, Bet.SixNumbers(intChoice, binResult.BinNumber))); break; case 9: Console.Clear(); GameBoard.DrawBoard(); WriteText.SplitChoice(); WriteText.EnterChoice(); intChoice = UserInput.GetNumber(); WriteText.EnterBetAmount(); moneyBet = Validation.InRangeCashAmount(UserInput.GetNumber()); ListOfBetResults.Add(user.PlaceMoneyBet(moneyBet, Bet.Split(intChoice, binResult.BinNumber))); break; case 10: Console.Clear(); GameBoard.DrawBoard(); WriteText.Corners(); WriteText.EnterChoice(); intChoice = UserInput.GetNumber(); WriteText.EnterBetAmount(); moneyBet = Validation.InRangeCashAmount(UserInput.GetNumber()); ListOfBetResults.Add(user.PlaceMoneyBet(moneyBet, Bet.Corner(intChoice, binResult.BinNumber))); break; } Console.Clear(); WriteText.AskIfMoreBets(); userDecision = Menu.YesOrNo(UserInput.GetString()); Console.Clear(); s.Start(); Console.Write("Wheel Spinning"); while (s.Elapsed <= TimeSpan.FromSeconds(time)) { spinner.Turn(displayMsg: "Wheel spinning ", sequenceCode: 4); } s.Stop(); } Console.Clear(); int addWinningLosses = 0; // This loop will add up all the winning and losing bets foreach (var betMoney in ListOfBetResults) { addWinningLosses += betMoney; } if (addWinningLosses > 0) { WriteText.WonBet(); Console.WriteLine(addWinningLosses); } if (addWinningLosses < 0) { WriteText.LostBet(); Console.WriteLine(addWinningLosses); } if (addWinningLosses.Equals(0)) { WriteText.BrokeEven(); Console.WriteLine(addWinningLosses); } WriteText.NewCashAmount(); Console.WriteLine(user.AfterBetCashAmount(addWinningLosses)); addWinningLosses = 0; WriteText.KeepPlaying(); userDecision = Menu.YesOrNo(UserInput.GetString()); } }
//The PlayRoulette method is the meat and potatoes of the Roulette application, if you will. //Here we instantiate the RouletteWheel class, generate the random coordinates that represent //The result of the spin, and we take the players bet and pass it off to the result checking methods public static void PlayRoulette(int chips, int playerSelection, int playerBet) { RouletteWheel cadesWheel = new RouletteWheel(); string zeroResult = ""; int[] coordinates = cadesWheel.GetCoords(); int xCoord = coordinates[0]; int spinResult = cadesWheel.SpinWheel(coordinates); if (spinResult == 0) { zeroResult = cadesWheel.CheckZero(spinResult, coordinates); } else { zeroResult = null; } string color = cadesWheel.CheckColor(xCoord, spinResult); bool win; //Console.WriteLine(format + $"The winning number is {spinResult}"); //**Used for testing purposes! If uncommented you can see the result of //the spin before you place a bet! ** switch (playerSelection) { case 1: win = WinLose.NumberResult(zeroResult, spinResult); if (win == true) { chips = CalculatePayouts.Win(chips, playerBet, 35); } else { chips = CalculatePayouts.Lose(chips, playerBet); } break; case 2: win = WinLose.EvenOddResult(spinResult); if (win == true) { chips = CalculatePayouts.Win(chips, playerBet, 1); } else { chips = CalculatePayouts.Lose(chips, playerBet); } break; case 3: win = WinLose.ColorResult(color, spinResult); if (win == true) { chips = CalculatePayouts.Win(chips, playerBet, 1); } else { chips = CalculatePayouts.Lose(chips, playerBet); } break; case 4: win = WinLose.LowHighResult(spinResult); if (win == true) { chips = CalculatePayouts.Win(chips, playerBet, 1); } else { chips = CalculatePayouts.Lose(chips, playerBet); } break; case 5: win = WinLose.DozensResult(spinResult); if (win == true) { chips = CalculatePayouts.Win(chips, playerBet, 2); } else { chips = CalculatePayouts.Lose(chips, playerBet); } break; case 6: win = WinLose.ColumnResult(spinResult); if (win == true) { chips = CalculatePayouts.Win(chips, playerBet, 2); } else { chips = CalculatePayouts.Lose(chips, playerBet); } break; case 7: win = WinLose.SixesResult(spinResult); if (win == true) { chips = CalculatePayouts.Win(chips, playerBet, 5); } else { chips = CalculatePayouts.Lose(chips, playerBet); } break; case 8: win = WinLose.CornersResult(spinResult); if (win == true) { chips = CalculatePayouts.Win(chips, playerBet, 8); } else { chips = CalculatePayouts.Lose(chips, playerBet); } break; case 9: win = WinLose.StreetResult(spinResult); if (win == true) { chips = CalculatePayouts.Win(chips, playerBet, 11); } else { chips = CalculatePayouts.Lose(chips, playerBet); } break; case 10: win = WinLose.SplitResult(spinResult); if (win == true) { chips = CalculatePayouts.Win(chips, playerBet, 17); } else { chips = CalculatePayouts.Lose(chips, playerBet); } break; } //At the end of the PlayRoulette I pass control off to the SpinAgain method, which gives the user a choice to either //Place another bet and spin the wheel again, or to gracefully exit the program SpinAgain(chips); }
public static void playRoulette() { Console.WriteLine("Welcome to Roulette. Please place your bet."); Console.WriteLine("Please choose an option:\n"); Console.WriteLine("1:Spin the wheel\n2:Bet a number\n3:Bet Red or Black\n4:Bet Evens/Odds\n5:Bet Lows/Highs\n6:Bet Dozens\n7:Bet Columns\n8:Bet Streets\n9:Bet Double Rows (6 numbers)\n10:Bet Split\n11:Bet Corners\n12: Quit Playing"); int playerChoice = 0; while (playerChoice < 1 || playerChoice > 12) { try { playerChoice = int.Parse(Console.ReadLine()); switch (playerChoice) { case 1: //<== Is equivalent to using if playerchoice == 1 do this. RouletteWheel rw = new RouletteWheel(); Console.WriteLine(); playRoulette(); break; case 2: NumberBet nb = new NumberBet(); Console.WriteLine(); playRoulette(); break; case 3: RedOrBlackBet rb = new RedOrBlackBet(); Console.WriteLine(); playRoulette(); break; case 4: EvenOrOddBet eob = new EvenOrOddBet(); Console.WriteLine(); playRoulette(); break; case 5: LowOrHighBet lhb = new LowOrHighBet(); Console.WriteLine(); playRoulette(); break; case 6: DozensBet db = new DozensBet(); Console.WriteLine(); playRoulette(); break; case 7: ColumnBet cb = new ColumnBet(); Console.WriteLine(); playRoulette(); break; case 8: StreetBet sb = new StreetBet(); Console.WriteLine(); playRoulette(); break; case 9: DoubleStreet ds = new DoubleStreet(); Console.WriteLine(); playRoulette(); break; case 10: SplitBet splb = new SplitBet(); Console.WriteLine(); playRoulette(); break; case 11: CornerBet cnrb = new CornerBet(); Console.WriteLine(); playRoulette(); break; case 12: break; } if (playerChoice < 1 || playerChoice > 12) { Console.WriteLine("Please enter a valid number between 1 and 12."); } } catch (FormatException) { Console.WriteLine("Please enter a valid number between 1 and 12."); } } }