diff --git a/exercises/command_parser.rb b/exercises/done/command_parser.rb similarity index 60% rename from exercises/command_parser.rb rename to exercises/done/command_parser.rb index 1e644c8..0af0bf6 100644 --- a/exercises/command_parser.rb +++ b/exercises/done/command_parser.rb @@ -48,5 +48,36 @@ # => { action: :invalid } def parse_command(input) - # À compléter. + response = {} + parts = input.strip.split + + case parts[0] + when "help" + if parts.size == 1 + response[:action] = :help + else + response[:action] = :invalid + end + when "quit" + if parts.size == 1 + response[:action] = :quit + else + response[:action] = :invalid + end + when "play" + if parts.size == 2 && parts[1].match?(/\A\d+\z/) && parts[1].to_i > 0 + response[:action] = :play + response[:card] = parts[1].to_i + else + response[:action] = :invalid + end + else + response[:action] = :invalid + end + + response end + +print "Entrez une action : " +input = gets.chomp +puts parse_command(input)