File tree Expand file tree Collapse file tree 1 file changed +55
-0
lines changed Expand file tree Collapse file tree 1 file changed +55
-0
lines changed Original file line number Diff line number Diff line change
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
You can’t perform that action at this time.
0 commit comments