Exemplo n.º 1
0
        public MovimentosEnum NextPositionValidation()
        {
            var positions = TotalValidacoes.Where(x => x.Value < Configuration.GAME_VALIDATIONS)?.Select(entry => entry.Key).ToList();

            if (positions == null || positions.Count == 0x0)
            {
                return(MovimentosEnum.DISABLE);
            }

            if (m_lastPositon == MovimentosEnum.UNKNOWN)
            {
                var randomPosition = positions.Shuffle().First();

                CurrentIndex  = Validacoes.IndexOf(Validacoes.FirstOrDefault(x => x.Movimento == randomPosition));
                m_lastPositon = randomPosition;
            }

            else if (positions.Count == 1 && positions.First() == m_lastPositon)
            {
                CurrentIndex = Validacoes.IndexOf(Validacoes.FirstOrDefault(x => x.Movimento == m_lastPositon));
            }

            else
            {
                var randomPosition = positions.Shuffle().FirstOrDefault(entry => entry != m_lastPositon);

                CurrentIndex  = Validacoes.IndexOf(Validacoes.FirstOrDefault(x => x.Movimento == randomPosition));
                m_lastPositon = randomPosition;
            }

            TotalValidacoes[m_lastPositon]++;

            return(m_lastPositon);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Adiciona uma nova tentativa no total de tentativas, e em acertos caso for um movimento válido
        /// </summary>
        /// <param name="validationType"></param>
        public void AdicionarTotal(ValidacaoEnum validationType, MovimentosEnum currentMovement)
        {
            Total[currentMovement]++;

            if (validationType == ValidacaoEnum.VALIDO)
            {
                TotalAcertos[currentMovement]++;
            }
        }
Exemplo n.º 3
0
        /// <summary>
        /// Ação chamada após a finalização da validação de determinado movimento
        /// </summary>
        public void OnValidationFinish(object sender, ValidacaoEnum validationType)
        {
            Resultado.AdicionarTotal(validationType, m_currentMovement);
            FeedbackImage = validationType == ValidacaoEnum.VALIDO ? "/Images/Sequencia/Feedback/Acerto.png" : "/Images/Sequencia/Feedback/Falha.png";

            if (!NextImage.Equals(""))
            {
                m_currentMovement = ActivityManager.Instance.GetMovement(NextImage);
            }
        }
Exemplo n.º 4
0
        /// <summary>
        ///
        /// </summary>
        public void ResetGame()
        {
            Finalizado        = false;
            m_currentMovement = Resultado.Total.Keys.First();

            CurrentImage = ActivityManager.Instance.GetPositionPictogram(m_currentMovement);
            CurrentImage = "";

            Resultado.Reset();
        }
Exemplo n.º 5
0
        /// <summary>
        ///
        /// </summary>
        private void StartValidation()
        {
            MovimentosEnum result = (Control as ControlarPrincipal).IniciarValidacao();

            Model.UpdateImage(result);

            if (result == MovimentosEnum.DISABLE)
            {
                RunDialog();
            }
        }
Exemplo n.º 6
0
        public MovimentosEnum IniciarValidacao(TreinamentoEnum trainingType, Action <int> buttonAction)
        {
            TreinamentoGame.TipoTreinamento = trainingType;

            MovimentosEnum movimento = TreinamentoGame.GetPosition();

            if (!CanPlay || movimento != MovimentosEnum.DISABLE)
            {
                Animation?.Start(buttonAction);
            }

            return(movimento);
        }
Exemplo n.º 7
0
        /// <summary>
        /// Reseta o treinamento para iniciar um novo jogo
        /// </summary>
        public void ResetTraining()
        {
            RemakeButtonEnabled = false;

            // if (Resultado.PrimeiraValidacao) //Refazer o treinamento porém nem começou ? x)
            //     return;

            Finalizado        = false;
            m_currentMovement = Resultado.Total.Keys.First();
            NextImage         = ActivityManager.Instance.GetPositionPictogram(m_currentMovement);

            CurrentImage = "";
            ButtonText   = "Iniciar";

            Resultado.Reset();
        }
Exemplo n.º 8
0
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        public MovimentosEnum IniciarValidacao()
        {
            MovimentosEnum movimento = GameClass.NextPositionValidation();

            if (movimento != MovimentosEnum.DISABLE)
            {
                Animation?.Start();

                if (GameState == Enums.Gameplay.GameStateEnum.Paused)
                {
                    Animation?.Pause();
                }
            }

            return(movimento);
        }
Exemplo n.º 9
0
        /// <summary>
        /// Altera a imagem do pictograma baseado no movimento atual
        /// </summary>
        /// <param name="nextPosition"></param>
        public void UpdateImage(MovimentosEnum nextPosition)
        {
            if (Finalizado)
            {
                return;
            }

            if (nextPosition == MovimentosEnum.DISABLE)
            {
                Finalizado = true;
                return;
            }

            m_currentMovement = nextPosition;
            CurrentImage      = ActivityManager.Instance.GetPositionPictogram(nextPosition);
        }
Exemplo n.º 10
0
        /// <summary>
        /// Altera a imagem do pictograma baseado no movimento atual
        /// </summary>
        /// <param name="nextPosition"></param>
        public void UpdateImage(MovimentosEnum nextPosition)
        {
            if (Finalizado)
            {
                return;
            }

            if (ButtonText.Equals("Iniciar"))
            {
                ButtonText = "Próxima";
            }

            if (nextPosition == MovimentosEnum.UNKNOWN)
            {
                FinalizarTreinamento();
                return;
            }

            CurrentImage = NextImage;
            NextImage    = ActivityManager.Instance.GetPositionPictogram(nextPosition);
        }
Exemplo n.º 11
0
 public PositionTemplate GetPosition(MovimentosEnum positionId)
 {
     return(m_templates.Values.FirstOrDefault(x => x.MovementId == positionId));
 }
Exemplo n.º 12
0
 public string GetPositionPictogram(MovimentosEnum positionId)
 {
     return(m_templates.Values.FirstOrDefault(x => x.MovementId == positionId).PictogramDirectory);
 }
 public MovementValidationArgs(MovimentosEnum movimentoValidado)
 {
     MovimentoValidado = movimentoValidado;
 }
Exemplo n.º 14
0
 /// <summary>
 /// Retorna a média (TotalAcertos/Total) de um determinado movimento
 /// </summary>
 /// <param name="position"></param>
 /// <returns></returns>
 public double CalcularMedia(MovimentosEnum position)
 {
     return(Math.Round((double)(((double)TotalAcertos[position]) / ((double)Total[position])), 2) * 100);
 }
Exemplo n.º 15
0
 private bool CanCheck(MovimentosEnum movimentoValidado)
 {
     return(TotalValidacoes[movimentoValidado] >= Configuration.GAME_VALIDATIONS);
 }