Example #1
0
        /// <summary>
        /// Inverte a ordem sequencial de jogada
        /// </summary>
        private void Inverter()
        {
            Turno          turno     = this.eng.Roda;
            Lista <Player> jogadores = turno.Jogadores;

            switch (turno.GetSentido())
            {
            case SentidoJogada.Horario:
                turno.SetSentido(SentidoJogada.AntiHorario);

                Log.AddEventoInverterJogo();
                break;

            case SentidoJogada.AntiHorario:
                turno.SetSentido(SentidoJogada.Horario);

                Log.AddEventoInverterJogo();
                break;
            }
        }
Example #2
0
        /// <summary>
        /// Bloqueia o próximo jogador na lista
        /// </summary>
        private void Bloquear()
        {
            Turno          turno     = this.eng.Roda;
            Lista <Player> jogadores = turno.Jogadores;

            switch (turno.GetSentido())
            {
            case SentidoJogada.Horario:

                if (jogadores.GetIndexOf(turno.GetCurrentPlayer()) + 2 >= jogadores.Count)
                {
                    turno.SetCurrentPlayer(jogadores[0]);
                    Log.AddEventoBloquearJogador(turno.GetCurrentPlayer());
                }
                else
                {
                    turno.SetCurrentPlayer(jogadores[jogadores.GetIndexOf(turno.GetCurrentPlayer()) + 2]);
                    Log.AddEventoBloquearJogador(turno.GetCurrentPlayer());
                }
                break;

            case SentidoJogada.AntiHorario:

                if (jogadores.GetIndexOf(turno.GetCurrentPlayer()) - 2 < 0)
                {
                    turno.SetCurrentPlayer(jogadores[jogadores.Count - 1]);
                    Log.AddEventoBloquearJogador(turno.GetCurrentPlayer());
                }
                else
                {
                    turno.SetCurrentPlayer(jogadores[jogadores.GetIndexOf(turno.GetCurrentPlayer()) - 1]);
                    Log.AddEventoBloquearJogador(turno.GetCurrentPlayer());
                }
                break;
            }
        }