Open JuaniRaggio opened 3 weeks ago
El problema aca es la coma ,
que te esta separando la expresion en dos terminos. Te queda:
localJ > localC ? ++(jugador->pts):(localC > localJ ? ++(comp->pts):++(comp->pts)
++(jugador->pts));
Lo que quiere decir que SIEMPRE se va a estar ejecutando ++(jugador->pts))
dentro de la funcion. Agregando un parentesis a la expresion (localJ > localC ? ++(jugador->pts):(localC > localJ ? ++(comp->pts):(++(comp->pts), ++(jugador->pts)));
) se soluciona aunque queda un poco feo el condicional tan largo en una sola lineaNo funcionaba porque el operador coma tiene menor precedencia, cualquiera fuera el resultado terminaba haciendo el ++(jugador->pts) final en casos que no correspondía. El operador condicional se debería usar para que devuelva un valor u otro. Si querés realizar alguna acción en base a una condición, es más natural usar el if
Hola, buenas tardes! Tenia una duda en una de las funciones del juego, porque lo habia hecho con operador ternario pero ganaba siempre el usuario, despues empece a usar ifs y me funciono, intuyo que en el caso de el operador ? esta aumentando siempre la puntuacion del jugador pero no entiendo porque. Esta en la funcion cmpManos, esta comentada la linea que me provocaba el fallo