Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var width = getWidth ();
- var cx = width/2;
- var height = getHeight ();
- var cy = height/2;
- var RADIUS = 175;
- var SQUARES = 38;
- var ANGLE = 2 * Math.PI / SQUARES;
- var R = 0; //rotator
- var DELAY = 50;// millisec
- var STOP_SPIN = 2 * Randomizer.nextInt(19, 200); /* any even number > 0 (one complete rotation is 38 spins)*/
- var time = 0;
- var i;
- var k = (i-R) % 38;
- var pointer;
- var cover;
- var z; //win/lose
- var b; //black
- var g; //green
- var r; //red
- var txt;
- var betNumber;
- var betColor;
- function start(){
- returnCircle(1.03 * RADIUS, Color.black, cx, cy)
- pointer2 = new Line(cx, cy, cx, cy);
- add(pointer2);
- cover = returnCircle(RADIUS, Color.yellow, cx, cy)
- add (cover);
- squares ();
- pointer = new Line(cx, cy, cx, cy);
- add(pointer);
- makeBet ();
- setTimer(spin, DELAY);
- }
- function squares () {
- for(var j = 0; j < SQUARES; j++){
- var line = new Line(cx, cy , cx + RADIUS * Math.cos (j * ANGLE ), cy - RADIUS * Math.sin (j * ANGLE ));
- line.setColor(Color.black);
- add(line)
- }
- var reference = new Rectangle ( 10,10);
- reference.setPosition((cx + 1.03 * RADIUS + 2) , (cy -9));
- add (reference);
- }
- function numbers (){
- for( var i = 0; i < SQUARES; i++) {
- var result = new Text(0, "10pt Arial");
- var k = (i - R) % 38;
- if ( k % 2 == 0 && k < 36 && k > -1){
- var number = k /2 +1 ;
- result.setColor (Color.red);
- }else if (k % 2 > 0 && k < 36 && k > -1) {
- number = k /2 + 0.5;
- result.setColor (Color.black);
- }else if ( k % 2 == 0 && k < 0){
- number = k/2 +20;
- result.setColor (Color.red);
- }
- if ( k == -2) {
- number = 00;
- result.setColor (Color.green)
- result.setText ( "0"+number)
- }
- if ( k == -1){
- number = 0;
- result.setColor (Color.green)
- }
- if (i < 8) {
- var x = cx + RADIUS * .9 * Math.cos ((i +.5 ) *ANGLE );
- var y = cy - RADIUS * .9 * Math.sin ((i +.5) *ANGLE );
- }else if (i > 7 && i < 18) {
- x = cx + RADIUS * .95 * Math.cos ((i + .8) *ANGLE);
- y = cy - RADIUS * 0.93 * Math.sin ((i + .6) *ANGLE);
- }else if (i > 17 && i < 24) {
- x = cx + RADIUS * .98 * Math.cos ( (i ) * ANGLE);
- y = cy - RADIUS * 0.97 * Math.sin ((i +.5) * ANGLE);
- }else if (i > 23 && i < 38) {
- x = cx + RADIUS * .92 * Math.cos ( (i ) * ANGLE);
- y = cy - RADIUS * 0.97 * Math.sin ((i + .5) * ANGLE);
- }
- if (number > 0 && number < 10) {
- result.setText ( "0"+number);
- }else if (number > 9 && number < 19){
- result.setText (+number);
- }
- result.setPosition (x,y);
- if (STOP_SPIN == R) {
- add( result);
- }
- }
- }
- function spin (){
- R++
- numbers ();
- rotatePointer ();
- cover.move(.003 * RADIUS * Math.cos(time *2), .003 * RADIUS * Math.cos(time*2));
- returnCircle(0.87 * RADIUS, Randomizer.nextColor(), cx, cy)
- winLose ();
- if (R == STOP_SPIN) {
- stopTimer (spin,DELAY);
- }
- }
- function returnCircle(radius, color, x, y){
- var circle = new Circle(radius);
- circle.setColor(color);
- circle.setPosition(x, y);
- add (circle);
- return circle;
- }
- function rotatePointer() {
- time += 0.2;
- var dx =( .91 * RADIUS * Math.cos(time));
- var dy =( .91 * RADIUS * Math.sin(time));
- pointer.setEndpoint(cx + dx,cy + dy);
- var dx2 =(width/2 * Math.cos(time));
- var dy2 =(width/2 * Math.sin(time));
- pointer2.setEndpoint(cx + dx2,cy + dy2);
- }
- function returnText(label,color,x,y){
- var txt = new Text(label, "11pt Arial");
- txt.setPosition(x, y);
- txt.setColor(color);
- txt.setLabel(label);
- add (txt);
- return txt;
- }
- function makeBet (){
- betNumber = readInt ("What number do you bet, without color? For 00 enter 20. For NO NUMBER, enter 21 # ");
- betColor = readLine (" Enter b,g,or r for black, green, or red you bet. For bets on both red and black, leave blank. Color: ")
- if (betNumber ==19 || betNumber > 21) {
- var txt = new Text(+ betNumber + " not allowed", "15pt Arial");
- }else if ( betNumber > 0 && betNumber < 19 && betColor == "g") {
- var txt = new Text(+ betNumber + " green not allowed", "15pt Arial");
- }else if(betNumber ==20 ) {
- var txt = new Text("You bet 00" + betColor, "15pt Arial");
- }else if( betNumber == 21){
- var txt = new Text("You bet " + betColor, "15pt Arial");
- }else {
- var txt = new Text("You bet " + betNumber + betColor, "15pt Arial");
- }
- txt.setPosition(width/32, height/14);
- if (betColor == "b"){
- txt.setColor (Color.black);
- }else if (betColor == "g" && (betNumber == 0 || betNumber == 20)) {
- txt.setColor (Color.green);
- }else if (betColor == "r" ){
- txt.setColor (Color.red);
- }else {
- txt.setColor (Color.blue);
- }
- add (txt);
- returnText ("PROB: one number and color 1/38; red or black only 9/19; ", Color.blue, width/35, 0.94*height);
- returnText ("green 1/19; one number (1 to 18) and no color 1/19 ", Color.blue, width/35, 0.97*height);
- }
- function winLose () {
- var pointerLocation = ((time) % (2 * Math.PI));
- var L1 = 38-(( pointerLocation/(2*Math.PI)))*SQUARES;
- var L = Math.floor(L1);
- var z = (L-R) % 38;
- if ( z % 2 == 0 && z < 36 && z > -1){
- var winNumber = z /2 +1 ;
- var winC = 3;
- }else if (z % 2 > 0 && z < 36 && z > -1) {
- winNumber = z /2 + 0.5;
- winC = 1;
- }else if ( z < 0){
- winNumber = Math.floor(z/2) +20;
- if (z % 2 ==0) {
- winC = 3;
- }else {
- winC = 1;
- }
- }
- if ( z == -2) {
- winNumber = 00;
- winC = 2;
- }
- if ( z == -1){
- winNumber = 0;
- winC = 2;
- }
- if (STOP_SPIN == R) {
- if (winC == 1) {
- var txt = new Text("Winner is " + winNumber + " black ", "15pt Arial");
- }else if (winC == 3){
- var txt = new Text("Winner is " + winNumber + " red ", "15pt Arial");
- }else if ( z == -1) {
- var txt = new Text("Winner is 0 green ", "15pt Arial");
- }else {
- var txt = new Text("Winner is 00 green ", "15pt Arial");
- }
- txt.setPosition( width/2, height/14);
- if (winC == 1){
- txt.setColor (Color.black);
- }else if (winC == 2 && (winNumber == 0 || winNumber == 20)) {
- txt.setColor (Color.green);
- }else if (winC == 3 ){
- txt.setColor (Color.red);
- }
- add (txt);
- if ((winNumber == betNumber)||(betNumber ==21) && ((winC ==1 && betColor == b) || (winC == 2 && betColor == g) || (winC == 3 && betColor == r)|| ( winC == " "))){
- var txt1 = new Text("You Win !! ", "30pt Arial");
- }else {
- var txt1 = new Text("Too Bad !! ", "15pt Arial");
- }
- txt1.setPosition( 0.7 * cx,cy );
- add (txt1);
- println ("L1: " +L1);
- println ("L: " +L);
- println ("R: " +R);
- println ("z " +z);
- println ("betnumber " +betNumber);
- println ("winnumber " +winNumber);
- println ("betcolor " +betColor);
- println ("wincolor " +winC);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment