Kodumu görmek için kodumu ruby yorumlayıcım çalıştır. Daha sonra, tam kelimeyi tahmin etmeye çalışın. Program, tahmininizin doğru olduğunu size söyleyecektir, ancak her harf yerine tek kelimeyi bir bütün olarak tahmin ederseniz oyunu bitirmez.Ruby Hangman oyunu, tam bir kelime girdiğimde, ancak sadece bir harf girdiğimde çalışmaz
Ayrıca kendim veya arkadaşım yerine bilgisayara karşı oynayabilmek için koduma bir Sözlük eklemek istiyorum!
def clear_screen
return system('cls') if Gem.win_platform?
system('clear')
end
loop do
incorrect_guesses = 0
puts ''
puts 'Welcome to Hangman, Win or lose your life!'
puts ''
puts 'Choose Category: It can be anything you desire!'
player1_category = gets.chomp
puts ''
puts 'Player 1, Please enter your desired word'
secret_word = gets.chomp.downcase
clear_screen
correct_guess = ['-'] * secret_word.length
clear_screen
puts "The category is: #{player1_category}"
puts 'Player 2, Please enter your guess'
loop do
puts '_ ' * secret_word.length
player2_guess = gets.chomp.downcase
clear_screen
if secret_word.include? player2_guess
secret_word.each_char.with_index do |letter, i|
next unless letter == player2_guess
correct_guess[i] = letter
end
puts "The category is: #{player1_category}"
puts ''
print 'Guess the word: '
print correct_guess.join('')
puts ''
puts 'Correct. Keep trying!!'
puts ''
else
puts "The category is: #{player1_category}"
puts ''
print 'Guess the word: '
print correct_guess.join('')
puts ''
puts "The word doesn't contain that letter '#{player2_guess.upcase}'"
puts ''
incorrect_guesses += 1
end
puts "Incorrect Guesses: #{incorrect_guesses}"
puts ''
if incorrect_guesses == 6
puts ''
puts '|---+---+- '
puts '| |'
puts '| 0'
puts '| |\\'
puts '| /\\'
puts '-+----------'
puts "The Secret Word is '#{secret_word.capitalize!}'"
puts ''
break
end
next unless secret_word == correct_guess.join('')
puts ''
puts ' (@)'
puts ' ^\\|'
puts ' |/^'
puts '____|_____'
puts ''
puts 'You Win!'
puts ''
puts "You correctly guessed the word '#{secret_word.capitalize!}'"
break
end
end
Hi yardımcı olmalıdır 't' StackOverflow'daki hoş geldiniz. Birkaç şey - bir hatayla karşılaşırsanız lütfen tam yığın izlemesini ekleyin. Ayrıca lütfen probleminizin özünü vurgulayın ve çok fazla teğet bilgi içermemeye çalışın. Ruby yazmak, 'pry' gibi bir hata ayıklayıcı ile uzun bir yol kat edebilirsiniz. –