Skip to content

Commit 1ccbd51

Browse files
committed
Solved Morse Code. Must implement alphabet and solutions.
1 parent 33e352a commit 1ccbd51

File tree

1 file changed

+55
-0
lines changed

1 file changed

+55
-0
lines changed

solvers/morse_code.rb

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
require 'pry'
2+
3+
@entered_characters = []
4+
@solutions = {"shell" => 3.505, "halls" => 3.515, "abc" => 9.000}
5+
6+
def solve(entered_characters)
7+
possible_answers = []
8+
@solutions.each do |solution|
9+
@entered_characters.each do |character|
10+
if solution[0].include?(character) == false
11+
possible_answers.delete(solution[1])
12+
break
13+
end
14+
possible_answers.push(solution[1])
15+
end
16+
end
17+
if possible_answers.uniq.count == 1
18+
puts possible_answers.first
19+
@bomb.back_to_menu
20+
else
21+
prompt_user
22+
end
23+
end
24+
25+
def parse_morse_code(character)
26+
case character
27+
when '.-'
28+
return 'a'
29+
when '-...'
30+
return 'b'
31+
when '-.-.'
32+
return 'c'
33+
when '-..'
34+
return 'd'
35+
when '.'
36+
return 'e'
37+
when '....'
38+
return 'h'
39+
when '.-..'
40+
return 'l'
41+
when '...'
42+
return 's'
43+
else
44+
puts "Invalid Morse character."
45+
prompt_user
46+
end
47+
end
48+
49+
def prompt_user
50+
puts "Enter Morse character using '.' and '-'. Press Enter when finished."
51+
@entered_characters.push(parse_morse_code(gets.chomp))
52+
solve(@entered_characters)
53+
end
54+
55+
prompt_user

0 commit comments

Comments
 (0)