Ce challenge se déroule en ligues.

Pour ce challenge, plusieurs versions du même jeu seront disponibles. Quand vous aurez prouvé votre valeur contre le Boss, vous accèderez à la ligue supérieure.

NOUVELLE RÈGLE : Les élémentaires capturés ne sont pas perdus pour toujours ! Si l'un de vos élémentaires libres atteint le camp ennemi, tous vos alliés emprisonnés sont libérés.

  Objectif

Contrôlez votre tribu élémentaire, chassez vos proies, évitez votre prédateur et capturez plus d’ennemis que vos adversaires pour remporter la bataille !

  Règles

La partie se joue à 3 joueurs sur une grille carrée. Chaque joueur contrôle une tribu d’élémentaires.

Chaque tribu correspond à un élément :

  • W : 💧 Eau
  • F : 🔥 Feu
  • P : 🌿 Plante

Les tribus suivent une relation cyclique :

  • 💧 Eau capture 🔥 Feu.
  • 🔥 Feu capture 🌿 Plante.
  • 🌿 Plante capture 💧 Eau.

🗺️ Carte

La carte est une grille carrée composée des cases suivantes :

  • . : case vide praticable.
  • # : mur.
  • W, F, P : camps des trois tribus.

Les camps sont des cases praticables. Les murs ne le sont pas.

Toutes les cases situées en bordure de la grille sont des murs.

🎬 Actions

À chaque tour, vous devez produire au moins une commande. Les commandes sont séparées par des points-virgules (;).

  • id MOVE x y : ordonne à l’élémentaire id de se déplacer d’une case vers (x, y).
  • id WAIT : ordonne à l’élémentaire id de rester sur place.
  • MSG [texte] : affiche un message global sous votre score. Il ne vise aucun élémentaire. Le dernier message reste visible jusqu’à son remplacement. Sans texte, le message est effacé.

Vous pouvez donner des commandes seulement à une partie de vos élémentaires. Ceux sans commande attendront.

Si plusieurs commandes visent le même élémentaire au cours d'un même tour, seule la première est appliquée et les autres sont ignorées.

↪️ Déplacements

Une commande MOVE x y indique une case cible. Le jeu déplace automatiquement l’élémentaire d’une case vers cette cible en suivant le plus court chemin.

Le déplacement est uniquement en 4 directions (nord, est, sud, ouest) ; les diagonales ne sont pas autorisées.

S’il existe plusieurs plus courts chemins, le premier pas est choisi selon cet ordre de priorité fixe : nord, puis est, puis sud, puis ouest.

Si la cible est inaccessible, l’élémentaire reste sur place.

Les élémentaires peuvent traverser les camps et les autres élémentaires. Seuls les murs bloquent le déplacement.

⚔️ Captures

Après le traitement des déplacements de tous les joueurs, toutes les captures sont résolues simultanément.

Si un élémentaire partage une case avec un ou plusieurs élémentaires de son prédateur, il est capturé.

Un élémentaire capturé devient un prisonnier et est déplacé vers le camp de la tribu qui l’a capturé.

Chaque élémentaire capturé donne 1 point à la tribu qui le capture. Les points sont permanents, mais un joueur qui dépasse le temps imparti ou produit une commande invalide perd la partie quel que soit le nombre de points déjà gagnés.

Plusieurs élémentaires peuvent occuper la même case. Un groupe n’est pas plus fort qu’un seul élémentaire : un seul prédateur suffit à capturer toutes les proies présentes sur la case.

Si les trois tribus sont présentes sur une même case, elles se capturent toutes simultanément.

Rien de spécial ne se passe lorsqu’une proie entre dans un camp ennemi : les camps ne capturent pas par eux-mêmes. Les captures ont lieu uniquement quand des élémentaires prédateur et proie partagent la même case.

🔓 Prisonniers et libérations

Un prisonnier ne peut pas se déplacer.

Les prisonniers ne participent pas aux captures. Ils sont ignorés pendant la résolution des captures.

Pour libérer vos prisonniers, déplacez un de vos élémentaires libres sur le camp de votre prédateur. Tous vos prisonniers qui s’y trouvent sont libérés.

Les élémentaires libérés restent sur la case du camp et pourront recevoir des commandes à partir du tour suivant.

