JQuery - ¿Como guardo elementos aleatorios en un array?

 
Vista:

¿Como guardo elementos aleatorios en un array?

Publicado por Horacio Chaverri (4 intervenciones) el 06/05/2018 05:19:25
Estoy tratando de crear un juego tipo Candy Crush, en este momento estoy creando un array bidimencional, el problema es que quiero guardar en este elementos aleatoreos, que traten de no hacer una linea y lo que he logrado es que en pantalla solo salgan columnas con un solo tipo de elemento osea imagen, pero no se donde tengo el error

Primero tengo el array en memoria:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
function pickRandomJewel()
{
    var pickInt = Math.floor((Math.random()*4));
    return image[pickInt];
}
 
for (var i = 0; i < 7; i++) {
  switch (i) {
    case 0:
      for (var j = 0; j < 7; j++) {
        grid[j] = pickRandomJewel();
      }
      break;
    case 1:
      for (var j = 0; j < 7; j++) {
          grid[j] = pickRandomJewel();
      }
      break;
    case 2:
      for (var j = 0; j < 7; j++) {
          grid[j] = pickRandomJewel();
      }
      break;
    case 3:
      for (var j = 0; j < 7; j++) {
          grid[j] = pickRandomJewel();
      }
      break;
    case 4:
      for (var j = 0; j < 7; j++) {
          grid[j] = pickRandomJewel();
      }
      break;
    case 5:
      for (var j = 0; j < 7; j++) {
          grid[j] = pickRandomJewel();
      }
      break;
    case 6:
      for (var j = 0; j < 7; j++) {
          grid[j] = pickRandomJewel();
      }
      break;
    default:
 
  }
}

y despues esta el que se muestra:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
function addCandies(col) {
  switch (col) {
    case ".col-1":
      for (var c = 0; c < grid.length; c++) {
        $(".col-1").append(grid[0]);
      }
      var chld = $(".col-1").css("position","relative");
      candyFall();
      function candyFall(){
        chld.css("bottom","90px");
        chld.animate({bottom: -1}, "slow");
 
      }
      break;
    case ".col-2":
      for (var c = 0; c < grid.length; c++) {
        var x = Math.floor(Math.random()*7);
        $(".col-2").append(grid[1]);
      }
      var chld = $(".col-2").css("position","relative");
      candyFall();
      function candyFall(){
        chld.css("bottom","90px");
        chld.animate({bottom: -1}, "slow");
 
      }
      break;
    case ".col-3":
      for (var c = 0; c < grid.length; c++) {
        var x = Math.floor(Math.random()*7);
        $(".col-3").append(grid[2]);
      }
      var chld = $(".col-3").css("position","relative");
      candyFall();
      function candyFall(){
        chld.css("bottom","90px");
        chld.animate({bottom: -1}, "slow");
 
      }
      break;
    case ".col-4":
      for (var c = 0; c < grid.length; c++) {
        var x = Math.floor(Math.random()*7);
        $(".col-4").append(grid[3]);
      }
      var chld = $(".col-4").css("position","relative");
      candyFall();
      function candyFall(){
        chld.css("bottom","90px");
        chld.animate({bottom: -1}, "slow");
 
      }
      break;
    case ".col-5":
      for (var c = 0; c < grid.length; c++) {
        var x = Math.floor(Math.random()*7);
        $(".col-5").append(grid[4]);
      }
      var chld = $(".col-5").css("position","relative");
      candyFall();
      function candyFall(){
        chld.css("bottom","90px");
        chld.animate({bottom: -1}, "slow");
 
      }
      break;
    case ".col-6":
      for (var c = 0; c < grid.length; c++) {
        var x = Math.floor(Math.random()*7);
        $(".col-6").append(grid[5]);
      }
      var chld = $(".col-6").css("position","relative");
      candyFall();
      function candyFall(){
        chld.css("bottom","90px");
        chld.animate({bottom: -1}, "slow");
 
      }
      break;
    case ".col-7":
      for (var c = 0; c < grid.length; c++) {
        var x = Math.floor(Math.random()*7);
        $(".col-7").append(grid[6]);
      }
      var chld = $(".col-7").css("position","relative");
      candyFall();
      function candyFall(){
        chld.css("bottom","90px");
        chld.animate({bottom: -1}, "slow");
 
      }
      break;
    default:
 
  }
}
 
addCandies(".col-1");
addCandies(".col-2");
addCandies(".col-3");
addCandies(".col-4");
addCandies(".col-5");
addCandies(".col-6");
addCandies(".col-7");

este es el Dom:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
<body>
<div class="main-container">
  <h1 class="main-titulo">Match Game</h1>
 
  <div class="panel-tablero">
    <div class="col-1">
 
 
    </div>
    <div class="col-2">
 
    </div>
    <div class="col-3">
 
    </div>
    <div class="col-4">
 
    </div>
    <div class="col-5">
 
    </div>
    <div class="col-6">
 
    </div>
    <div class="col-7">
 
    </div>
  </div>
 
  <div class="panel-score">
    <div class="score">
      <h2 class="data-titulo">Puntuación</h2>
      <span class="data-info" id="score-text">0</span>
    </div>
    <div class="moves">
      <h2 class="data-titulo">Movimientos</h2>
      <span class="data-info" id="movimientos-text">0</span>
    </div>
    <div class="time">
      <h2 class="data-titulo">Tiempo</h2>
      <div class="data-info" id="timer">02:00</div>
    </div>
    <div class="buttons">
      <button class="btn-reinicio">Iniciar</button>
    </div>
  </div>
 
</div>
 
<script src="js/jquery-3.0.0.js" type="text/javascript"></script>
<script type="text/javascript" src="js/jquery-ui.min.js"></script>
<script src="js/timer.js" type="text/javascript"></script>
<!-- <script type="text/javascript" src="js/prueba.js"></script> -->
<script type="text/javascript" src="js/prueba3.js"></script>
</body>

por favor que alguien me ayude
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de santi
Val: 162
Plata
Ha mantenido su posición en JQuery (en relación al último mes)
Gráfica de JQuery

¿Como guardo elementos aleatorios en un array?

Publicado por santi (55 intervenciones) el 10/05/2018 02:05:50
Hola,

no entiendo muy bien que es lo que necesitas viendo esto...

Tampoco soy muy partidario de que la gente adjunte todo su proyecto para que la gente se lo modifique pero, si puedes adjuntar el archivo o ser un poco más específic@ con imágenes o algo más visual, mejor que mejor... Y estaré encantado de ayudarte ;)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

¿Como guardo elementos aleatorios en un array?

Publicado por Horacio Chaverri (4 intervenciones) el 10/05/2018 19:33:48
muchas gracias por tu interez en ayudarme, la verdad es que poco despues de haber posteado esta pregunta ya lo habia solucionado por mi propia cuenta, la verdad era un simple problema de lógica en mi código que al fin pude arreglar.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar