Skip to content

Instantly share code, notes, and snippets.

Created April 27, 2013 13:50
Show Gist options
  • Save anonymous/5473197 to your computer and use it in GitHub Desktop.
Save anonymous/5473197 to your computer and use it in GitHub Desktop.
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