public void RodarPulso(int rotacao) { int max = Enum.GetValues(typeof(Rotacoes)).Cast <int>().Max(); if (rotacao < 0 || rotacao > max) { throw new Exception($"Parâmetro da ação inválido! Valores válidos: 0-{max}"); } if (!ContracaoCotovelo.Equals(Contracoes.FortementeContraido)) { throw new Exception("Movimento inválido! Não é possível girar o pulso se o cotovelo não estiver fortemente contraído."); } if (Math.Abs(rotacao - (int)RotacaoPulso) > 1) { throw new Exception($"Mudança de estado inválida! Movimento brusco, pulando estados. Estado atual: {(int)RotacaoPulso} ({RotacaoPulso}). Estado desejado: {rotacao} ({(Rotacoes)rotacao})."); } RotacaoPulso = (Rotacoes)rotacao; }
public Braco() { ContracaoCotovelo = Contracoes.EmRepouso; RotacaoPulso = Rotacoes.EmRepouso; }