> For the complete documentation index, see [llms.txt](https://realisticnode.gitbook.io/rnsetups/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://realisticnode.gitbook.io/rnsetups/es/rnchatgames/games/games.md).

# Los 16 juegos

Cada juego tiene un bloque en `config.yml`, dentro de `games:`. Los ids (`unscramble`, `math`...) se usan en comandos, permisos, premios y mensajes.

## Opciones que tienen todos los juegos

| Opción               | Qué hace                                                                                                                                     |
| -------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
| `enabled`            | `true` / `false`. Un juego desactivado nunca sale y no se puede iniciar.                                                                     |
| `weight`             | Cada cuánto sale comparado con los demás. `20` sale el doble que `10`. `0` = nunca sale automáticamente.                                     |
| `time-limit`         | Segundos para responder. `0` = el `time-limit` general.                                                                                      |
| `winners`            | Cuántos jugadores pueden ganar una partida: `3` = 1.º, 2.º y 3.º, cada uno con sus premios.                                                  |
| `max-attempts`       | Respuestas incorrectas que puede enviar cada jugador. `0` = sin límite (Clic y Opción Múltiple siempre permiten al menos 1).                 |
| `points`             | Puntos que recibe el ganador (se suman en `/rncg top`).                                                                                      |
| `case-sensitive`     | `true`: "Diamante" y "diamante" son distintas. Quien tiene la respuesta con las mayúsculas mal recibe "¡Casi!" y conserva el intento.        |
| `ignore-accents`     | `true`: "Pokémon" = "Pokemon".                                                                                                               |
| `ignore-punctuation` | `true`: "¡París!" o "¿París?" = "París".                                                                                                     |
| `hint`               | `enabled`, `after-seconds`, `reveal-percent`: muestra parte de la respuesta tras unos segundos, ej. `D _ _ m _ n _ e`.                       |
| `display-case`       | Juegos de palabras: `ORIGINAL`, `UPPER` (mayúsculas) o `LOWER` (minúsculas). `UPPER` oculta la mayúscula inicial que delataría la respuesta. |

<figure><img src="https://1485480385-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FQaixEy8lxLssO2tL4Sxc%2Fuploads%2FkjF3u1EONtuevGNL6tGi%2Fes-hint.png?alt=media" alt="Pista tras unos segundos (hint.after-seconds)"><figcaption><p>Pista tras unos segundos (hint.after-seconds)</p></figcaption></figure>

<figure><img src="https://1485480385-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FQaixEy8lxLssO2tL4Sxc%2Fuploads%2FRrXVIzUvf682jbVlZx5A%2Frncg-real-15.png?alt=media" alt="Un juego con winners: 3 (1.º, 2.º y 3.º)"><figcaption><p>Un juego con winners: 3 (1.º, 2.º y 3.º)</p></figcaption></figure>

## Los juegos

### Desordenar — `unscramble`

Las letras de una palabra están mezcladas (`NTEMADAI`); los jugadores escriben la palabra (`Diamante`). Las frases con espacios se desordenan palabra por palabra.

<figure><img src="https://1485480385-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FQaixEy8lxLssO2tL4Sxc%2Fuploads%2FiiITGoeKPIkejzcX6LXu%2Frncg-real-01.png?alt=media" alt=""><figcaption></figcaption></figure>

### Al Revés — `unreverse`

Una palabra está escrita al revés (`ETNAMAID`); los jugadores la escriben bien.

<figure><img src="https://1485480385-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FQaixEy8lxLssO2tL4Sxc%2Fuploads%2FcHP95wAFaAznc6Zc7NhC%2Frncg-real-14.png?alt=media" alt=""><figcaption></figcaption></figure>

### Reacción — `reaction`

Se muestra una palabra; el primero en escribirla gana. Tiempo corto por defecto (20 s).

<figure><img src="https://1485480385-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FQaixEy8lxLssO2tL4Sxc%2Fuploads%2FU71ZeJR2wH5iAcRx9EFt%2Frncg-real-12.png?alt=media" alt=""><figcaption></figcaption></figure>

### Completar — `fillout`

Algunas letras están ocultas (`D_a_a_te`); los jugadores completan la palabra.

<figure><img src="https://1485480385-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FQaixEy8lxLssO2tL4Sxc%2Fuploads%2FMbc7lse5VnQbpsccTXS0%2Frncg-real-11.png?alt=media" alt=""><figcaption></figcaption></figure>

| Opción             |                                                          |
| ------------------ | -------------------------------------------------------- |
| `hidden-percent`   | Letras ocultas, de 10 a 90 (siempre se ve al menos una). |
| `hidden-character` | El carácter de las letras ocultas.                       |

### Código — `random-text`

Hay que escribir exactamente un código al azar (`4fYHsns`). Distingue mayúsculas por defecto.

<figure><img src="https://1485480385-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FQaixEy8lxLssO2tL4Sxc%2Fuploads%2FBUoRYu6KGEZgigmbBCiU%2Frncg-real-13.png?alt=media" alt=""><figcaption></figcaption></figure>

| Opción                      |                                                                                                                                             |
| --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- |
| `length-min` / `length-max` | Largo del código.                                                                                                                           |
| `characters`                | `LETTERS`, `NUMBERS`, `ALPHANUMERIC`, `SYMBOLS` o `CUSTOM` (usa `custom-characters`). Se excluyen los caracteres parecidos (l, I, 1, O, 0). |

### Matemáticas — `math`

Resolver una operación (`38 + 35`). Cada partida elige una de las **dificultades** activadas:

<figure><img src="https://1485480385-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FQaixEy8lxLssO2tL4Sxc%2Fuploads%2FlEkVPLxCz2O1kKjWzt7E%2Frncg-real-03.png?alt=media" alt=""><figcaption></figcaption></figure>

```yaml
difficulties:
  easy:
    enabled: true
    display-name: '<green>Fácil</green>'   # se muestra como {difficulty}
    weight: 50                              # cada cuánto sale
    min: 1
    max: 20
    terms: 2                                # números de la operación (2-5)
    operators: ['+', '-']                   # cualquiera de + - * /
```

`multiply-max` mantiene las multiplicaciones razonables, `pretty-symbols` muestra × y ÷, y `allow-negative-results: false` evita resultados menores que 0. Puedes añadir tu propia dificultad con otro nombre. Los admins pueden forzar una: `/rncg start math hard`.

### Variable — `variable`

Tres símbolos ocultan tres números; tres ecuaciones dan las pistas y los jugadores resuelven la última línea.

<figure><img src="https://1485480385-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FQaixEy8lxLssO2tL4Sxc%2Fuploads%2FlNIpHr9iLUqZuWV4MSX5%2Frncg-real-06.png?alt=media" alt=""><figcaption></figcaption></figure>

| Opción                    |                                 |
| ------------------------- | ------------------------------- |
| `value-min` / `value-max` | Rango de los números ocultos.   |
| `symbols`                 | Al menos 3; cada partida usa 3. |

### Trivia — `trivia`

Una pregunta con una o varias respuestas válidas. Las preguntas están en `content/<idioma>.yml` → `trivia`.

<figure><img src="https://1485480385-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FQaixEy8lxLssO2tL4Sxc%2Fuploads%2Fbz7a8PmHo6dWwe8NRkE7%2Frncg-real-09.png?alt=media" alt=""><figcaption></figcaption></figure>

### Opción Múltiple — `multiplechoice`

Una pregunta con opciones con letra (A, B, C...). Los jugadores escriben la letra o la pulsan. Las preguntas están en `content/<idioma>.yml` → `multiplechoice`. Solo cuenta como intento una letra o una opción.

<figure><img src="https://1485480385-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FQaixEy8lxLssO2tL4Sxc%2Fuploads%2FqWc8BE03J5hGtHRwS2F4%2Frncg-real-04.png?alt=media" alt=""><figcaption></figcaption></figure>

### Clic — `click`

Aparecen varios botones en el chat; gana el primero que pulse el correcto. Los botones usan un código al azar, así que escribir el comando no sirve.

<figure><img src="https://1485480385-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FQaixEy8lxLssO2tL4Sxc%2Fuploads%2FFUaDYIvVtwwiMzRVE2nX%2Frncg-real-05.png?alt=media" alt=""><figcaption></figcaption></figure>

| Opción    |                                        |
| --------- | -------------------------------------- |
| `decoys`  | Botones incorrectos junto al correcto. |
| `symbols` | Los símbolos de los botones.           |

Quien pulsa un botón incorrecto en su último intento recibe "¡Botón incorrecto!".

### Oculto — `hover`

La palabra solo se ve al pasar el ratón por encima del mensaje. Los jugadores la escriben.

<figure><img src="https://1485480385-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FQaixEy8lxLssO2tL4Sxc%2Fuploads%2FJWXLtF7EC5fJr5xZIcZH%2Frncg-real-07.png?alt=media" alt=""><figcaption></figcaption></figure>

### Adivina el Número — `guess-number`

Un número secreto entre `min` y `max`. Tras un intento fallido se le dice al jugador (solo a él) si el número es mayor o menor.

<figure><img src="https://1485480385-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FQaixEy8lxLssO2tL4Sxc%2Fuploads%2FKuuUaNJTJsoN7E8AoFmE%2Frncg-real-08.png?alt=media" alt=""><figcaption></figcaption></figure>

| Opción        |                                                        |
| ------------- | ------------------------------------------------------ |
| `min` / `max` | Rango del número secreto (ambos incluidos).            |
| `hints`       | `true`: decir mayor / menor tras cada intento fallido. |

Solo los números cuentan como intentos, así que hablar en el chat no gasta intentos.

### Completa la Frase — `completion`

Una frase con una palabra que falta: `Más vale tarde que _ _ _ _ _`. Las frases están en `content/<idioma>.yml` → `completion`.

<figure><img src="https://1485480385-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FQaixEy8lxLssO2tL4Sxc%2Fuploads%2FDNiPiHhQ95ESQoTyFMvu%2Frncg-real-10.png?alt=media" alt=""><figcaption></figcaption></figure>

| Opción  |                                                                                      |
| ------- | ------------------------------------------------------------------------------------ |
| `blank` | `AUTO` = un `_` por letra. Cualquier otro texto se muestra tal cual (ej. `'?????'`). |

### Ahorcado — `hangman`

Las letras de una palabra están ocultas: `_ _ _ _ _ _ _`. Los jugadores escriben **una letra** para descubrirla para todos, o la **palabra entera** para ganar. Cada letra que no está en la palabra quita una de las vidas compartidas (❤); sin vidas nadie gana ("¡Ahorcado!"). Quien descubre la última letra también gana. Las palabras son las mismas que Desordenar (`content/<idioma>.yml` → `words.shared`), o solo para este juego en `words.hangman`.

![Los jugadores descubren la palabra letra por letra](https://1485480385-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FQaixEy8lxLssO2tL4Sxc%2Fuploads%2FgnJ18JKkBUTupqmnCRsp%2Fahorcado.png?alt=media)

| Opción                                  |                                                                                                       |
| --------------------------------------- | ----------------------------------------------------------------------------------------------------- |
| `lives`                                 | Vidas compartidas por todos. `0` = ilimitadas.                                                        |
| `letter-guesses`                        | `true`: una letra la descubre. `false`: solo cuenta la palabra entera.                                |
| `hide-letter-guesses`                   | `true`: las letras que escriben se ocultan del chat (el juego anuncia cada una).                      |
| `reveal-every`                          | Descubre una letra al azar sola cada X segundos. `0` = nunca. La última letra nunca se descubre sola. |
| `reveal-first-letter`                   | Empezar con la primera letra descubierta.                                                             |
| `min-letters`                           | Solo palabras con al menos estas letras.                                                              |
| `hidden-character` / `letter-separator` | Cómo se ven las letras ocultas (`_`) y qué va entre letras (un espacio).                              |

`max-attempts` solo cuenta **palabras** falladas: las letras usan las vidas. Mensajes: `letter-found`, `letter-missing`, `letter-repeated`, `reveal` y `hanged` en el archivo de idioma, con `{word}`, `{letter}`, `{lives}`, `{lives_bar}` y `{wrong_letters}`. Sonidos: `sounds.letter-found` y `sounds.letter-missing`.

### Memoria — `memory`

Un código aparece **en pantalla** (como título) durante unos segundos, nunca en el chat. Cuando desaparece, gana el primero que lo escriba. Las respuestas enviadas mientras todavía se ve no cuentan: se le pide al jugador que espere y el código se oculta del chat.

![El código solo se ve en pantalla](https://1485480385-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FQaixEy8lxLssO2tL4Sxc%2Fuploads%2FtzhtpLPqMF1wR6MIOxYL%2Fmemoria.png?alt=media)

| Opción                      |                                                                                   |
| --------------------------- | --------------------------------------------------------------------------------- |
| `show-seconds`              | Segundos que el código se ve en pantalla. Debe ser menor que `time-limit`.        |
| `length-min` / `length-max` | Cuántos caracteres tiene el código.                                               |
| `characters`                | `LETTERS`, `NUMBERS`, `ALPHANUMERIC`, `SYMBOLS` o `CUSTOM` (`custom-characters`). |

Dónde se muestra el código está en el archivo de idioma: `flash-title`, `flash-subtitle` y `flash-actionbar` (cualquiera puede ser `''`). `hidden` se envía cuando el código desaparece (sonido: `sounds.memory-hidden`) y `too-early` al jugador que lo escribe antes de tiempo. No pongas `{code}` en `start`: el chat se queda y cualquiera podría leerlo ahí.

### Color — `color`

El nombre de un color escrito en otro color: **AZUL** escrito en amarillo. Los jugadores escriben el **color del texto** (`Amarillo`), no la palabra. El chat normal no gasta el único intento: solo cuentan los mensajes que son un color.

![BLUE escrito en amarillo: la respuesta es Yellow (Amarillo en español)](https://1485480385-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FQaixEy8lxLssO2tL4Sxc%2Fuploads%2FkukGVoz0DIAs4YBAyEBY%2Fcolor.png?alt=media)

| Opción   |                                                                                                                                                                     |
| -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `ask`    | `INK` = el color del texto, `WORD` = la palabra, `RANDOM` = una de las dos en cada juego.                                                                           |
| `colors` | Los colores usados, como `<nombre>: <color>`. El color es un nombre (`red`, `gold`...) o un código hex (`'#FF5555'`). Quita una línea para dejar de usar ese color. |

Los nombres de los colores están en el archivo de idioma (`games.color.color-names`), así que un servidor en inglés muestra **BLUE** y acepta `Yellow`. Una lista de nombres los acepta todos (se muestra el primero): en español se acepta `Amarillo` o `Amarilla`. Con `per-player-language` se aceptan los nombres de todos los idiomas. Para añadir un color, ponlo en `colors` y dale un nombre en `color-names`.

## Mientras hay un juego

* Las respuestas correctas no se ven en el chat (`chat.hide-correct-answers`), así nadie las copia.
* Quien ocultó los juegos con `/rncg toggle`, o está en un mundo desactivado, no los ve y no puede responder.
* Una boss bar muestra el tiempo restante (`display.bossbar`).
* Los mensajes sobre tu respuesta (incorrecta, intentos restantes, mayor/menor) aparecen justo después de tu línea del chat.

<figure><img src="https://1485480385-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FQaixEy8lxLssO2tL4Sxc%2Fuploads%2FeVe5Gyv5YtahalKEx6Ev%2Fes-wrong.png?alt=media" alt="Respuestas incorrectas y &#x22;¡Casi!&#x22; (juegos con mayúsculas exactas)"><figcaption><p>Respuestas incorrectas y "¡Casi!" (juegos con mayúsculas exactas)</p></figcaption></figure>

<figure><img src="https://1485480385-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FQaixEy8lxLssO2tL4Sxc%2Fuploads%2Fit6ug4Nq93EIu9S0rCzi%2Fes-timeout.png?alt=media" alt="Se acabó el tiempo y nadie ganó"><figcaption><p>Se acabó el tiempo y nadie ganó</p></figcaption></figure>
