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