Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public enum GameStatus{
- WIN ,
- LOSE
- }
- public boolean rouletteGame(int totalMoney){
- GameStatus status;
- int minBetAmt = 10;
- // red = 0, black = 1
- int winningAmt = 2 * totalMoney;
- int loseAmt = 0;
- int balanceMoney = totalMoney;
- Integer prevColor = null;
- int redCounter = 0;
- int blackCounter = 0;
- while(true){
- if(balanceMoney == winningAmt){
- status = GameStatus.WIN;
- break;
- }
- else if(balanceMoney == loseAmt){
- status = GameStatus.LOSE;
- break;
- }
- else{ // continue playing
- int curColor = randomSpin();
- if(prevColor == null){ // very first spin
- if(curColor == 0){
- redCounter++;
- }
- else{
- blackCounter++;
- }
- prevColor = curColor;
- }
- else{
- if(redCounter == 4){ // the gambler bets on black
- if(curColor == 1){ // winner
- balanceMoney += minBetAmt;
- }
- else{ // loser
- balanceMoney -= minBetAmt;
- }
- }
- else if(blackCounter == 4){ // the gambler bets on red
- if(curColor == 0){ // winner
- balanceMoney += minBetAmt;
- }
- else{ // loser
- balanceMoney -= minBetAmt;
- }
- }
- if(curColor == 0){ // cur color is red
- if(prevColor == curColor){ // cur color is red and prev color is also red
- redCounter++;
- }
- else{
- redCounter = 1;
- prevColor = curColor;
- }
- blackCounter = 0;
- }
- else{ // cur color is black
- if(prevColor == curColor){
- blackCounter++;
- }
- else {
- blackCounter = 1;
- prevColor = curColor;
- }
- redCounter = 0;
- }
- }
- }
- }
- if(status == GameStatus.WIN){
- return true;
- }
- else {
- return false;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement