# Free For All - Arena Shooter v1.1

Petit lapin

Jeu de tir en arene locale multijoueur en HTML5, inspire de Retimed.

## Lancer le jeu

Ouvrir `freeforall.html` dans un navigateur (Chrome, Firefox, Edge).

## Controles

| Touche | Action |
|--------|--------|
| Z / W | Sauter |
| Q / A | Aller a gauche |
| D | Aller a droite |
| S / Fleche bas | Traverser une plateforme |
| Espace | Sauter |
| Souris | Viser |
| Clic gauche | Tirer |

- Double saut disponible (2 sauts max avant de retoucher le sol)
- Traverser les plateformes vers le bas avec S ou fleche bas (sauf le sol)

## Fonctionnalites

- **Selection du personnage** au demarrage
- **Selection de la map** : Classique, Tours, Pyramide (chacune avec son theme visuel)
- **Bots IA** configurables (1 a 5 selon le nombre de personnages)
- **Arme** : chargeur de 6 balles par defaut, rechargement via caisses de munitions sur la map
- **Effets visuels** : particules de sang, flash rouge a l'impact, etincelles de tir, particules de double saut
- **Corps realistes** : torse, bras articules, jambes avec genoux, chaussures, arme detaillee
- **Victoire / Defaite** : premier a 10 kills gagne la partie

## Maps et themes

| Map | Ambiance | Plateformes | Decor |
|-----|----------|-------------|-------|
| Classique | Nuit etoilee | Metal avec rivets | Lune, etoiles scintillantes |
| Tours | Chateau medieval | Pierre et briques | Silhouettes de tours, brume |
| Pyramide | Desert | Gres / sable | Soleil, dunes |

Chaque map supporte un arriere-plan personnalise. Placer une image dans `img/` et modifier `bgImage` dans le theme correspondant :

```js
bgImage: 'img/mon_fond.png',
```

## Options

Accessibles depuis le menu avant de lancer une partie :

- Points de vie (50 - 500)
- Balles par chargeur (2 - 30)
- Taille des balles (3 - 15)
- Temps de reapparition des caisses de munitions (1 - 15 sec)
- Rebond des balles sur les murs et plateformes (on/off)

## Ajouter un personnage

1. Placer l'image (PNG ou JPG) dans le dossier `img/characters/`
2. Ajouter le nom du fichier dans la liste `CHAR_FILES` tout en haut du script dans `freeforall.html` :

```js
const CHAR_FILES = ['nico.png', 'max.png', ..., 'nouveau.png'];
```

Le nom affiche, la couleur et la carte du menu sont generes automatiquement.

## Ajouter un arriere-plan

1. Placer l'image dans `img/backgrounds/`
2. Dans le theme de la map correspondante, modifier `bgImage` :

```js
bgImage: 'img/backgrounds/mon_fond.png',
```

## Structure du projet

```
Freeforall/
  freeforall.html        -- Le jeu complet (fichier unique)
  README.md              -- Ce fichier
  img/
    characters/          -- Visages des personnages
      nico.png
      max.png
      greg.png
      thomas.png
      micka.png
      guigui.png
      theo.png
      anais.png
      arnaud.png
    backgrounds/         -- Arriere-plans des maps
      classic.png
      medieval.png
      pyramide.png
```

## Changelog

### v1.1
- Themes visuels uniques par map (arriere-plans, plateformes, ambiance)
- Support des images d'arriere-plan personnalisees par map
- Balles rouges/orange avec halo lumineux (visibles sur tout fond)
- Contour sombre autour des personnages pour meilleure lisibilite
- Caisses de munitions vertes avec halo bleu pulsant
- Noms des joueurs avec contour pour lisibilite
- Menu scrollable avec scrollbar stylisee

### v1.0
- Jeu de base : selection perso, 3 maps, bots IA
- Double saut, traverser les plateformes
- Panneau d'options (vie, munitions, taille balles, rebond, respawn)
- Corps realistes avec animations
- Effets de sang et flash rouge a l'impact
- Systeme de personnages dynamique
- Ecran victoire / defaite

## Technologies

- HTML5 Canvas
- JavaScript vanilla
- Aucune dependance externe
