def run
@control.status "Nehme 7 neue Buchstaben"
@rack.take_seven
@control.rack_updated
words = []
@control.status "Finde alle möglichen Wörter"
used_letters = @board.get_all_letters
@dic.each do |word|
if @rack.can_build_word(word, used_letters)
words << word
@control.words_found words.size
end
end
@control.status "Sortieren nach Wertigkeit"
words.sort! do |w1, w2|
Rating.get(w2) - Rating.get(w1)
end
if used_letters == []
@board.place_initial_word words.first
@control.board_updated
@rack.take_word words.first
@control.rack_updated
else
@control.status "Versuche Wörter zu platzieren"
words.each_with_index do |word, index|
@control.try_word index, words.size
if @board.try_word(word, @rack)
@control.board_updated
@rack.take_word word
@control.rack_updated
break
end
end
end
@control.points_updated @board.points
end