Guest User

Untitled

a guest
Dec 12th, 2012
1,873
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var width = getWidth ();
  2. var cx = width/2;
  3. var height = getHeight ();
  4. var cy = height/2;
  5.  
  6. var RADIUS = 175;
  7. var SQUARES = 38;
  8. var ANGLE = 2 * Math.PI / SQUARES;
  9. var R = 0; //rotator
  10.  
  11. var DELAY = 50;// millisec
  12. var STOP_SPIN = 2 * Randomizer.nextInt(19, 200); /* any even number > 0 (one complete rotation is 38 spins)*/
  13. var time = 0;
  14. var i;
  15. var k = (i-R) % 38;
  16. var pointer;
  17. var cover;
  18. var z; //win/lose
  19. var b; //black
  20. var g; //green
  21. var r; //red
  22. var txt;
  23.  
  24. var betNumber;
  25. var betColor;
  26.  
  27. function start(){
  28.    
  29.     returnCircle(1.03 * RADIUS, Color.black, cx, cy)
  30.  
  31.     pointer2 = new Line(cx, cy, cx, cy);
  32.     add(pointer2);
  33.    
  34.     cover = returnCircle(RADIUS, Color.yellow, cx, cy)
  35.     add (cover);
  36.    
  37.     squares ();
  38.    
  39.     pointer = new Line(cx, cy, cx, cy);
  40.     add(pointer);
  41.    
  42.     makeBet ();
  43.    
  44.     setTimer(spin, DELAY);
  45. }
  46.  
  47. function squares () {      
  48.    
  49.     for(var j = 0; j < SQUARES; j++){
  50.    
  51.         var line  = new Line(cx, cy , cx + RADIUS * Math.cos (j * ANGLE  ), cy - RADIUS * Math.sin (j * ANGLE ));
  52.         line.setColor(Color.black);
  53.         add(line)
  54.     }
  55.    
  56.     var reference = new Rectangle ( 10,10);
  57.     reference.setPosition((cx + 1.03 * RADIUS + 2) , (cy -9));
  58.     add (reference);
  59. }  
  60.    
  61. function numbers (){
  62.     for( var i = 0; i < SQUARES; i++) {
  63.        
  64.         var result = new Text(0, "10pt Arial");
  65.         var k = (i - R) % 38;
  66.         if ( k % 2 == 0 && k < 36 && k > -1){
  67.             var number = k /2 +1 ;
  68.             result.setColor (Color.red);
  69.         }else if (k % 2 > 0 && k < 36 && k > -1) {
  70.             number = k /2 + 0.5;
  71.             result.setColor (Color.black);
  72.         }else if ( k % 2 == 0 && k < 0){
  73.             number = k/2 +20;
  74.             result.setColor (Color.red);
  75.         }
  76.         if ( k == -2) {
  77.             number = 00;
  78.             result.setColor (Color.green)
  79.             result.setText ( "0"+number)
  80.         }      
  81.          if ( k == -1){
  82.             number = 0;
  83.             result.setColor (Color.green)
  84.         }  
  85.         if (i < 8) {
  86.                 var x = cx + RADIUS * .9  * Math.cos ((i  +.5 ) *ANGLE );
  87.                 var y = cy  - RADIUS * .9  * Math.sin ((i  +.5)  *ANGLE );
  88.        
  89.         }else if (i > 7 && i < 18) {
  90.                 x = cx + RADIUS * .95 * Math.cos ((i + .8)  *ANGLE);
  91.                 y = cy  - RADIUS * 0.93 * Math.sin ((i + .6)  *ANGLE); 
  92.         }else if (i > 17 && i < 24) {
  93.                 x = cx + RADIUS * .98 * Math.cos ( (i  ) * ANGLE);
  94.                 y = cy  - RADIUS * 0.97 * Math.sin ((i  +.5) * ANGLE); 
  95.         }else if (i > 23 && i < 38) {
  96.                 x = cx + RADIUS * .92 * Math.cos ( (i  ) * ANGLE);
  97.                 y = cy  - RADIUS * 0.97 * Math.sin ((i  + .5) * ANGLE);
  98.         }
  99.    
  100.         if (number > 0 && number < 10) {
  101.             result.setText ( "0"+number);
  102.         }else if (number > 9 && number < 19){
  103.             result.setText (+number);  
  104.         }
  105.        
  106.         result.setPosition (x,y);
  107.        
  108.         if (STOP_SPIN == R) {
  109.             add( result);
  110.         }
  111.     }
  112. }
  113.  
  114. function spin (){
  115.     R++
  116.     numbers ();
  117.     rotatePointer ();
  118.    
  119.     cover.move(.003 * RADIUS * Math.cos(time *2), .003 * RADIUS * Math.cos(time*2));
  120.    
  121.     returnCircle(0.87 * RADIUS, Randomizer.nextColor(), cx, cy)
  122.     winLose ();
  123.    
  124.     if (R == STOP_SPIN) {
  125.         stopTimer (spin,DELAY);
  126.     }  
  127. }
  128. function returnCircle(radius, color, x, y){
  129.     var circle = new Circle(radius);
  130.     circle.setColor(color);
  131.     circle.setPosition(x, y);
  132.     add (circle);
  133.     return circle;
  134. }
  135. function rotatePointer() {
  136.     time += 0.2;
  137.    
  138.     var dx =( .91 * RADIUS * Math.cos(time));
  139.     var dy =( .91 * RADIUS * Math.sin(time));
  140.     pointer.setEndpoint(cx + dx,cy + dy);
  141.    
  142.     var dx2 =(width/2 * Math.cos(time));
  143.     var dy2 =(width/2 * Math.sin(time));
  144.     pointer2.setEndpoint(cx + dx2,cy + dy2);
  145. }
  146. function returnText(label,color,x,y){
  147.    
  148.     var txt = new Text(label, "11pt Arial");
  149.     txt.setPosition(x, y);
  150.     txt.setColor(color);
  151.     txt.setLabel(label);
  152.     add (txt);
  153.     return txt;
  154. }
  155. function makeBet (){
  156.     betNumber = readInt ("What number do you bet, without color?  For 00 enter 20. For NO NUMBER, enter 21 # ");
  157.     betColor = readLine (" Enter b,g,or r for black, green, or red you bet. For bets on both red and black, leave blank.  Color:  ")
  158.    
  159.     if (betNumber ==19 || betNumber > 21)  {
  160.         var txt = new Text(+ betNumber + " not allowed", "15pt Arial");
  161.     }else if ( betNumber > 0  && betNumber < 19 && betColor == "g") {
  162.         var txt = new Text(+ betNumber + " green not allowed", "15pt Arial");
  163.     }else if(betNumber ==20 ) {
  164.         var txt = new Text("You bet 00" + betColor, "15pt Arial");
  165.     }else  if( betNumber == 21){
  166.         var txt = new Text("You bet " + betColor, "15pt Arial");
  167.     }else {
  168.         var txt = new Text("You bet " + betNumber  + betColor, "15pt Arial");
  169.     }
  170.    
  171.     txt.setPosition(width/32, height/14);
  172.     if (betColor == "b"){
  173.         txt.setColor (Color.black);
  174.     }else if (betColor == "g" && (betNumber == 0 || betNumber == 20)) {
  175.         txt.setColor (Color.green);
  176.     }else if (betColor == "r" ){
  177.         txt.setColor (Color.red);  
  178.     }else {
  179.         txt.setColor (Color.blue);
  180.     }
  181.     add (txt);
  182.    
  183.     returnText ("PROB: one number and color 1/38; red or black only 9/19; ", Color.blue, width/35, 0.94*height);
  184.    
  185.     returnText ("green 1/19; one number (1 to 18) and no color 1/19 ", Color.blue, width/35, 0.97*height);
  186. }
  187. function winLose () {
  188.     var pointerLocation = ((time) % (2 * Math.PI));
  189.     var L1 = 38-(( pointerLocation/(2*Math.PI)))*SQUARES;
  190.     var L = Math.floor(L1);
  191.     var z = (L-R) % 38;
  192.     if ( z % 2 == 0 && z < 36 && z > -1){
  193.             var winNumber = z /2 +1 ;
  194.             var winC = 3;
  195.     }else if (z % 2 > 0 && z < 36 && z > -1) {
  196.             winNumber = z /2 + 0.5;
  197.              winC = 1;
  198.     }else if ( z < 0){
  199.             winNumber = Math.floor(z/2) +20;
  200.             if (z % 2  ==0) {
  201.                 winC = 3;
  202.             }else {
  203.                 winC = 1;
  204.             }
  205.         }  
  206.     if ( z == -2) {
  207.         winNumber = 00;
  208.         winC = 2;
  209.         }      
  210.     if ( z == -1){
  211.         winNumber = 0;
  212.         winC = 2;
  213.         }
  214.    
  215.         if (STOP_SPIN == R) {
  216.             if (winC == 1) {
  217.                 var txt = new Text("Winner is " + winNumber  + " black ", "15pt Arial");
  218.             }else if (winC == 3){
  219.                 var txt = new Text("Winner is " + winNumber  + " red ", "15pt Arial");
  220.             }else if ( z  == -1) {
  221.                 var txt = new Text("Winner is 0 green ", "15pt Arial");
  222.             }else {
  223.                 var txt = new Text("Winner is 00  green ", "15pt Arial");
  224.             }
  225.             txt.setPosition( width/2, height/14);
  226.            
  227.             if (winC == 1){
  228.                 txt.setColor (Color.black);
  229.             }else if (winC == 2 && (winNumber == 0 || winNumber == 20)) {
  230.                 txt.setColor (Color.green);
  231.             }else if (winC == 3 ){
  232.                 txt.setColor (Color.red);
  233.         }
  234.             add (txt);
  235.            
  236.             if ((winNumber == betNumber)||(betNumber ==21) && ((winC ==1 && betColor == b) || (winC == 2 && betColor == g) || (winC == 3 && betColor == r)|| ( winC == " "))){
  237.                 var txt1 = new Text("You Win !! ", "30pt Arial");
  238.             }else {
  239.                 var txt1 = new Text("Too Bad !! ", "15pt Arial");
  240.             }
  241.             txt1.setPosition( 0.7 * cx,cy );
  242.             add (txt1);
  243.            
  244.             println ("L1: " +L1);
  245.             println ("L: " +L);
  246.             println ("R: " +R);
  247.             println ("z " +z);
  248.             println ("betnumber " +betNumber);
  249.             println ("winnumber " +winNumber);
  250.             println ("betcolor " +betColor);
  251.             println ("wincolor " +winC);
  252.         }
  253. }
Advertisement
Add Comment
Please, Sign In to add comment