---
name: numero-casuale
description: Usare quando l'utente ha bisogno di generare numeri interi casuali in un intervallo specificato.
---

# Numero Casuale

Questa skill genera numeri interi casuali compresi tra un valore minimo e massimo (inclusi). Utile per simulazioni, giochi, selezione casuale di elementi e test.

## Procedura

1. **Generare un numero casuale**: Chiamare `numeroCasuale(min, max)`
2. **Usare il valore predefinito**: Se non specificati, min=0 e max=100
3. **Applicare in loop**: Usare con `setInterval()` per aggiornamenti periodici

## Regole

- `min` e `max` devono essere numeri interi
- Il valore di `min` deve essere minore o uguale a `max`
- Il range è inclusivo: sia `min` che `max` possono essere restituiti
- Restituisce sempre un numero intero

## Esempi

### Esempio 1: Generare un numero tra 1 e 100

```javascript
const randomNum = numeroCasuale(1, 100);
console.log(randomNum); // Esempio: 42
```

### Esempio 2: Simulare un dado a 6 facce

```javascript
const dado = numeroCasuale(1, 6);
console.log(`Hai tirato: ${dado}`);
```

### Esempio 3: Selezionare un elemento casuale da un array

```javascript
const colori = ['rosso', 'verde', 'blu', 'giallo'];
const coloreCasuale = colori[numeroCasuale(0, colori.length - 1)];
console.log(coloreCasuale);
```

### Esempio 4: Usare valori predefiniti

```javascript
// Genera un numero tra 0 e 100
const num = numeroCasuale();
```

## Dettagli Aggiuntivi

- **Formula**: `Math.floor(Math.random() * (max - min + 1)) + min`
- **Math.random()**: Genera un float tra 0 (inclusivo) e 1 (esclusivo)
- **Efficienza**: O(1) - tempo costante
- **Casualità**: Basata sull'implementazione nativa di JavaScript
