Docfile commited on
Commit
b65e376
·
1 Parent(s): d1e399a

Update index.html

Browse files
Files changed (1) hide show
  1. index.html +144 -16
index.html CHANGED
@@ -1,19 +1,147 @@
1
  <!DOCTYPE html>
2
  <html>
3
- <head>
4
- <meta charset="utf-8" />
5
- <meta name="viewport" content="width=device-width" />
6
- <title>My static Space</title>
7
- <link rel="stylesheet" href="style.css" />
8
- </head>
9
- <body>
10
- <div class="card">
11
- <h1>Welcome to your static Space!</h1>
12
- <p>You can modify this app directly by editing <i>index.html</i> in the Files and versions tab.</p>
13
- <p>
14
- Also don't forget to check the
15
- <a href="https://huggingface.co/docs/hub/spaces" target="_blank">Spaces documentation</a>.
16
- </p>
 
 
 
 
 
 
 
 
 
 
17
  </div>
18
- </body>
19
- </html>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  <!DOCTYPE html>
2
  <html>
3
+ <head>
4
+ <title>Jeu de Morpion</title>
5
+ <meta charset="UTF-8">
6
+ <meta name="viewport" content="width=device-width, initial-scale=1">
7
+ <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">
8
+ <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
9
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.0/umd/popper.min.js"></script>
10
+ <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script>
11
+ <style>
12
+ .square {
13
+ height: 100px;
14
+ width: 100px;
15
+ font-size: 50px;
16
+ text-align: center;
17
+ background-color: #fff;
18
+ border: 1px solid #000;
19
+ cursor: pointer;
20
+ }
21
+ </style>
22
+ </head>
23
+ <body>
24
+ <div class="container mt-5">
25
+ <div class="row justify-content-center">
26
+ <h1>Jeu de Morpion</h1>
27
  </div>
28
+ <div class="row justify-content-center">
29
+ <div class="col-md-6">
30
+ <div id="game-board" class="d-flex flex-wrap">
31
+ <div class="square" id="0"></div>
32
+ <div class="square" id="1"></div>
33
+ <div class="square" id="2"></div>
34
+ <div class="square" id="3"></div>
35
+ <div class="square" id="4"></div>
36
+ <div class="square" id="5"></div>
37
+ <div class="square" id="6"></div>
38
+ <div class="square" id="7"></div>
39
+ <div class="square" id="8"></div>
40
+ </div>
41
+ </div>
42
+ </div>
43
+ <div class="row justify-content-center mt-5">
44
+ <button class="btn btn-primary" id="reset">Rejouer</button>
45
+ </div>
46
+ </div>
47
+
48
+ <script>
49
+ // Initialisation des variables
50
+ let currentPlayer = "X";
51
+ let winner = null;
52
+ let gameBoard = ["", "", "", "", "", "", "", "", ""];
53
+
54
+ // Fonction pour changer de joueur
55
+ function changePlayer() {
56
+ currentPlayer = currentPlayer === "X" ? "O" : "X";
57
+ $("#current-player").text(currentPlayer);
58
+ }
59
+
60
+ // Fonction pour afficher le gagnant
61
+ function displayWinner() {
62
+ $("#game-board").off("click"); // Désactiver le clic sur les carrés
63
+ $("#reset").show(); // Afficher le bouton "Rejouer"
64
+ $("#current-player").text(winner + " a gagné !"); // Afficher le message de victoire
65
+ }
66
+
67
+ // Fonction pour vérifier si un joueur a gagné
68
+ function checkWin() {
69
+ const winConditions = [
70
+ // Toutes les conditions de victoire possibles
71
+ [0, 1, 2],
72
+ [3, 4, 5],
73
+ [6, 7, 8],
74
+ [0, 3, 6],
75
+ [1, 4, 7],
76
+ [2, 5, 8],
77
+ [0, 4, 8],
78
+ [2, 4, 6]
79
+ ];
80
+
81
+ for(let i = 0; i < winConditions.length; i++) {
82
+ const [a, b, c] = winConditions[i];
83
+ if(gameBoard[a] && gameBoard[a] === gameBoard[b] && gameBoard[a] === gameBoard[c]) {
84
+ winner = gameBoard[a];
85
+ displayWinner();
86
+ return true;
87
+ }
88
+ }
89
+
90
+ if(!gameBoard.includes("")) {
91
+ // Si le tableau est rempli sans gagnant, il y a match $("#game-board").off("click"); // Désactiver le clic sur les carrés
92
+ $("#reset").show(); // Afficher le bouton "Rejouer"
93
+ $("#current-player").text("Match nul !"); // Afficher le message de match nul
94
+ return true;
95
+ }
96
+
97
+ return false; // Aucun gagnant ou match nul
98
+ }
99
+
100
+ // Fonction pour mettre à jour le jeu
101
+ function updateGame() {
102
+ $("#game-board").empty(); // Vider le plateau de jeu
103
+
104
+ // Ajouter chaque carré au plateau de jeu
105
+ for(let i = 0; i < gameBoard.length; i++) {
106
+ const square = $("<div>").addClass("square").attr("id", i);
107
+ square.text(gameBoard[i]);
108
+ $("#game-board").append(square);
109
+ }
110
+
111
+ // Activer le clic sur les carrés
112
+ $("#game-board").on("click", ".square", function() {
113
+ if($(this).text() === "" && !winner) {
114
+ $(this).text(currentPlayer);
115
+ gameBoard[$(this).attr("id")] = currentPlayer;
116
+
117
+ if(checkWin()) {
118
+ return;
119
+ }
120
+
121
+ changePlayer();
122
+ }
123
+ });
124
+ }
125
+
126
+ // Fonction pour réinitialiser le jeu
127
+ function resetGame() {
128
+ // Réinitialiser les variables
129
+ currentPlayer = "X";
130
+ winner = null;
131
+ gameBoard = ["", "", "", "", "", "", "", "", ""];
132
+
133
+ // Cacher le bouton "Rejouer"
134
+ $("#reset").hide();
135
+
136
+ // Mettre à jour le jeu
137
+ updateGame();
138
+ }
139
+
140
+ // Appel initial de la fonction pour mettre à jour le jeu
141
+ updateGame();
142
+
143
+ // Activer le clic sur le bouton "Rejouer"
144
+ $("#reset").on("click", resetGame);
145
+ </script>
146
+ </body>
147
+ </html>