Comunidad de diseño web y desarrollo en internet online

Tragamonedas

Citar            
MensajeEscrito el 13 Jul 2012 07:40 pm
Hola:

Estoy haciendo un tragamonedas, pero tengo la siguiente limitante:

1. Deben haber 50 jugadas, un contador. Encontré un contador de créditos, pero cada vez que se gana suma nuevos créditos.
2. De esas 50 jugadas, deben salir sorteados 11 premios, repartidos así:
6 premios menores
3 premios medianos
2 premios mayores

Por macocoba

2 de clabLevel



 

firefox
Citar            
MensajeEscrito el 13 Jul 2012 10:44 pm
¿... y la pregunta es ...?

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 17 Jul 2012 09:18 pm
Mil disculpas, se fue antes y no pude seguir. la idea es que de 50 jugadas, 11 tengan premios, como dije divididos por categoría. Encontré un código que adapté y que permite hacer el random, y ya están identificadas las combinaciones ganadoras, ahora lo que falta es que si bien sea random, pueda asignarse esta cantidad de premios

Esto es lo que llevo, si alguien me ayuda con el tema de forzar los premios y que sigan siendo random sus apariciones sería notable.

Saludos


Código ActionScript :


import flash.display.BitmapData;
Stage.scaleMode = "noscale";
#include "mc_tween2.as"

var demo = true;

oddsvar = 0;
txtcredits.text = 50;

var l = 215;
var t = 200;
var w = 420;
var h = 360;
var gap = 200;
var speed = 3;
var weight = 140;
var imgheight = 120;
var animation = "easeinoutSine";

var xml:XML = new XML();
xml.ignoreWhite  = true;
xml.load("settings.xml");

xml.onLoad = function()
{
   oddsvar = this.firstChild.childNodes[0].attributes.Odds;
   if(!demo) txtodds.text = this.firstChild.childNodes[0].attributes.Odds;
   txtcredits.text = this.firstChild.childNodes[0].attributes.StartCredits;
}

var flag = 0;
var flag2= 0;
var orig = new Array();
var arr  = new Array();

function Spin()
{
   if (txtcredits.text > 0)
   {
      if(demo) oddsvar = int(txtodds.text);
      oss = Math.floor(Math.random()*9)+1;
      var depth= 0;
      var xpos = l;
      var num = 1;
      for (j=1; j<4; j++) {
         createEmptyMovieClip('slot_mc_L'+j, depth++);
         _root["slot_mc_L"+j].attachBitmap(img, depth++, "auto", true);
         _root["slot_mc_L"+j]._x = xpos;
         _root["slot_mc_L"+j]._y = imgheight;
         xpos += gap;
   
         var ypos =t-imgheight;
         arr[j] = new Array();
         for (i=1; i<weight; i++) {
   
            if (i < 4) {
               if (flag < 2) {
                  var img:BitmapData = BitmapData.loadBitmap("cc"+1);
                  arr[j][i] = 4;
               }
               else {
                  r = orig[num];
                  var img:BitmapData = BitmapData.loadBitmap("cc"+r);
                  arr[j][i] = r;
                  num++;
               }
            }
            else {

               fl = Math.floor(Math.random()*49)+1;
               r  = Math.floor(Math.random()*9)+1;
               fx = 0;
               if (i > weight - 4) {
                  for (odds = 1; odds < oddsvar; odds++) {
                     if(fl == odds && fx == 0) { r = oss; fx = 1; }
                  }
               }

               var img:BitmapData = BitmapData.loadBitmap("cc"+r);
               arr[j][i] = r;
            }
            
            _root["slot_mc_L"+j].createEmptyMovieClip("slot_mc"+i, depth++);
            _root["slot_mc_L"+j]["slot_mc"+i].attachBitmap(img, depth++, "auto", true);
            _root["slot_mc_L"+j]["slot_mc"+i]._x = 0;
            _root["slot_mc_L"+j]["slot_mc"+i]._y = ypos;
            ypos += imgheight;
         }
      }
      
      for (k=1; k<4; k++) {
         createEmptyMovieClip('mask_mc'+k, depth++);
         _root["mask_mc"+k].beginFill(0x000088);
         _root["mask_mc"+k].moveTo(_root["slot_mc_L"+k]._x, t);                              // L,T
         _root["mask_mc"+k].lineTo(_root["slot_mc_L"+k]._x + _root["slot_mc_L"+k]._width, t);      // L+W,T
         _root["mask_mc"+k].lineTo(_root["slot_mc_L"+k]._x + _root["slot_mc_L"+k]._width, t + h);   // L+W,T+H
         _root["mask_mc"+k].lineTo(_root["slot_mc_L"+k]._x, t + h);                           // L, T+H
         _root["mask_mc"+k].endFill();
         _root["slot_mc_L"+k].setMask(_root["mask_mc"+k]);
      }
   
      if (flag > 0) {
         status.text='spinning';
         txtcredits.text = int(txtcredits.text) - 1;
         
         slot_mc_L1.slideTo(slot_mc_L1._x, slot_mc_L1._y - slot_mc_L1._height+h-1, speed,     animation);
         slot_mc_L2.slideTo(slot_mc_L2._x, slot_mc_L1._y - slot_mc_L1._height+h-1, speed+1,   animation);
         slot_mc_L3.slideTo(slot_mc_L3._x, slot_mc_L1._y - slot_mc_L1._height+h-1, speed+1.5, animation);
   
         orig[1] = arr[1][weight - 3]; orig[4] = arr[2][weight - 3]; orig[7] = arr[3][weight - 3];
         orig[2] = arr[1][weight - 2]; orig[5] = arr[2][weight - 2]; orig[8] = arr[3][weight - 2];
         orig[3] = arr[1][weight - 1]; orig[6] = arr[2][weight - 1]; orig[9] = arr[3][weight - 1];
         flag2 = 1;
      }
      flag++;
   }
}