Libérer des prisonniers ne retire jamais les points déjà gagnés par les capteurs. Les élémentaires libérés peuvent être capturés de nouveau plus tard, et chaque nouvelle capture donne un point supplémentaire.

Les libérations sont résolues après les captures. Si votre libérateur est capturé sur le camp pendant la phase de capture, aucune libération n’a lieu.

⛔ Fin de partie

La partie se termine si l’une des conditions suivantes est remplie :

  • Au moins un joueur a tous ses élémentaires prisonniers après la résolution du tour.
  • 200 tours se sont écoulés.
  • Un joueur dépasse le temps imparti ou produit une commande invalide.

Conditions de victoire
  • Avoir le score le plus élevé à la fin de la partie.
Conditions de défaite
  • Votre programme dépasse le temps imparti, plante ou produit une commande invalide.

  Détails techniques

  • Tous les joueurs reçoivent la carte complète et la liste de tous les élémentaires.
  • Toutes les tribus possèdent toujours exactement un camp et ont le même nombre d’élémentaires.
  • Les identifiants des élémentaires sont uniques au sein d’une tribu.
  • Plusieurs élémentaires peuvent occuper la même case.
  • Si une tribu est entièrement emprisonnée, la partie se termine immédiatement et les joueurs sont classés selon leurs captures cumulées.
  • Dans les paramètres, vous pouvez activer l’affichage de la grille pour voir les coordonnées des cases au survol.
Cliquez pour afficher

  Protocole du jeu

Entrée d'initialisation

Ligne 1 : myTribe, votre tribu (W, F ou P).

Ligne 2 : mapSize (entier), la taille de la carte carrée.

Lignes suivantes : mapSize lignes représentant la carte, chacune contenant mapSize caractères.

  • . : case vide praticable.
  • # : mur.
  • W, F, P : camps des tribus.
Entrée d’un tour de jeu

Ligne 1 : trois entiers séparés par des espaces : scoreW scoreF scoreP, les scores actuels des tribus Eau (W), Feu (F) et Plante (P).

Ligne 2 : elementalsCount (entier), le nombre total d’élémentaires en jeu.

Lignes suivantes : elementalsCount lignes contenant les valeurs séparées par des espaces pour chaque élémentaire :

  • elementalId (entier) : identifiant de cet élémentaire, unique au sein de sa tribu.
  • tribe : tribu de l’élémentaire (W, F ou P).
  • x (entier) : coordonnée X, 0 correspond au bord gauche.
  • y (entier) : coordonnée Y, 0 correspond au bord supérieur.
  • prisoner : 1 si cet élémentaire est prisonnier, 0 sinon.
Sortie

Une seule ligne contenant au moins une commande et au plus elementalsCount commandes.

  • id MOVE x y : déplace l’élémentaire id d’une case vers la cible (x, y).
  • id WAIT : laisse l’élémentaire id sur place.
  • MSG [texte] : affiche un message global sous votre score. Il ne vise aucun élémentaire. Le dernier message reste visible jusqu’à son remplacement. Sans texte, le message est effacé.

Les commandes doivent être séparées par des points-virgules (;). Chaque MSG compte comme une commande. Son texte ne peut pas inclure de point-virgule. Une sortie vide ou une commande mal formée est invalide.

Exemple :

0 MOVE 5 3;1 WAIT;2 MOVE 7 4

Contraintes
mapSize = 11, 13 ou 15
elementalsCount = 6, 9, 12 ou 15

Temps de réponse pour le premier tour ≤ 1000 ms
Temps de réponse par tour ≤ 50 ms

Histoire

Dans un monde façonné par des forces primitives, trois tribus élémentaires se livrent une guerre sans fin pour la suprématie. Les clans de l'Eau, du Feu et de la Végétation sont liés par un cycle ancestral de pouvoir, où chaque élément peut dominer un autre mais est également vulnérable à son tour.

Poussés par l'instinct et la survie, ces élémentaires parcourent le champ de bataille, capturant des ennemis et sauvant des alliés pour renforcer leurs rangs. Seul le chef le plus rusé saura maîtriser cet équilibre délicat entre agressivité et prudence.

Saurez-vous dompter le cycle… ou serez-vous consumé par lui ?