Solo lo he mirado por encima: una comparacion de entero contra nulo solo es cierta cuando el entero es 0, para cualquier otro valor siempre es falsa
Código:
//if(Njug) { //en tu codigo esto siempre se cumple porque Njug solo será 1 o 2
if(Njug == 1) {//ahora comparas contra
pjug = 2;
}
else {
pjug = 1;
}
//dicho de otra forma
pjug = (Njug == 1)? 1 : 2;
Este tipo de comparacion solo sirve cuando uno de los valores es 0, puedes hacerlo para simplificar el codigo pero tendras que añadir algo mas:
Código:
enum L_PLAYERS {
PLAYER1,
PLAYER2
};
//inicias asignando turno al jugador 1
pjug = PLAYER1;
//y en Jug cambias segun el valor tal como tenias
if(Njug) pjug = PLAYER2;
else pjug = PLAYER1;
//que es lo mismo que
pjug = (NJug)? PLAYER2 : PLAYER1;
De esta forma puedes crear una lista de textos para guardar los nombres de los jugadores y acceder a ellos de forma directa (de forma directa el primer elemento de una lista es el 0).
Saludos
vosk