HTTPS SSH

Exemple de champion minimal pour le sujet Tours de magie de la finale Prologin 2014. Codé en Python 3.

Pseudo-code

Aux deux premiers tours
    Construire une tourelle à distance 2 de ma base
À partir du tour 80
    Faire foncer tous les sorciers vers une base voisine en détruisant les tourelles sur leur chemin
Aux tours 81 et 82
    Encercler ma base de tourelles
À partir du tour 90
    Faire foncer tous les sorciers vers l'artefact en détruisant les tourelles sur leur chemin
À chaque tour
    Construire le plus de sorciers possible

Remarques utiles

  • Des tourelles sont construites, mais elles n'attaquent pas. Elles servent à intimider et, apparemment, ça marche.
  • Les fontaines de magie sont complètement ignorées.
  • Pour la construction des tourelles, pour éviter de changer le code en fonction du coin où la base se trouve, le champion tente de construire dans toutes les directions, peu importe les erreurs CASE_IMPOSSIBLE, CASE_UTILISEE et MAGIE_INSUFFISANTE.
  • Pour le déplacement des sorciers, en fonction de la cible (un adversaire ou l'artefact), le champion détermine un ensemble d'au plus deux directions candidates (par exemple : [juste en haut, juste à droite] si la cible est vers le haut et la droite) et en emprunte une dont la case d'arrivée n'est pas occupée par une tourelle. Il fait cela quatre fois (portée des sorciers).
  • Si un sorcier est à côté d'une tourelle, il l'assiège.
  • Avec une probabilité 1/7 (« Pourquoi 1/7 ? — Pourquoi pas ? »), la moitié des soldats a un déplacement aléatoire pour éviter que tous les sorciers s'attaquent à la même tourelle.