Spin();

this.onEnterFrame = function() {

   if (flag2 == 1)
   {
      if(!slot_mc_L3.isTweening()) {
         iSlider.removeReplay();
         flag2 = 0;
         
         status.text = 'no gain';
         
         same = txtcredits.text;
         
         //TL
         if (arr[1][weight-3] == arr[2][weight-3] && arr[1][weight-3] == arr[3][weight-3])
         {
            if (arr[1][weight-3] == 1) txtcredits.text = int(txtcredits.text) +1;
            if (arr[1][weight-3] == 2) txtcredits.text = int(txtcredits.text) +1;
            if (arr[1][weight-3] == 3) txtcredits.text = int(txtcredits.text) +1;
            if (arr[1][weight-3] == 4) txtcredits.text = int(txtcredits.text) +1;
            if (arr[1][weight-3] == 5) txtcredits.text = int(txtcredits.text) +1;
            if (arr[1][weight-3] == 6) txtcredits.text = int(txtcredits.text) +1;
            if (arr[1][weight-3] == 7) txtcredits.text = int(txtcredits.text) +1;
            if (arr[1][weight-3] == 8) txtcredits.text = int(txtcredits.text) +1;
            if (arr[1][weight-3] == 9) txtcredits.text = int(txtcredits.text) +1;
         }
         
         //ML
         if (arr[1][weight-2] == arr[2][weight-2] && arr[1][weight-2] == arr[3][weight-2])
         {
            if (arr[1][weight-2] == 1) txtcredits.text = int(txtcredits.text) +1;
            if (arr[1][weight-2] == 2) txtcredits.text = int(txtcredits.text) +1;
            if (arr[1][weight-2] == 3) txtcredits.text = int(txtcredits.text) +1;
            if (arr[1][weight-2] == 4) txtcredits.text = int(txtcredits.text) +1;
            if (arr[1][weight-2] == 5) txtcredits.text = int(txtcredits.text) +1;
            if (arr[1][weight-2] == 6) txtcredits.text = int(txtcredits.text) +1;
            if (arr[1][weight-2] == 7) txtcredits.text = int(txtcredits.text) +1;
            if (arr[1][weight-2] == 8) txtcredits.text = int(txtcredits.text) +1;
            if (arr[1][weight-2] == 9) txtcredits.text = int(txtcredits.text) +1;
         }
         
         //BL
          if (arr[1][weight-1] == arr[2][weight-1] && arr[1][weight-1] == arr[3][weight-1])
         {
            if (arr[1][weight-1] == 1) txtcredits.text = int(txtcredits.text) +1;
            if (arr[1][weight-1] == 2) txtcredits.text = int(txtcredits.text) +1;
            if (arr[1][weight-1] == 3) txtcredits.text = int(txtcredits.text) +1;
            if (arr[1][weight-1] == 4) txtcredits.text = int(txtcredits.text) +1;
            if (arr[1][weight-1] == 5) txtcredits.text = int(txtcredits.text) +1;
            if (arr[1][weight-1] == 6) txtcredits.text = int(txtcredits.text) +1;
            if (arr[1][weight-1] == 7) txtcredits.text = int(txtcredits.text) +1;
            if (arr[1][weight-1] == 8) txtcredits.text = int(txtcredits.text) +1;
            if (arr[1][weight-1] == 9) txtcredits.text = int(txtcredits.text) +1;
         }
         
         //LT
          if (arr[1][weight-1] == arr[1][weight-2] && arr[1][weight-1] == arr[1][weight-3])
         {
            if (arr[1][weight-1] == 1) txtcredits.text = int(txtcredits.text) +1;
            if (arr[1][weight-1] == 2) txtcredits.text = int(txtcredits.text) +1;
            if (arr[1][weight-1] == 3) txtcredits.text = int(txtcredits.text) +1;
            if (arr[1][weight-1] == 4) txtcredits.text = int(txtcredits.text) +1;
            if (arr[1][weight-1] == 5) txtcredits.text = int(txtcredits.text) +1;
            if (arr[1][weight-1] == 6) txtcredits.text = int(txtcredits.text) +1;
            if (arr[1][weight-1] == 7) txtcredits.text = int(txtcredits.text) +1;
            if (arr[1][weight-1] == 8) txtcredits.text = int(txtcredits.text) +1;
            if (arr[1][weight-1] == 9) txtcredits.text = int(txtcredits.text) +1;
         }
         
         //MT
          if (arr[2][weight-1] == arr[2][weight-2] && arr[2][weight-1] == arr[2][weight-3])
         {
            if (arr[2][weight-1] == 1) txtcredits.text = int(txtcredits.text) +1;
            if (arr[2][weight-1] == 2) txtcredits.text = int(txtcredits.text) +1;
            if (arr[2][weight-1] == 3) txtcredits.text = int(txtcredits.text) +1;
            if (arr[2][weight-1] == 4) txtcredits.text = int(txtcredits.text) +1;
            if (arr[2][weight-1] == 5) txtcredits.text = int(txtcredits.text) +1;
            if (arr[2][weight-1] == 6) txtcredits.text = int(txtcredits.text) +1;
            if (arr[2][weight-1] == 7) txtcredits.text = int(txtcredits.text) +1;
            if (arr[2][weight-1] == 8) txtcredits.text = int(txtcredits.text) +1;
            if (arr[2][weight-1] == 9) txtcredits.text = int(txtcredits.text) +1;
         }
         
         //RT
          if (arr[3][weight-1] == arr[3][weight-2] && arr[3][weight-1] == arr[3][weight-3])
         {
            if (arr[3][weight-1] == 1) txtcredits.text = int(txtcredits.text) +1;
            if (arr[3][weight-1] == 2) txtcredits.text = int(txtcredits.text) +1;
            if (arr[3][weight-1] == 3) txtcredits.text = int(txtcredits.text) +1;
            if (arr[3][weight-1] == 4) txtcredits.text = int(txtcredits.text) +1;
            if (arr[3][weight-1] == 5) txtcredits.text = int(txtcredits.text) +1;
            if (arr[3][weight-1] == 6) txtcredits.text = int(txtcredits.text) +1;
            if (arr[3][weight-1] == 7) txtcredits.text = int(txtcredits.text) +1;
            if (arr[3][weight-1] == 8) txtcredits.text = int(txtcredits.text) +1;
            if (arr[3][weight-1] == 9) txtcredits.text = int(txtcredits.text) +1;
         }
         
         //CT
          if (arr[1][weight-3] == arr[2][weight-2] && arr[1][weight-3] == arr[3][weight-1])
         {
            if (arr[1][weight-3] == 1) txtcredits.text = int(txtcredits.text) +1;
            if (arr[1][weight-3] == 2) txtcredits.text = int(txtcredits.text) +1;
            if (arr[1][weight-3] == 3) txtcredits.text = int(txtcredits.text) +1;
            if (arr[1][weight-3] == 4) txtcredits.text = int(txtcredits.text) +1;
            if (arr[1][weight-3] == 5) txtcredits.text = int(txtcredits.text) +1;
            if (arr[1][weight-3] == 6) txtcredits.text = int(txtcredits.text) +1;
            if (arr[1][weight-3] == 7) txtcredits.text = int(txtcredits.text) +1;
            if (arr[1][weight-3] == 8) txtcredits.text = int(txtcredits.text) +1;
            if (arr[1][weight-3] == 9) txtcredits.text = int(txtcredits.text) +1;
         }
         
         //CB
          if (arr[1][weight-1] == arr[2][weight-2] && arr[1][weight-1] == arr[3][weight-3])
         {
            if (arr[1][weight-1] == 1) txtcredits.text = int(txtcredits.text) +1;
            if (arr[1][weight-1] == 2) txtcredits.text = int(txtcredits.text) +1;
            if (arr[1][weight-1] == 3) txtcredits.text = int(txtcredits.text) +1;
            if (arr[1][weight-1] == 4) txtcredits.text = int(txtcredits.text) +1;
            if (arr[1][weight-1] == 5) txtcredits.text = int(txtcredits.text) +1;
            if (arr[1][weight-1] == 6) txtcredits.text = int(txtcredits.text) +1;
            if (arr[1][weight-1] == 7) txtcredits.text = int(txtcredits.text) +1;
            if (arr[1][weight-1] == 8) txtcredits.text = int(txtcredits.text) +1;
            if (arr[1][weight-1] == 9) txtcredits.text = int(txtcredits.text) +1;
         }
         
         //4C
          if (arr[1][weight-3] == arr[3][weight-3] && arr[1][weight-3] == arr[1][weight-1] && arr[1][weight-3] == arr[3][weight-1])
         {
            if (arr[1][weight-3] == 1) txtcredits.text = int(txtcredits.text) +1;
            if (arr[1][weight-3] == 2) txtcredits.text = int(txtcredits.text) +1;
            if (arr[1][weight-3] == 3) txtcredits.text = int(txtcredits.text) +1;
            if (arr[1][weight-3] == 4) txtcredits.text = int(txtcredits.text) +1;
            if (arr[1][weight-3] == 5) txtcredits.text = int(txtcredits.text) +1;
            if (arr[1][weight-3] == 6) txtcredits.text = int(txtcredits.text) +1;
            if (arr[1][weight-3] == 7) txtcredits.text = int(txtcredits.text) +1;
            if (arr[1][weight-3] == 8) txtcredits.text = int(txtcredits.text) +1;
            if (arr[1][weight-3] == 9) txtcredits.text = int(txtcredits.text) +1;
         }
         
         if (same != txtcredits.text)
         {
            var se:Sound = new Sound();
            se.attachSound("win");
            se.setVolume(80);
            se.start();
         }
      }
   }
}

Por macocoba

2 de clabLevel



 

firefox
Citar            
MensajeEscrito el 18 Jul 2012 03:27 am
260 líneas de código !! Nice!
En cuanto tenga un rato me las miro

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 18 Jul 2012 12:54 pm
Jaja, tienes razón, debí dejar sólo la parte importante. Pensé que esto sería más simple.

Saludos

Por macocoba

2 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.