Advertisement
minise

Jogo da velha

May 11th, 2023
14
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.72 KB | None | 0 0
  1. HTML:
  2.  
  3. ```
  4. <!DOCTYPE html>
  5. <html>
  6. <head>
  7. <meta charset="UTF-8">
  8. <title>Jogo da Velha</title>
  9. <link rel="stylesheet" type="text/css" href="style.css">
  10. </head>
  11. <body>
  12. <h1>Jogo da Velha</h1>
  13.  
  14. <table>
  15. <tr>
  16. <td class="cell"></td>
  17. <td class="cell"></td>
  18. <td class="cell"></td>
  19. </tr>
  20. <tr>
  21. <td class="cell"></td>
  22. <td class="cell"></td>
  23. <td class="cell"></td>
  24. </tr>
  25. <tr>
  26. <td class="cell"></td>
  27. <td class="cell"></td>
  28. <td class="cell"></td>
  29. </tr>
  30. </table>
  31.  
  32. <p id="outcome"></p>
  33.  
  34. <button id="reset">Reiniciar Jogo</button>
  35.  
  36. <script src="script.js"></script>
  37.  
  38. </body>
  39. </html>
  40. ```
  41.  
  42. CSS:
  43.  
  44. ```
  45. table {
  46. margin: 0 auto;
  47. border-collapse: collapse;
  48. }
  49.  
  50. td {
  51. width: 60px;
  52. height: 60px;
  53. font-size: 50px;
  54. text-align: center;
  55. border: 1px solid black;
  56. cursor: pointer;
  57. }
  58.  
  59. .cell:hover {
  60. background-color: lightgray;
  61. }
  62.  
  63. #outcome {
  64. font-size: 25px;
  65. }
  66.  
  67. button {
  68. font-size: 25px;
  69. padding: 10px;
  70. margin-top: 20px;
  71. cursor: pointer;
  72. }
  73. ```
  74.  
  75. JavaScript:
  76.  
  77. ```
  78. var player1 = "X";
  79. var player2 = "O";
  80. var currentPlayer = player1;
  81. var cells = document.querySelectorAll(".cell");
  82. var outcome = document.getElementById("outcome");
  83. var resetButton = document.getElementById("reset");
  84.  
  85. resetButton.addEventListener("click", resetGame);
  86.  
  87. for (var i = 0; i < cells.length; i++) {
  88. cells[i].addEventListener("click", makeMove);
  89. }
  90.  
  91. function makeMove() {
  92. if (this.textContent == "") {
  93. this.textContent = currentPlayer;
  94. checkWinner();
  95. changePlayer();
  96. }
  97. }
  98.  
  99. function checkWinner() {
  100. var winningCombinations = [
  101. ["0", "1", "2"],
  102. ["3", "4", "5"],
  103. ["6", "7", "8"],
  104. ["0", "3", "6"],
  105. ["1", "4", "7"],
  106. ["2", "5", "8"],
  107. ["0", "4", "8"],
  108. ["2", "4", "6"]
  109. ];
  110.  
  111. for (var i = 0; i < winningCombinations.length; i++) {
  112. var cell1 = document.getElementById(winningCombinations[i][0]);
  113. var cell2 = document.getElementById(winningCombinations[i][1]);
  114. var cell3 = document.getElementById(winningCombinations[i][2]);
  115.  
  116. if (cell1.textContent == currentPlayer && cell2.textContent == currentPlayer && cell3.textContent == currentPlayer) {
  117. outcome.textContent = currentPlayer + " venceu!";
  118. disableCells();
  119. return true;
  120. }
  121. }
  122.  
  123. return false;
  124. }
  125.  
  126. function disableCells() {
  127. for (var i = 0; i < cells.length; i++) {
  128. cells[i].removeEventListener("click", makeMove);
  129. }
  130. }
  131.  
  132. function changePlayer() {
  133. if (currentPlayer == player1) {
  134. currentPlayer = player2;
  135. } else {
  136. currentPlayer = player1;
  137. }
  138. }
  139.  
  140. function resetGame() {
  141. for (var i = 0; i < cells.length; i++) {
  142. cells[i].textContent = "";
  143. cells[i].addEventListener("click", makeMove);
  144. outcome.textContent = "";
  145. currentPlayer = player1;
  146. }
  147. }
  148. ```
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement