Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

200
Views
¿Cómo detectar al ganador de Tic Tac Toe en Javascript con una matriz de 3 niños?

Soy un principiante y quiero hacer un juego de Tic Tac Toe. Quiero hacer una función para encontrar el ganador del juego y devolver "x" si gana x, "o" si gana o, "empate" si nadie gana y "error" si hay dos ganadores.

 function winner(x){ //x is an array that includes 3 child arrays, every child represents a row of tic tac toe matrix // example x =[["x","o","x"],["o","x","o"],["o","o","x"]] // It should return "x" because "x" player is the winner }

Lo intenté de muchas maneras, pero todavía no puedo hacerlo. ¿Me puedes ayudar?

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Supongo que los valores también pueden ser "" aparte de "x" u "o" (en caso de que el juego termine antes de tiempo). Además, en caso de que no haya un ganador y el juego aún tenga algunos valores vacíos, creo que es mejor devolver "incompleto".

 function winner(x) { console.log(`${x[0].join(' ')}\n${x[1].join(' ')}\n${x[2].join(' ')}`); winners = new Set(); // columns check for (let i = 0; i < 3; i++) { if (x[0][i] !== "" && (new Set([x[0][i], x[1][i], x[2][i]])).size === 1) { winners.add(x[0][i]); } } // rows check for (let i = 0; i < 3; i++) { if (x[i][0] !== "" && (new Set(x[i])).size === 1) { winners.add(x[i][0]); } } // diagonals check if (x[1][1] !== "" && ((new Set([x[0][0], x[1][1], x[2][2]])).size === 1 || (new Set([x[0][2], x[1][1], x[2][0]])).size === 1)) { winners.add(x[1][1]); } if (winners.size === 2) { return "error"; } if (winners.size === 0) { // completion check if (x.every(y => y.every(z => z))){ return "draw"; } return "incomplete"; } return winners.values().next().value; }

Explicación

Ve muchos objetos Set creados y manipulados en el código. Establecer en Javascript es una manera fácil de asegurarse de que no haya duplicados. También se utilizan en el código para comprobar si todo lo que se le pasa es igual.

Por último, obtener el valor en el Conjunto se realiza en la última línea.

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!