D'accord, continuons à ajouter des fonctionnalités. Comment serait-il si nous ajoutions une option pour que les joueurs puissent choisir entre plusieurs jeux différents ? Par exemple, en plus du jeu du plus ou moins, nous pourrions ajouter un jeu où les joueurs doivent deviner un mot au hasard parmi une liste. Voici comment on pourrait le faire :
def guess_word(player_name)
words = ["ruby", "rails", "javascript", "html", "css", "python", "java", "csharp", "php", "swift"]
word_to_guess = words.sample
score = 100
max_attempts = 10
puts "#{player_name}, devine le mot parmi cette liste :"
puts words.join(", ")
max_attempts.times do |attempt|
user_guess = gets.chomp
if user_guess == word_to_guess
puts "Bravo ! Tu as trouvé le mot !"
return score - attempt * 10
else
puts "Ce n'est pas le bon mot. Essaye encore !"
end
if attempt == max_attempts - 1
puts "Désolé, tu n'as pas réussi à trouver le mot. C'était '#{word_to_guess}'."
return 0
end
end
end
puts "Choisis ton jeu : tape 'nombre' pour le jeu du plus ou moins, et 'mot' pour le jeu du mot à deviner."
chosen_game = gets.chomp
puts "Quel est ton nom ?"
player_name = gets.chomp
if chosen_game == "nombre"
difficulty_levels = {
easy: { max_attempts: 15, penalty: 5 },
medium: { max_attempts: 10, penalty: 10 },
hard: { max_attempts: 5, penalty: 20 }
}
puts "Choisis ton niveau de difficulté : easy, medium, hard"
chosen_difficulty = gets.chomp.to_sym
final_score = player_guesses(difficulty_levels[chosen_difficulty], player_name)
elsif chosen_game == "mot"
final_score = guess_word(player_name)
end
puts "Bravo ! Tu as terminé le jeu avec un score de #{final_score} points."
Dans ce script, le joueur peut choisir entre le jeu du plus ou moins et un nouveau jeu où il doit deviner un mot. Dans le jeu de devinettes de mots, le joueur a 10 tentatives pour deviner un mot choisi au hasard dans une liste.
J'espère que cela t'aide. N'hésite pas si tu as d'autres questions. Bonne programmation et à très vite !