Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

83
Vistas
Un pequeño problema sintáctico en javascript- Tic Tac Toe

esto es parte del código en javascript para un juego de Tic Tac Toe. esta parte está comprobando la victoria de la diagonal en ambas direcciones. Las diagonales funcionan en la victoria de X pero no funcionan en la victoria de O. Básicamente escribí lo mismo, así que no estoy seguro de cuál es el error que cometí. ¿Cometí algún error sintáctico?

 function CheckWin_Diagonal(rowClicked, colClicked) { if (rowClicked == colClicked) { for (c = 0; c < rows; c++) { if (intBoard[c][c] != X_CLASS) break; if (c == rows - 1) { alert("PLAYER X WIN!!"); document.location.reload() } } } else { if (rowClicked == colClicked) { for (c = 0; c < rows; c++) { if (intBoard[c][c] != CIRCLE_CLASS) break; if (c == rows - 1) { alert("PLAYER O WIN!!"); } } } } } function CheckWin_Diagonal2(rowClicked, colClicked) { if (rowClicked + colClicked == cols - 1) { for (r = 0; r < cols; r++) { if (intBoard[r][(cols - 1) - r] != X_CLASS) break; if (r == cols - 1) { alert("PLAYER X WIN!!"); document.location.reload() } } } else { if (rowClicked + colClicked == cols - 1) { for (r = 0; r < cols; r++) { if (intBoard[r][(cols - 1) - r] != CIRCLE_CLASS) break; if (r == cols - 1) { alert("PLAYER O WIN!!"); } } } } }
about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

No he visto la lógica en absoluto, pero estás haciendo:

 function CheckWin_Diagonal(rowClicked, colClicked) { if (rowClicked == colClicked) { /** logic **/ } else { if (rowClicked == colClicked) { /** logic **/ } } }

Obviamente, el código en el segundo nunca se ejecutará porque está en la misma condición que el primero (por lo if nunca llegará allí).

Básicamente estás diciendo:

IF SOMETHING HAPPENED DO THIS, OTHERWISE IF THE SAME THING HAPPENED DO THAT

Entonces THAT nunca sucederá, porque atrapaste la condición en el primer IF y no hay OTHERWISE para exactamente la misma condición.

about 4 years ago · Juan Pablo Isaza Denunciar

0

Sus bloques else ejecutan la misma condición if que activó el else en primer lugar, lo que garantiza que nunca se ejecutarán.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda