No importa el sistema. En un juego por turnos, siempre es un bucle mientras el juego no acabe.
byte Turno
byte MaxJugadores = 10
byte NumJugadores
boolean NuevaPartida = True
boolean Jugando
' bucle para jugar partidas.
Do
NumJugadores = ElegirCuantosJugadores("Cuantos jugadores participarán en este juego: ...?",2, MaxJugadores)
Llamada a PrepararPartida(NumJugadores)
Jugando = TRUE ' Esto puede ir en preparar partida, pero se deja aquí por claridad.
Turno = 0 ' " Ídem " "
' Bucle de turno para cada jugador, 2,3,4, etc...
' ==============================================
Do
Llamada a CederTurnoAljugador(Turno) ' y dicha función invocará otras.
' ... alguna otra cosa que fuere bien aquí
Turno = ((Turno + 1) modulo NumJugadores )
Loop While (Jugando = TRUE)
' ==============================================
NuevaPartida = PreguntarALosjugadores("Quereis jugar una nueva partida...?")
Loop While (NuevaPartida = TRUE)