检查点
声明玩家已获胜
学习编写游戏规则并确定游戏的获胜者。
1require_relative "word_info" 2 3hidden_word = "a" 4 5found_letters = [] 6wrong_letters = [] 7 8loop do 9 info = word_info(hidden_word, found_letters) 10 11 puts info 12 puts 13 14 unless info.include?('_') 15 puts "You win, PATATE!" 16 break 17 end 18 19 print "Wrong letters: " 20 puts wrong_letters.sort.uniq.join(" ") 21 puts 22 23 print "Give me a letter: " 24 25 answer = gets 26 answer = answer.chomp.downcase 27 28 if answer == 'stop' 29 exit 30 end 31 32 if answer.length > 1 33 puts "You must give only one letter!" 34 elsif answer.empty? 35 elsif hidden_word.include?(answer) 36 puts "The letter is part of the hidden word" 37 38 if found_letters.include?(answer) 39 else 40 found_letters << answer 41 end 42 else 43 puts "Invalid letter" 44 wrong_letters << answer.upcase 45 end 46end
1$ ruby hangman.rb 2_ 3 4Wrong letters: 5 6Give me a letter: A 7The letter is part of the hidden word 8A 9 10You win, PATATE!
我们赢了!
这个测试很有趣,因为它也表明,即使隐藏的单词只包含一个字母,下划线的显示仍然成功。这种情况被称为边缘情况。

Quiz
单选题
输出结果为:
Hello
1 / 2