---
# System prepended metadata

title: Notas Gem Blast

---

# Notas Gem Blast

1) Condicion de game over?
2) Diagrama de estados (Estados)
3) Available Commands
4) Interface Back-Front
5) Ejemplo de snapshots

### 1) Condicion de Game over
- Tiempo 120 segundos

### 2) Diagrama de Estados
- Crear (1 jugador)
- Joinear otro Jugador (en cualquier momento)
- enviar start
```json
action : { input: "start" }
```
- enviar commands (* ver [3])
- game over (* ver [1])
- devuelve el Winner si todos los jugadores terminaron


### 3) available Commands
siempre se envian de la misma manera
```json
action : { input: command }
```
- "start" // se envia solo la primera vez (para arrancar el timer)
- "{fila}:{columna}:{u/d/r/l}" [ver nota ****]
- "Thunder Strike" // Accionar Booster convierte en pieza especial 
- "Fire Strike" // Accionar Booster rompe todas las piezas del borde.
- "Extra Time" // Accionar Booster

### 4) Interface Back-Front   

```javascript
const staging = {
    snapshots: [
        grid: [[0,2,3,4,5123][0,1,2,3 ...], ...],
        match: fase / true,
        prize: {label: 'asd', score: 123}
    ],
    objective: {
        detail: [{gem: 1, amount: 3, goal: 10 }, {gem: 1, amount: 3, goal: 10 }],
        prize: { label: 'asd', score: 123}
    }
    score: 0,
    gameOver: false,
    gameStarted: true,
    boostersUsed: [""],
    time: {
        left: 3000,
        initial: null,
        max: 3000,
    }
}

```
 ****
 action: { input: "{id-pieza-a-colocar}:{orientacion}:{id-pieza-a-aconectar}:{pata-t-r-b-l}"}
 
 
 id 1 - t - id: 45 h: '', 

  |
  |   |
  |---|---|    |
  |       |----|
          |
```


[0 1 2 3 4 
 0 1 2 3 4
 0 1 2 3 4
 0 1 2 3 4]
 
 
[
0  1  2  3  4 ... 8
9 10 11 12 13 ... 15
......            79
]

0 - 6 : gemas (7)
7 - 16 : especiales (10)
-1 celdas vacias,
90 explotarla


lista de gemas

coordenada
numero de gema

[
 { coordenada, num_gem, explota?, }
]




endlessGrid = [0 1 2 3 4 5 6 7
               0 1 2 3 4 5 6 7
               0 1 2 3 4 5 6 7
               0 1 2 3 4 5 6 7]
 
 
 
 grid = [0 1 2 3 4 5 6 7
         0 1 2 3 4 5 6 7
         0 1 2 3 4 5 6 7
         0 1 2 3 4 5 6 7]


