pro_quoridor.php 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. <!DOCTYPE html>
  2. <html lang="fr">
  3. <?php
  4. $title = "Quoridor";
  5. include("../include/head.php");
  6. ?>
  7. <body>
  8. <!-- Navbar -->
  9. <?php
  10. include("../include/navbar.php")
  11. ?>
  12. <!-- Main -->
  13. <main role="main" class="container">
  14. <div class="focus-center">
  15. <h1>
  16. Quoridor
  17. </h1>
  18. <img src="../include/images/quoridor_96x96.png" alt="Quoridor icon" class="rounded">
  19. <h2>
  20. TIPE 2017
  21. </h2>
  22. <p class="lead">
  23. Développement d'intelligences artificielles pour le jeu de stratégie Quoridor.
  24. Ce projet est un travail de groupe réalisé sur l'ensemble de ma seconde année de prépa.
  25. </p>
  26. </div>
  27. <!-- Content -->
  28. <h3>
  29. <img src="https://img.icons8.com/color/48/000000/term.png" alt="term flat icon">
  30. Introduction
  31. </h3>
  32. <p>
  33. Le projet de Travail d'Initiative Personnelle Encadré (TIPE) a lieu pendant la deuxième année de classe préparatoire et
  34. constitue une épreuve orale durant les concours.
  35. </p>
  36. <p>
  37. Le thème pour le tétra-concours 2017 était intitulé <em>Optimalité : choix, contraintes et hasard</em>.
  38. Avec mon équipe consituée de quatre étudiants, nous avons opté pour la réalisation d'intelligences artificielles
  39. sur le jeu de stratégie Quoridor.
  40. </p>
  41. <h3>
  42. <img src="/include/images/quoridor_96x96.png" class="rounded-circle" alt="Quoridor icon" height=38 style="margin-bottom:5px">
  43. Notre travail
  44. </h3>
  45. <div class="row">
  46. <div class="col-lg-12 col-xl-6">
  47. <h4>
  48. Principe du jeu
  49. </h4>
  50. <p>
  51. <strong>Quoridor</strong> est un jeu de stratégie en tour par tour opposant deux joueurs.
  52. </p>
  53. <p>
  54. Chaque joueur cherche à atteindre le bord opposé du plateau. Pendant son tour, il n'est possible d'exécuter qu'une unique action :
  55. <strong>déplacer</strong> son pion sur une case adjacente ou placer une <strong>barrière</strong>.
  56. </p>
  57. <h4>
  58. Intelligences artificielles
  59. </h4>
  60. <p>
  61. Plusieurs types d'IA ont été conçues : <em>MinMax</em>, avec élagage <em>AlphaBeta</em>, statistique,
  62. ou bien par <em>réseau de neurones</em> entraîné par <em>algorithme génétique</em>.
  63. </p>
  64. <h4>
  65. Code source
  66. </h4>
  67. <p>
  68. Le projet a été implémenté en <em>Python 3</em>. Une interface utilisateur a été produite afin de faire des parties
  69. contre nos IA.
  70. </p>
  71. <p>
  72. Il est aussi possible de faire des parties contre une autre personne, en jouant à tour de rôle sur le même ordinateur.
  73. </p>
  74. <p>
  75. L'ensemble du code produit est disponible <a href="https://gogs.jovian-hersemeule.eu/DricomDragon/Quoridor">sur mon instance de <em>Gogs</em></a>, sous licence publique générale GNU
  76. (<em>GNU GENERAL PUBLIC LICENSE</em>).
  77. </p>
  78. <p>
  79. Après avoir installé <a href="https://www.python.org/downloads">Python 3</a> sur votre ordinateur, vous pouvez vous-même essayer
  80. de vaincre nos IA (attention, certaines sont particulièrement redoutables).
  81. </p>
  82. </div>
  83. <div class="col-lg-12 col-xl-6">
  84. <img class="img-fluid mx-auto d-block"
  85. src="/include/images/quoridor_window_1.png"
  86. alt="Fenêtre du jeu refaite avec Tkinter"/>
  87. </div>
  88. </div>
  89. <br/>
  90. <!-- Back button -->
  91. <?php
  92. include("../include/back-to-projects.php")
  93. ?>
  94. </main>
  95. <!-- Footer -->
  96. <?php
  97. include("../include/footer.php")
  98. ?>
  99. <!-- Scripts -->
  100. <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"
  101. integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo"
  102. crossorigin="anonymous"></script>
  103. <script src="/include/js/bootstrap.js"></script>
  104. </body>
  105. </html>