A ver, programar el turno es tan sencillo como crear una variable que diga en que turno esta e ir modificandola conforme haces una cosa u otra.
Me explico:
Jugador uno, elige casilla, hace click, se dibuja la X y el ultimo paso del algoritmo variable_turno = 2;
Le toca al jugador 2,
Jugador 2 elige casilla, hace click se dibuja el O y el ultimo paso variable_turno = 1
le toca al jugador 1.
Lo mejor es (desde mi punto de vista, no digo que sea lo mejor en cuanto a programacion profesional).
Una funcion principal que se encargue de llamar a las demas. En pseudocodigo:
Click_del_raton ()
{
A quien le toca? //Consultar la variable_turno
Donde fue el click? //Consultar la posicion y demas
Que simbolo he de usar? //Si turno == 1-> X, si turno == 2-> O
Ubicar_simbolo
Cambiar turno //si var_turno == 1 -> var_turno = 2, y al reves
}
Espero que sea esto a lo que te referias, y perdona, estuve un par de dias ausente.