From c5bf7a30029c9821df1298528a7b8068c1873bdc Mon Sep 17 00:00:00 2001 From: Li <“li.lea.dai@gmail.com”> Date: Mon, 14 Sep 2020 14:06:05 -0700 Subject: [PATCH 01/12] test --- lib/adagrams.rb | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/adagrams.rb b/lib/adagrams.rb index e69de29..a207a98 100644 --- a/lib/adagrams.rb +++ b/lib/adagrams.rb @@ -0,0 +1,3 @@ +def draw_letters + +end \ No newline at end of file From 52e20fac45e01c96bf7377129e9662be1714d85c Mon Sep 17 00:00:00 2001 From: Li <“li.lea.dai@gmail.com”> Date: Mon, 14 Sep 2020 15:40:10 -0700 Subject: [PATCH 02/12] wave 1 finished --- lib/adagrams.rb | 35 ++++++++++++++++++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) diff --git a/lib/adagrams.rb b/lib/adagrams.rb index a207a98..a978f6e 100644 --- a/lib/adagrams.rb +++ b/lib/adagrams.rb @@ -1,3 +1,36 @@ def draw_letters + letter_pools = [] + pool = {A:9, + B:2, + C:2, + D:4, + E:12, + F:2, + G:3, + H:2, + I:9, + J:1, + K:1, + L:4, + M:2, + N:6, + O:8, + P:2, + Q:1, + R:6, + S:4, + T:6, + U:4, + V:2, + W:2, + X:1, + Y:2, + Z:1} + pool.each do |letter, num| + num.times do + letter_pools << letter.to_s + end + end + return letter_pools.sample(10) +end -end \ No newline at end of file From cf97f6aed2a53c33ed6e8d138808a96a2d203b63 Mon Sep 17 00:00:00 2001 From: Li <“li.lea.dai@gmail.com”> Date: Mon, 14 Sep 2020 15:41:58 -0700 Subject: [PATCH 03/12] wave 1 finished --- lib/adagrams.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/adagrams.rb b/lib/adagrams.rb index a978f6e..279e295 100644 --- a/lib/adagrams.rb +++ b/lib/adagrams.rb @@ -28,9 +28,9 @@ def draw_letters Z:1} pool.each do |letter, num| num.times do - letter_pools << letter.to_s + letter_pool << letter.to_s end end - return letter_pools.sample(10) + return letter_pool.sample(10) end From 988c7ee1df35156738aed81cc3eae30a6485f747 Mon Sep 17 00:00:00 2001 From: Li <“li.lea.dai@gmail.com”> Date: Mon, 14 Sep 2020 15:42:43 -0700 Subject: [PATCH 04/12] wave 1 finished --- lib/adagrams.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/adagrams.rb b/lib/adagrams.rb index 279e295..4f58d6b 100644 --- a/lib/adagrams.rb +++ b/lib/adagrams.rb @@ -1,5 +1,5 @@ def draw_letters - letter_pools = [] + letter_pool = [] pool = {A:9, B:2, C:2, From aa9a0472505ebba075d5fdd46432d79e1c263da7 Mon Sep 17 00:00:00 2001 From: Li Dai Date: Tue, 15 Sep 2020 15:03:07 -0700 Subject: [PATCH 05/12] Stuck --- lib/adagrams.rb | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/lib/adagrams.rb b/lib/adagrams.rb index 4f58d6b..51a8a59 100644 --- a/lib/adagrams.rb +++ b/lib/adagrams.rb @@ -34,3 +34,33 @@ def draw_letters return letter_pool.sample(10) end +# input = ["a","d", "a"] +# letters_in_hand = [abcdefgh] +def uses_available_letters?(input, letters_in_hand) + result = [] + input_arr = input.split("") + temp_pool = letters_in_hand + input_arr.map do |letter| + if temp_pool.include?(letter) + temp_pool.slice!(temp_pool.index(letter)) + result << true + else + result << false + end + print temp_pool + + end + if result.include?(false) + return false + else + return true + end +end + +# begin +# temp_pool.slice!(letters_in_hand.index(letter)) +# rescue TypeError +# return false +# end +# +puts uses_available_letters?("aba", ["a", "b", "c", "e", "f", "g"]) \ No newline at end of file From 8520745bbc9b0a66f8d817686467db2bcdd588db Mon Sep 17 00:00:00 2001 From: Li Dai Date: Tue, 15 Sep 2020 15:51:55 -0700 Subject: [PATCH 06/12] wave 2 finished & passed test --- lib/adagrams.rb | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/lib/adagrams.rb b/lib/adagrams.rb index 51a8a59..676d766 100644 --- a/lib/adagrams.rb +++ b/lib/adagrams.rb @@ -34,21 +34,19 @@ def draw_letters return letter_pool.sample(10) end -# input = ["a","d", "a"] -# letters_in_hand = [abcdefgh] def uses_available_letters?(input, letters_in_hand) result = [] input_arr = input.split("") - temp_pool = letters_in_hand - input_arr.map do |letter| + temp_pool = letters_in_hand.map do |letter| + letter + end + input_arr.each do |letter| if temp_pool.include?(letter) temp_pool.slice!(temp_pool.index(letter)) result << true else result << false end - print temp_pool - end if result.include?(false) return false @@ -57,10 +55,3 @@ def uses_available_letters?(input, letters_in_hand) end end -# begin -# temp_pool.slice!(letters_in_hand.index(letter)) -# rescue TypeError -# return false -# end -# -puts uses_available_letters?("aba", ["a", "b", "c", "e", "f", "g"]) \ No newline at end of file From 6743f7430b8ac5285428c4ec79e1c92cbf39dc85 Mon Sep 17 00:00:00 2001 From: Rachael Gomez Date: Wed, 16 Sep 2020 10:59:42 -0700 Subject: [PATCH 07/12] added data structure for score chart --- lib/adagrams.rb | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/lib/adagrams.rb b/lib/adagrams.rb index 676d766..dd79c84 100644 --- a/lib/adagrams.rb +++ b/lib/adagrams.rb @@ -55,3 +55,15 @@ def uses_available_letters?(input, letters_in_hand) end end +def score_word(word) + score_chart = {%w[A, E, I, O, U, L, N, R, S, T] => 1, + %w[D, G] => 2, + %w[B, C, M, P ] => 3, + %w[F, H, V, W, Y] => 4, + %w[K] => 5, + %w[J, X] => 8, + %w[Q, Z] => 10} + print score_chart +end +word = "ada" +print score_word(word) From bad4b043bac6e2c77e67ebaf1d3ba2717144e24a Mon Sep 17 00:00:00 2001 From: Rachael Gomez Date: Wed, 16 Sep 2020 11:18:32 -0700 Subject: [PATCH 08/12] added each loops to output score --- lib/adagrams.rb | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/lib/adagrams.rb b/lib/adagrams.rb index dd79c84..045a077 100644 --- a/lib/adagrams.rb +++ b/lib/adagrams.rb @@ -56,14 +56,25 @@ def uses_available_letters?(input, letters_in_hand) end def score_word(word) - score_chart = {%w[A, E, I, O, U, L, N, R, S, T] => 1, - %w[D, G] => 2, - %w[B, C, M, P ] => 3, - %w[F, H, V, W, Y] => 4, + word = word.upcase + score_chart = {%w[A E I O U L N R S T] => 1, + %w[D G] => 2, + %w[B C M P ] => 3, + %w[F H V W Y] => 4, %w[K] => 5, - %w[J, X] => 8, - %w[Q, Z] => 10} - print score_chart + %w[J X] => 8, + %w[Q Z] => 10} + word_arr = word.split("") + points = 0 + word_arr.each do |letter| + score_chart.each do |key, value| + if key.include?(letter) + points = points + value + end + end + end + + print points end word = "ada" print score_word(word) From 737c80bfb44f5b2495f56020654c09a397cb0cf0 Mon Sep 17 00:00:00 2001 From: Rachael Gomez Date: Wed, 16 Sep 2020 11:26:05 -0700 Subject: [PATCH 09/12] extra points for length --- lib/adagrams.rb | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/lib/adagrams.rb b/lib/adagrams.rb index 045a077..62606ce 100644 --- a/lib/adagrams.rb +++ b/lib/adagrams.rb @@ -66,6 +66,9 @@ def score_word(word) %w[Q Z] => 10} word_arr = word.split("") points = 0 + if word.length >= 7 && word.length <= 10 + points = 8 + end word_arr.each do |letter| score_chart.each do |key, value| if key.include?(letter) @@ -74,7 +77,9 @@ def score_word(word) end end - print points + # print points + return points end -word = "ada" -print score_word(word) +word = "abcdefghi" + +score_word(word) From 6a83f3e13c53b01901bab4aed764256629e33471 Mon Sep 17 00:00:00 2001 From: Rachael Gomez Date: Thu, 17 Sep 2020 11:14:00 -0700 Subject: [PATCH 10/12] Added code for finding max. No tie code --- lib/adagrams.rb | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/lib/adagrams.rb b/lib/adagrams.rb index 62606ce..de71770 100644 --- a/lib/adagrams.rb +++ b/lib/adagrams.rb @@ -83,3 +83,19 @@ def score_word(word) word = "abcdefghi" score_word(word) + +def highest_score_from(words) + score_hash = {} + + words.each do |word| + score_hash[word] = score_word(word) + end + + score_hash.each do |k, v| + max_score = score_hash.max_by {|v|} + end + +end + +words = %w[asdflkj ieflkj slfkjd] +print highest_score_from(words) \ No newline at end of file From a0b58a9ec716f3f3a4c5f8770824d4d21d00990d Mon Sep 17 00:00:00 2001 From: Rachael Gomez Date: Thu, 17 Sep 2020 11:57:51 -0700 Subject: [PATCH 11/12] added max_tiles has and chekcing for word length of 10 for winner --- lib/adagrams.rb | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/lib/adagrams.rb b/lib/adagrams.rb index de71770..e59d1e3 100644 --- a/lib/adagrams.rb +++ b/lib/adagrams.rb @@ -90,12 +90,25 @@ def highest_score_from(words) words.each do |word| score_hash[word] = score_word(word) end + # score_hash.each do + # score_hash.sort_by {|word, score| word.length} + # end + # puts score_hash - score_hash.each do |k, v| - max_score = score_hash.max_by {|v|} + + max_score = score_hash.values.max + max_ties = score_hash.select { |k, v| v == max_score }.keys + + max_ties.each do |word| + if word.length == 10 + return { word => max_score } + # elsif word.length < word.length + # return {word => max_score} + end + end - + end -words = %w[asdflkj ieflkj slfkjd] +words = ["kkkb", "jz", "aa"] print highest_score_from(words) \ No newline at end of file From 329597e9678ba185d7811b7e01b6e1d76cdb026c Mon Sep 17 00:00:00 2001 From: Rachael Gomez Date: Thu, 17 Sep 2020 13:59:51 -0700 Subject: [PATCH 12/12] Added hash for best words so it passes rake --- lib/adagrams.rb | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/lib/adagrams.rb b/lib/adagrams.rb index e59d1e3..fd4307f 100644 --- a/lib/adagrams.rb +++ b/lib/adagrams.rb @@ -96,19 +96,28 @@ def highest_score_from(words) # puts score_hash - max_score = score_hash.values.max - max_ties = score_hash.select { |k, v| v == max_score }.keys + score = score_hash.values.max + best_array = score_hash.select { |k, v| v == score }.keys - max_ties.each do |word| + best_words = {} + best_array.each do |word| if word.length == 10 - return { word => max_score } - # elsif word.length < word.length - # return {word => max_score} + best_words[:word] = word + best_words[:score] = score + return best_words end - + end + best_array = best_array.sort_by {|word| word.length} + + + + best_words[:word] = best_array.first + best_words[:score] = score + return best_words + end -words = ["kkkb", "jz", "aa"] +words = ['AAAAAAAAAA', 'EEEEEEEEEE'] print highest_score_from(words) \ No newline at end of file