public static ITipoJogada GetTipoJogada(ETipoJogada tipoJogada) { switch (tipoJogada) { case ETipoJogada.Papel: return(new Papel()); case ETipoJogada.Pedra: return(new Pedra()); case ETipoJogada.Tesoura: return(new Tesoura()); default: throw new ApplicationException("Comando Inválido"); } }
public static bool Create(string text, Jogador jogador, ref Jogada jogada) { ETipoJogada tipoJogada = ETipoJogada.Papel; if (Enum.TryParse <ETipoJogada>(text, out tipoJogada)) { try { var result = GetTipoJogada(tipoJogada); result.Executar(); jogada = new Jogada(jogador, result); } catch (ApplicationException ex) { Console.WriteLine(""); Console.WriteLine(ex.Message); return(false); } return(true); } return(false); }