Created
April 27, 2013 13:50
-
-
Save anonymous/5473197 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package Roulette; | |
import java.util.Arrays; | |
public class BinBuilder { | |
public Wheel wheel; | |
public NonRandom nrng; | |
public BinBuilder(){ | |
this.nrng = new NonRandom(); | |
this.wheel = new Wheel(nrng); | |
buildBins(wheel); | |
} | |
public Wheel getWheel() { | |
return wheel; | |
} | |
private void buildBins(Wheel wheel){ | |
straightBets(wheel); | |
splitBets(wheel); | |
streetBets(wheel); | |
cornerBets(wheel); | |
lineBets(wheel); | |
dozenBets(wheel); | |
columnBets(wheel); | |
evenMoneyBets(wheel); | |
} | |
void straightBets(Wheel wheel){ | |
for(int i = 1; i<37; i++){ | |
Outcome outcome = new Outcome(""+i, 35); | |
String u = ""+i; | |
wheel.addOutcome(i , outcome); | |
} | |
} | |
void splitBets(Wheel wheel){ | |
for(int r = 0; r<12; r++){ | |
int n = (3*r) +1; | |
Outcome outcome = new Outcome("'"+n+", "+n+1+"'", 17); | |
wheel.addOutcome(n , outcome); | |
wheel.addOutcome(n+1 , outcome); | |
n = (3*r) +2; | |
Outcome outcome2 = new Outcome("'"+n+", "+n+1+"'", 17); | |
wheel.addOutcome(n , outcome2); | |
wheel.addOutcome(n+1, outcome2); | |
} | |
for(int n = 1; n<34; n++){ | |
Outcome outcomen = new Outcome(n+", "+n+3, 17); | |
wheel.addOutcome(n , outcomen); | |
wheel.addOutcome(n+3 , outcomen); | |
} | |
} | |
void streetBets(Wheel wheel){ | |
for(int r = 0; r<12; r++){ | |
int n = (3*r) +1; | |
Outcome outcome = new Outcome(""+n, 11); | |
wheel.addOutcome(n , outcome); | |
wheel.addOutcome(n+1 , outcome); | |
wheel.addOutcome(n+2 , outcome); | |
} | |
} | |
void cornerBets(Wheel wheel){ | |
for(int r = 0; r<11; r++){ | |
int n = (3*r) +1; | |
Outcome outcome = new Outcome(n +", " +n +1+", " +n +3+", " +n +4, 8); | |
wheel.addOutcome(n , outcome); | |
wheel.addOutcome(n+1 , outcome); | |
wheel.addOutcome(n+3 , outcome); | |
wheel.addOutcome(n+4 , outcome); | |
int s = (3*r) +2; | |
Outcome outcome2 = new Outcome(s +", "+ s +1+", "+ s+3+", "+ s +4, 17); | |
wheel.addOutcome(n , outcome2); | |
wheel.addOutcome(n+1, outcome2); | |
wheel.addOutcome(n+3, outcome2); | |
wheel.addOutcome(n+4, outcome2); | |
} | |
} | |
void lineBets(Wheel wheel){ | |
for(int r = 0; r<10; r++){ | |
int n = (3*r) +1; | |
Outcome outcome = new Outcome(n+", "+ (n +1)+","+ (n +2)+", "+ (n +3)+", "+ (n +4)+", "+ (n +5), 5); | |
wheel.addOutcome(n , outcome); | |
wheel.addOutcome(n+1 , outcome); | |
wheel.addOutcome(n+2 , outcome); | |
wheel.addOutcome(n+3 , outcome); | |
wheel.addOutcome(n+4 , outcome); | |
wheel.addOutcome(n+5 , outcome); | |
} | |
} | |
void dozenBets(Wheel wheel){ | |
for(int d = 0; d<3; d++){ | |
Outcome outcome = new Outcome(""+(d+1), 2); | |
for(int m = 0; m<12; m++){ | |
wheel.addOutcome(12*d+m+1 , outcome); | |
} | |
} | |
} | |
void columnBets(Wheel wheel){ | |
for(int c = 0; c<3; c++){ | |
Outcome outcome = new Outcome(""+c+1,2); | |
for(int r = 0; r<12; r++){ | |
wheel.addOutcome((3*r)+c+1 , outcome); | |
} | |
} | |
} | |
void evenMoneyBets(Wheel wheel){ | |
for(int n = 0; n<37; n++){ | |
if(n>=1 && n<19){ | |
Outcome outcome_l = new Outcome("Low",1); | |
wheel.addOutcome(n , outcome_l); | |
} | |
else { | |
Outcome outcome_h = new Outcome("High",1); | |
wheel.addOutcome(n , outcome_h); | |
} | |
if(n%2==0){ | |
Outcome outcome_e = new Outcome("Even",1); | |
wheel.addOutcome(n , outcome_e); | |
} | |
else { | |
Outcome outcome_o = new Outcome("Odd",1); | |
wheel.addOutcome(n , outcome_o); | |
} | |
int[] Red = {1, 3, 5, 7, 9, 12, 14, 16, 18, 19, 21, 23, 25, 27, 30, 32, 34, 36}; | |
if (Arrays.binarySearch(Red, n) >= 0){ | |
Outcome outcome_r = new Outcome("Red",1); | |
wheel.addOutcome(n , outcome_r); | |
} | |
else { | |
Outcome outcome_b = new Outcome("Black",1); | |
wheel.addOutcome(n , outcome_b); | |
} | |
} | |
} | |
} | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment