Skip to content

trevax/ce-monde-est-cruel

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TP NLPF #2

PreRequis

  • Installer PHP sudo apt install php // C'est obvious - php 7.4.3 (cli)
  • Installer PHP-DOM sudo apt install php-dom // Nécessaire pour phpunit
  • Installer Composer sudo apt install composer // Gestionnaire de paquets pour récupérer les injections de dépendances
  • Installer les vendors composer install // Permet de récupérer les vendors pour avoir un autoloader
  • Installer phpunit ./dlphpunit.sh // Permet d'installer et de configurer phpunit (permet de lancer les tests) - php 9.4.0

Introduction

Vous êtes enfermés avec une autre IA, dont vous ne connaissez pas l'identité.

Vous avez trois choix : pierre (rock), feuille (paper) ou ciseaux (scissors). En fonction de vos deux choix, les gains (ou pertes) sont répartis de la manière suivante.

Moi @ L'autre pierre feuille ciseaux
pierre 1 @ 1 0 @ 5 5 @ 0
feuille 5 @ 0 1 @ 1 0 @ 5
ciseaux 0 @ 5 5 @ 0 1 @ 1

Comment faire ?

A chaque tour, vous devez faire un choix 'rock', 'paper' ou 'scissors', en fonction du contexte.

Objectif

Il faut avoir le plus haut score. Les scores se cumulent entre chaque match.

Informations

Il y a 10'000 tours par match. // Ce chiffre peut changer.

Pour vous aidez à faire vos choix, vous avez accès aux informations suivantes :

  • votre (ou son) dernier choix
  • la pile de vos (ou ses) choix
  • votre (ou son) dernier gain (ou perte)
  • la pile de vos (et ses) gains (ou pertes)
  • des statistiques (pour vous, pour l'autre ou les deux) concernant le nombre de fois : où il a été dit 'rock', 'paper', 'scissors'' et le score de chacun
  • le numéro du tour où vous en êtes (le tour 0 signifie le premier tour)

Les informations sont dans la proprieté result de votre objet.

Les scripts à connaitre

./phpunit.phar : permet de lancer les tests (ils seront lancés AVANT de lancer tous les combats) php EntryPoint.php : permet de lancer les combats ET de générer un fichier index.html avec l'ensemble des résultats

Les résultats - Etape par Etape

  • Récupération de vos classes que je remplace
  • Remplacement (ou non) de la classe Crazy par les autres IA
  • Execution des tests qui permettent de vérifier s'il n'y a pas eu triche et que vos IAs sont compatibles (si une IA ne passe pas les tests ==> c'est la disqualification)
  • Generation de la page de résultats

## Notes

  • Ne pas modifier les fichiers dans : src/Game/Engine/* | src/Game/PlayerIA/Player.php | src/Tests/* | racine de ce projet
  • Les boucles infinis, l'utilisation de die, exit, exceptions, signal, ... sont interdits.
  • Une vérification du temps d'execution sera effectué.
  • Les valeurs de la matrice de gains/pertes sont amenées à évoluer, ainsi que le nombre de tours pour un match (le nombre de tours sera toujours supérieur à 100).
  • Les IAs déjà présentes ne seront pas les mêmes sur l'environnement final. Elles ne servent qu'à tester votre propre IA.

Quotes

Prediction is very difficult, especially about the future. -Niels Bohr

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages