def emitguess(state, misses)
possible = $WORDS.select {|w| w[Regexp.new("^" + state.gsub("_", ".") + "$")]}
used = state.chars.uniq
chars = $CHARS.select {|c| (not misses.include?(c)) and possible.any? {|w| w.chars.include? c}}
c = nil
while c == nil or used.include? c do
c = chars.sample
end
c
end